Training plan

Your own games decide what you work on. Print it and put it somewhere you look.

The hours you will actually spend, not the ones you hope for.

Leave it empty if you would rather not have a number on it.

Most recent first. More games means firmer numbers and a longer wait.

Straight from the public API into this tab. Nothing is uploaded, nothing is stored, and the plan is put together on your own machine.

How the plan is put together

  1. Your games are read from the public API of Lichess or Chess.com straight into this browser tab. No account here, no upload, nothing stored on a server — there is no server that could store it.
  2. Results, clocks and openings are counted first. Win rate by colour, by time control, by opponent strength and by game length; how your games end; how your sessions run and what a loss does to the game after it. This part takes seconds and is the larger half of the plan.
  3. Stockfish then goes through a sample of your games in the same tab — about a minute on a computer. It judges the positions where you actually had a choice, and it answers three things the counting cannot: which phase of the game you play worst, whether the clock costs you real quality, and whether you have been losing games you had already won.
  4. At most three focus areas come out of it, each with the numbers behind it and something to do about it. Where nothing stands out, the plan says so rather than inventing a weakness.
  5. The week is split by rating band and by the hours you have. The split is drawn from published survey data and coaching sources, not from a controlled study — there is no controlled study of chess training mixtures, and anyone who claims precision here is inventing it.
  6. Print it. The PDF is your browser's own print output, so the text stays selectable and nothing is generated anywhere else.

Questions before the first plan

Is this a free chess training plan?

Yes, and free without an asterisk: no account, no trial, no move limit, nothing kept back for a paid tier. Everything runs in your browser, which is also why there is no daily quota to run out of.

How many games does it need?

Thirty usable games at the very least; a few hundred make every number firmer. Aborted and unrated games are left out, and any figure resting on fewer than twelve games is not shown at all rather than shown softly.

Will it tell me how long my rating goal takes?

It will, and it will not flatter you. The estimate is turned around from survey data on players who actually improved: you give the target, it gives a span. Above 1600 a quarter of players gain nothing at all in a year despite regular practice, and the plan says that instead of leaving it out. Where a goal is not realistic at the hours you named, it says that too.

What can it not tell me?

Which tactical motifs you miss — the APIs carry no motif data, and tagging it ourselves would be uncalibrated research. Why something happens, as opposed to that it happens: an evening slump is visible, its cause is not. And nothing at all about a game the engine sample did not look at.

Why does it not just show me a blunder rate per phase?

Because at this sample size that number would be invented. Roughly eighty-five judged moves per phase carry maybe a dozen blunders; telling two phases apart by blunder rate would need several hundred. Average move accuracy over the same moves is a far steadier measure, so that is what the plan shows, with the blunders counted beside it as plain numbers.

Does my data leave the browser?

No. Games come from the public APIs directly into this tab, the engine is WebAssembly running here, and the plan is assembled on your own machine. The only thing kept between visits is the engine's verdict on individual positions, in a local database that clears itself after thirty days and has an erase button on this page.