Skip to main contentSkip to footer

remember everyopening

Try the app

Live demo: play the move. The menus work too.Toy repertoire · nothing is saved

Most trainers ask an engine what is best. ChessSRS asks what you prepared.

Your repertoire is the answer key, including the traps you set for natural opponent mistakes. No engine decides whether you were right.

Reviews run on spaced repetition, so lines you know fade into the background and lines you are shaky on come back sooner.

How it works

From a PGN file to a daily habit.

Import

Drop in a PGN. Chapters and nested variations come along.

Play

Recall each move on the board. Right answers pass quietly; mistakes show you the line.

Return

Lines resurface just before you would forget them.

[Event "White vs French"] [Chapter "Advance Winawer"] 1. e4 e6 2. d4 d5 3. Nc3 Bb4 4. e5 c5 5. a3 Bxc3+ 6. bxc3 Ne7 7. h4 (7. Qg4 Qc7 8. Qxg7 Rg8)
Play the move from memory
Winawer · 7.h4Due now
Advance · 4…Nc6Due now
Exchange · 4.Bd3In 2 days
Tarrasch · 3…Nf6In 9 days
King's Indian AttackIn 3 weeks
Principles

Built to stay out of your way.

Your lines are the answer key

The expected move is yours, not an engine's, including traps for opponent mistakes.

Quiet by design

No XP, badges or streaks. Just the board and your next move.

Offline and private

No account and no cloud. Your repertoire stays on your device.

Open source

Free software under GPL-3.0, built on the Lichess mobile foundation.

Deep Architecture

Engineered for mathematical rigor.

FSRS Memory Model →

Continuous power-law forgetting curves tailored to chess trees. Target retention is analytically bounded between 70% and 97%.

Graph-Aware Traversal →

Repertoires modeled as DAGs. Transpositions share review states across chapters, with soft lapse contagion decay.

Pure Domain Architecture →

Strict layer isolation. The domain layer is pure Dart, free of Flutter widgets and SQLite, built on Lichess Mobile.

30+ System Invariants →

Formal system contracts verified by mechanical gates: zero-data-loss imports, immutable coordinates, and atomic persistence.

Explore Documentation Hub →

Download

Get ChessSRS.

Free and open source — Linux and Android.

  • Free forever — no ads, no subscription.
  • No account. Your repertoire stays on your device.

Latest builds for Linux and Android appear here.

FAQ

Questions, answered.

Who is ChessSRS for?

Players who already have opening material — PGN files or Lichess studies — and want to keep it under recall pressure. It trains remembering, not opening theory from scratch.

Is ChessSRS free?

Yes. It is free software under GPL-3.0, with no ads and no subscription. If it helps your training you can buy me a coffee to support development.

Do I need an account?

No. Everything is stored in a database on your device, and reviews work offline once your studies are imported.

How do I add my openings?

Import a PGN file or paste a Lichess study URL or ID. Chapters and nested variations come along.

How does it decide what is due?

A spaced-repetition scheduler. Lines you remember come back later; lines you miss come back sooner.

Does an engine check my moves?

No. The right answer is the move in your repertoire, even when the opponent's move in the line is inaccurate.

Which platforms does it run on?

ChessSRS is built with Flutter from one codebase. The release workflow packages a Linux tarball and Android testing builds (APK and AAB); iOS, Windows, macOS and Web are not packaged. No public release is published yet — the releases page will carry the first installable builds.

Is it affiliated with Lichess?

No. ChessSRS is an independent fork of Lichess Mobile, released under the same GPL-3.0 licence.

Open source

Free software, built in the open.

ChessSRS is free forever. If it helps your training, you can chip in to keep development going.