Skip to content

What is pawnbook?

pawnbook is a self-hosted chess trainer. The content it generates is drawn entirely from your own play: every game is analysed, every mistake becomes a drill card, and your opening choices build a personalised repertoire that coaches you in future games.

A single-player progression game whose content is generated by your own failures.


Design pillars

Mistakes are content. Every inaccuracy, mistake, and blunder you make in a real game becomes a puzzle in your personal drill queue. The worse you play, the more material you generate. There is no separate puzzle set to import or purchase.

Honest feedback. Numbers are given as numbers, not adjectives. The review page shows win-percentage loss per move, accuracy as a 1–100 score, and strength estimation as an Elo with an explicit standard error band. A single game has an irreducible noise floor of roughly ±250 Elo; the rolling estimate over 10 games is more reliable. The system does not soften these figures.

Human-shaped difficulty. The Maia family of opponents plays like humans at specific Elo levels — they make the same kinds of mistakes humans make, not the same kinds of mistakes engines make. Playing a Maia-1500 opponent at 1500 Elo produces losses that a 1500 player would realistically inflict, and the puzzles generated are those a 1500 player would realistically miss.

Respect player's time. Session shapes range from a 3-minute drill to a 45-minute deep session. The system tracks a day-streak but hides it if you prefer. The empty drill queue — every card graduated or not yet due — is the win state, not a broken screen.


Session loops

pawnbook operates on four nested timescales:

LoopDurationWhat happens
MovesecondsYou play a move; the engine responds; the position is pre-evaluated in the background
Game10–30 minA complete game; analysis runs post-game; new puzzle cards enter the queue
Session15–40 minOne or more games, optionally followed by the drill queue
ImprovementweeksElo rises or falls; the drill queue shortens; the opening repertoire adapts

Session shapes — you do not have to complete the full loop every time:

  • Drill-only: open the app, work through due cards, close. Under 15 minutes on a mature queue.
  • One game: play a single game and skip the drill. The mistakes enter the queue for next time.
  • Deep session: one or more games, post-game quiz on each, then the full due queue.
  • Glance: check the dashboard Elo, due count, and streak. No game, no drill.

Opponent roster

Maia models

Maia is a family of neural networks trained to predict human chess moves at specific Elo levels. Each model was trained on games played by humans at approximately that rating on Lichess.

IDTypeApproximate Elo
maia-1100Neural net (lc0)1100
maia-1200Neural net (lc0)1200
maia-1300Neural net (lc0)1300
maia-1400Neural net (lc0)1400
maia-1500Neural net (lc0)1500
maia-1600Neural net (lc0)1600
maia-1700Neural net (lc0)1700
maia-1800Neural net (lc0)1800
maia-1900Neural net (lc0)1900
maia-2200Neural net (lc0)2200 (optional)
maia3-*Neural net (Maia-3/UCI)continuous Elo input

Maia opponents make human-like mistakes. A Maia-1300 will miss a back-rank checkmate. A Maia-1800 rarely will. This makes them useful opponents for training: the puzzles they generate reflect moves a real player of that level would consider.

Stockfish levels

Stockfish opponents use reduced search depth to approximate specific playing strengths. Their tactical play is more precise than Maia at the same rating — they do not make the same kinds of blunders humans make, but they cannot see as deep into the tree.

IDApproximate Elo
sf-14001400
sf-16001600
sf-18001800
sf-20002000
sf-22002200
sf-25002500
sf-29002900
sf-maxMaximum strength

drawfish

drawfish is an unrated novelty opponent that plays for stalemate rather than checkmate. Games against drawfish do not affect your Elo. It requires a separate binary.


Anti-goals

These are things pawnbook intentionally does not do:

No multiplayer. The system is calibrated around your games against specific engine opponents. Importing games from external sources or playing against human opponents would break the analysis calibration and the repertoire loop.

No opening book trainer. pawnbook builds a repertoire from your own play, not from a master database. The goal is to coach what you actually play, not what theory says you should play.

No cloud sync. Your game history, puzzles, and repertoire are in a single SQLite file on your machine. You control it; you back it up.

No LLM commentary. Move annotations are numbers: win-percentage loss, centipawn loss, findability. There is no generated prose explanation of why a move was bad. The puzzle positions speak for themselves.

Released under the MIT License.