/ Updated 12 July 2026 4 min read / , ,

Chess2EZ: An AI Chess Coach That Explains Why You Lost

TLDR A free AI chess coach that reviews your online games with a chess engine and explains every mistake in plain English.

Most players lose chess games the same handful of ways over and over, and never find out why. The tools that could tell them, chess engines, speak in numbers: "-3.4 after Nxe6." That is precise and completely useless if you do not already know what it means.

So I built Chess2EZ, a free AI chess coach that reviews your online games and explains every mistake in plain English. Paste your chess.com or Lichess username, and it pulls your latest game and hands back a report card: your accuracy, where your win chances fell off a cliff, and what you should have played instead, described the way a patient human would say it rather than in engine notation.

Chess2EZ explaining its promise to turn chess-engine analysis into plain English.

What it does

  • A game report card. Accuracy, a move-by-move win-probability graph, and every blunder, mistake and inaccuracy flagged.
  • Plain-English explanations. Each mistake gets a sentence or two: you hung your bishop, you walked into a fork, there was a free pawn you missed. No jargon unless you ask for it.
  • A jargon dial. Pick your level, newer player through to club player, and the explanations change voice to match.
  • Your whole history, analysed. Run a background pass over all your recent games and get a weakness report: the habits that keep costing you, your worst openings, how often you blunder.
  • Drills built from your own blunders, with spaced repetition so the positions you keep getting wrong come back until they stick.
  • Play and coach. Play against the engine at a few strength levels with the coach switched on, so you get feedback as you go rather than only after the game.

The free part is the point: reviewing your games and getting them explained does not cost anything. That is the thing other coaching tools tend to put behind a paywall, and it is the thing a beginner actually needs.

The interesting bit: the engine decides, the AI explains

The risk with pointing a language model at a chess board is that it will confidently describe a tactic that is not there. Chess2EZ is built so it cannot.

A chess engine (Stockfish, compiled to WebAssembly and run on the server) and a chess rules library produce the hard facts first: this move dropped your win probability from 71% to 39%, this piece was hanging, this was a fork, this was mate in one. Those facts are deterministic. The AI's only job is to turn that pre-computed list into a readable sentence. It never gets to invent the analysis, only narrate it. That single constraint is what keeps the explanations trustworthy.

One bug from building it is worth passing on. Stockfish's WebAssembly loader sets the global fetch to null when it initialises, so the first request to the app worked and every request after it failed. The fix was to capture fetch at module load and restore it once the engine was ready. If a single API call works and the second one mysteriously dies, suspect a global that some lazily-loaded native module quietly clobbered.

How it is built

The web app is Next.js 16 with React 19 and TypeScript, styled with Tailwind. Move parsing and legality come from chess.js, analysis from Stockfish running server-side as WASM, and the explanations from Claude. Accounts use Better Auth, storage is SQLite on a persistent volume, and the whole thing is self-hosted on Coolify on a Hetzner box. A mobile app built with Expo and React Native is now live on the App Store, with Android in review on Google Play.

Try it on your own games at chess2ez.com, or grab the iPhone app. Find out why you actually lost.

Revisions 2 changes since publish
  • / Added a current product visual showing the plain-English chess coaching promise.
  • / iOS app approved and live on the App Store; updated to reflect the mobile launch.