Chess opening trainer

Train openings against what people actually play

OpeningScrim turns your repertoire into something you can play against: opponents sampled from millions of real Lichess games at your level, honest verdicts on how you come out of the opening, and spaced repetition that keeps every line sharp.

Free demo, one click on the sign-in page. Engines run in your browser — nothing to install.

Bc5 47%
Nf6 33%
In your prep · 3.Bc4
vs Lichess ~1600

After 3.Bc4, this is what ~1600 players reply — and where your next opponent's move comes from.

One loop, four steps

That's the whole app. Everything below exists to feed this loop.

1

Build

Record the openings you want to play as a move tree — or import a PGN and get chapters, like a Lichess study.

2

Scrim

Play your prep against the moves real opponents choose at your level.

3

Practice

Short daily sessions keep your moves in memory and rework your mistakes.

4

Improve

Reports on your repertoire and your real games show you what to fix next.

Scrims

Rehearsal for the games that count

A scrim is a practice match for your openings. The opponent's moves are sampled from real games: Lichess players at a rating you choose, master games, one specific player, or Stockfish capped at a set strength. You face what people actually play — not just what books discuss.

The goal is not checkmate. When the game leaves your prep, you keep playing a few moves on your own, and the position you actually reach is what gets judged.

  • WonYou stayed in your prep the whole game, or left it and still stood well.
  • HeldSlightly worse, but nothing went badly wrong. You found a gap in your prep — which is exactly what training is for.
  • LostA blunder, a clearly worse position, or checkmate.

Italian Game · scrim

vs Lichess 1600

9.h310.d411.Re1‖12.Nd513.Qf314.Bg515.Rad116.c3

Left your prep at move 11

HeldJudged at move 16: −0.3+ 2 positions added to your practice queue

Builder

Three opinions on every position

While you build, three panels weigh in: a cloud database of positions analyzed far deeper than any browser engine could manage, your local Stockfish for an instant second opinion, and a "what humans play" panel with win rates from millions of games. Build where they agree, investigate where they don't.

Chapters work like a Lichess study, and positions are identified by what's on the board — transpositions collapse into one line automatically instead of being drilled twice.

Cloud eval

ChessDB · analyzed deep

  • Nf6+0.25best
  • Bc5+0.30
  • Be7+0.55

Stockfish

in your browser · depth 24

+0.3

3...Nf6 4.d3 Bc5 5.c3 d6

What humans play

Lichess 1600–1800

  • Bc547%
  • Nf633%
  • h64%

Practice

Asked again right before you'd forget

Every move of your repertoire becomes a flashcard scheduled with spaced repetition (FSRS): new lines come back often, solid lines rarely. The same line in two chapters is still just one card.

And every mistake the app catches — in a scrim, a bot game, tactics or an imported game — returns as a drill until you get it right twice in a row. Fix the line in your repertoire instead, and the drill retires on its own.

Due today

12
New 3Learning 2Young 4Mature 3
  • ♞Repertoire card · Italian, your move as White
  • ⚠Drill · you missed this twice in scrimsretires after two correct answers

Insights

Three ways to find what to fix next

None of them tell you to "study more". They point at specific moves.

Leak finder

Import your real games — from Lichess or a PGN — and each one is compared move-by-move with your repertoire: forgotten prep, unpunished surprise moves, positions where you had no answer at all. Ranked by how often they happen and what they cost.

6...Ng4?! went unpunished · 3 games · -1.1 pawnsSend to practice →

Repertoire health

The health report plays your entire repertoire against a chosen level and evaluates where every line ends up: better, balanced or worse — plus the common replies you haven't covered yet, and which of your lines carry the most risk.

Better 62%Balanced 28%Worse 10%

14 common replies not covered yet

Opponent dossiers

Enter a Lichess username or upload games, and you get a scouting report built from what that player personally does: their opening tree, where they usually go wrong, where they'd drag you out of prep. One click starts a scrim against their own moves.

Plays 2.Bc4 in 71% of gamesScrim their moves →

Also in the box

♟

Full games vs Maia

Maia is trained on millions of human games to play like a person at each rating — with human mistakes, not an engine's dialed-down ones. Anchor a game to a repertoire to rehearse your prep before playing on.

⚡

Tactics without a warning label

Half the positions hide a winning tactic, half are quiet — real games never tell you which. You judge first, then prove it. Crying wolf costs you just like missing a real one.

⚙

Everything runs in your browser

Stockfish and the Maia nets run as WebAssembly right in your tab. Nothing to install, no waiting on a server engine.

⇄

PGN in, PGN out

Multi-game PGNs import as chapters; exports are clean one-game-per-chapter PGNs. Your repertoire is never locked in.

♞

Find out how your prep actually holds up

Bring a PGN, pick a starter repertoire, or build from scratch. If you'd rather look around first, the demo account has data in it — one click on the sign-in page.