I scanned the entire Lichess puzzle database against my opening repertoire and pulled out only the puzzles whose start position is reachable after my own theory. That means every tactic I drill is one I could realistically face in a real game, not generic puzzle-rush material.
I'm a candidate master and I built DawnChess for myself first. It uses Lichess in three ways:
Lichess puzzle database as the source of theory-following tactics
game fetch via read-only OAuth, then Stockfish-analyzed locally to find your missed tactics and theory deviations
Lichess opening explorer to weight your repertoire moves by real game popularity, so the most common opponent replies get drilled first
A few weeks ago I played an online game and the 2k rated tactic on the board was the exact one I had drilled the week before. It occurred one move past my opening book.
Adjustable but default is around this:
50% openings drilled in priority order from Lichess explorer popularity
25% endgames and fundamentals including 8 progressive phases of must-know endgames and positional content I built by hand
25% tactics that strictly follow your theory, plus the missed tactics from your own games calculated using stockfish.
Spaced repetition is FSRS-6, the latest version. Even if you delete and reimport a repertoire, your training progress survives. Color-coded retention bands show which moves you'd remember in 3 weeks vs 3 months vs a year, based on how you've performed on them so far.
Pictures and features
Study plan dashboard. Set a target date, e.g. tournament in 6 weeks, and the algorithm calculates daily moves needed to be ready in time. Every area shows progress separately. One Start Session button trains all of them in the right ratio.
Tactic that occurred 1 move past book. This is a core feature. A real puzzle from the Lichess puzzle DB, reachable from a position I actually play, drilled before the game happened.
Tactic that occurred 1 move past book
Missed tactic from a game I played. Auto-imported via Lichess OAuth (read-only), no manual work. Multi-move continuations are graded as one unit so you have to find the whole sequence.
Missed tactic from a game I played
Theory deviation detection. When you play an off-book move in your own games, the program flags it and asks you to recall the correct one during training.
Master games with key positions. 10 games per pre-made course, with key moves marked. Walks you through how strong players handled your exact lines, with progressive hint levels (full arrow first, square highlight on the next rep, no hints after that).
Master games with key positions.
Exploration mode in training. Explore freely with or without Stockfish, master DB lookups, your repertoire moves shown as arrows. So you get to understand a position if needed.
Explore shows Nakamura vs Carlsen game to browse and user can browse freely
If you make a wrong move in training, it shows the correct move arrow plus evals and checks if a master has played your move, so you can tell whether your idea was reasonable or just bad.
Review page. All theory mistakes, general mistakes, and tactical misses in one place. Filter by endgame / offensive tactic / defensive tactic / by repertoire. Add comments, draw arrows, save anything to your study plan.
Made the same misstake 3 times in this position.
Master-game matching. Find which top games followed your own games the longest. I had one that matched Arjun Erigaisi vs Vincent Keymer 2024 for 19 moves, and could then see how Keymer handled the position.
Importing
When you import your repertoire through lichess study or pgn you will be able to filter popularity, rating and proximity and then add them automatically, you will also get to add endgame puzzles and weight your repertoire. All of this only following your theory.
If you don't have a repertoire to import, there is a fully built repertoire that I'm grinding myself, with updates that propagate to existing users automatically.
Everything is wired in: the tactics that follow your theory, the endgames, 10 annotated master games per opening, and the full endgame and fundamentals path.
One Start Session button trains them all together. You can be drilling serious chess improvement within a few minutes.
Endgame walkthrough. Some require you to survive 15 moves vs the engine, or convert a winning position. Multiple-choice questions and engine challenges test that you actually understood the technique, not just memorized the move.
All of this included for everyone if they want
Watch page. Autoplay through your repertoire with chapters, comments, and arrows. Lets you absorb a line passively before drilling it.
Autoplay through your repertoire.
Library. Upload PGNs, add multiple-choice questions to positions, draw arrows, build engine challenges, share content publicly or with friends via private links.
Many options available for editing pgn.
Preparation. See where any Lichess (or Chess.com) player has the worst win rate (their top 100 worst lines). Combine Lichess + Chess.com + masters database accounts into one explorer view. Activity heatmaps and opening stats for any user. All your theory lights up in the explorer aswell.
I will 100% check my opponents worst lines in next tournament I play
Mobile works. Native iOS and Android apps, full feature parity.
It's free. No signup required to try the demo. Paid tiers will come later.
I use this daily for my own training. I will keep adding lines and content to the courses, and updates propagate to existing users automatically. Lichess API calls are rate-limited and cached on my side.
Discord: https://discord.gg/cvHF8js7R3 Happy to answer anything directly there.
I hope this helps people get to 2k.