How it works

A second is the analyst a strong player leans on between rounds: the one who goes back through the games, works out what actually went wrong, and says it straight. That kind of help has mostly been reserved for elite boards. This does that job for your games. Here’s exactly how, step by step.

What a second actually does

It reads your games and gives you a straight read back. Not a grade, a diagnosis. Every read starts from positions you actually played, never generic advice.

Most players don’t have an exotic weakness. When the real problem is unglamorous (you’re dropping pieces in won positions), a good second doesn’t dress it up; that’s what your read says, in plain words. And when the fix is a free video or a Lichess puzzle, that’s where it points you.

Where it starts, and where it goes

You start free: sign in with Lichess and it builds your profile from your recent games. It needs about fifty rated games from the last four months to say anything worth reading. Then it writes your first insights report, also free, once: a close read of 20 recent games that carry Lichess’s own analysis (your playing style in plain words, your accuracy from opening to endgame, and the focus areas to train).

Those focus areas open your Learn page, and the training there is free with or without a season: each one pairs the finding with a concept to learn (a free video or a Lichess study) and Lichess puzzle themes to drill it at your level. The puzzles open on Lichess, and your progress updates when you come back.

Once your profile is built, a single game can be reviewed too, right after you play it, on its Lichess page, with the Middlegame for Lichess extension. Those reviews are free right now.

A season is the long game: roughly three months with your second in your corner. It opens with the full 40-game report, refreshed monthly, and then the weekly check-ins begin, each written from the games you played that week, with your trends building up behind them. Seasons are free right now: no code, no checkout; you start one from your Season page. And a full sample season is public. Every panel is the real product; only the player is fictional. The sections below show exactly how it’s done: how a game is reviewed where you played it, how your games are read, how it decides what was really a mistake, how your scores are computed, how it’s all put in plain words, what arrives in the weekly check-in, and what a season of reads adds up to.

See a sample season →

Reviewing a game where you played it

Middlegame for Lichess is a Chrome extension that puts a review panel beside your finished games on Lichess. One click and the review is written right there on the game’s page (a headline, your accuracy and errors, what happened in plain words, and the moments that decided it), with the full review a click away here.

It reads the game the way every review here is read: from Lichess’s own server analysis, put into words for a player at your rating, so it needs your profile first. If the game hasn’t been analysed yet, the panel shows you Lichess’s own button for that; once you’ve pressed it and the analysis lands, the review starts on its own.

It works only on your own games, and only once they’re over. Never during play. It signs in with your Lichess account and asks for no Lichess permissions. It runs in Chrome; on another browser, reviews still arrive with every insights report, no extension needed.

Reading your games

Every review starts from Lichess’s own server analysis: the same analysis behind the eval graph on your Lichess board. We don’t run a second engine over your game and ask you to trust ours instead: the review reads the analysis you already have, so the numbers in your review and the numbers on your board are the same numbers.

Not every game has been analysed yet. When one hasn’t, we say so and point you to the game’s own Request a computer analysis button on Lichess. You press it, Lichess analyses the game, and the read picks up from there. We never press it for you.

Deciding what was really a mistake

Win% and accuracy use Lichess’s own model (the identical math behind the numbers on your Lichess board), so a move it calls a blunder is a blunder by the same standard: a real drop in your winning chances. Line them up against your own Lichess board and they should agree.

Behind your profile’s skill scores, it looks twice before anything gets called a mistake: a fast first pass screens every game for the moves that look costliest, and because a quick scan can throw up a phantom swing on a quiet move, each flagged move is re-examined with a far deeper search before it counts. In a game review, the deep look is Lichess’s own analysis, and the same standard applies: only a real drop in your winning chances is called a mistake.

Scoring the shape of your play

The 1–10 attribute scores on your profile are a different kind of number: ours, not Lichess’s. The code computes each one from our own engine read of your games and ranks you against a large sample of real games from players in your rating band; run the same games through twice and you get the same number.

They’re only as good as the games behind them, which cuts both ways. Where your sample is thin, the score’s confidence is marked lower, and if there aren’t enough games to say anything solid yet, the profile says exactly that, instead of guessing. Every game you add puts more positions behind each score, and the marked confidence rises with the count.

Putting it in plain words

The plain-English read (your profile write-up, game reviews, the weekly check-ins) is written by a language model, kept on a short leash. It only explains what the engine already found: it never decides your scores, and every figure it mentions has to trace back to the engine’s analysis.

If it cites a number the engine didn’t produce, the text is rejected and regenerated. And if that keeps failing, you get the plain numbers instead of a nice-sounding sentence.

The letter you get each week

Each week of a season closes with a check-in, written as a letter from your own reviewed games. It opens by picking up last week’s thread, then walks through the work you actually did, the games you played, anything new the window shows, and what to keep doing, with up to three Lichess drill sets you can tap straight into. A week with nothing in it (no games, no training) gets no letter; there’s nothing worth writing.

The same leash applies, pulled tighter. A letter cites exact moves from at most one moment (the move you played, sometimes the engine’s better one beside it), and only after each is checked, verbatim, against the engine’s review of the game. In the weekly letter your opponents are never named. A game is “your Tuesday loss in the Sicilian,” with a link that opens the stored move-by-move review in the app. And when the training didn’t happen, the letter says so instead of nagging: zero puzzles solved doesn’t earn a scolding, it earns a rethink. Maybe the puzzle rack was the wrong ask, and reps from your own games would land better.

Letters arrive in the app and by plain-text email: no HTML, no tracking pixels, an unsubscribe link in every one, and a line saying it was written with AI, because it was. And when a season ends, the closing report is computed straight from the numbers. No language model involved.

What it remembers

One read is a snapshot; a season of them is a record. Every time your profile is rebuilt, each skill score is stored with its date. Over the weeks those become per-skill lines you can watch move, and deliberately not your rating: the things you can actually change. The monthly reports stack the same way: a weakness flagged once might be a bad fortnight, but the same weakness flagged by two separate reports is recorded as persistent, and the goals your second sets are grounded in facts like that.

The weekly check-ins read their own history. Each one is stored, and the next is written against it: last time’s headline and suggested next step are handed to the writer word for word, and it never opens the same way twice in a row. A standing ask is raised, then backed with fresh evidence, then made smaller, and if it still isn’t landing, parked out loud rather than repeated until you stop reading.

And some things can only be said with enough weeks behind them. Whether your endgame conversion is actually climbing, whether timeout losses are actually falling, whether the work it pointed you at is landing: each is computed from the season’s own record, and none of it may be called a trend on fewer than three straight weekly check-ins. Early weeks stay silent on trends; the longer the season runs, the more it has standing to say about your chess in particular.

What it runs on, and your data

Under the hood: Lichess’s own server analysis for the game reading, Lichess’s own model for win% and accuracy, our own engine read for the 1–10 scores, and a language model only for the words. The analysis decides; the writer describes.

The games it reads are the ones you already made public on Lichess. Nothing you didn’t play. No ads, no trackers. The written read is generated by a third-party language model, and that processing may happen outside the US, including in China. The privacy policy spells out exactly who, where, and what we store.

Read the privacy policy →