← all repositories
chrisbutner/ChessCoach

A chess engine that trash-talks in English while it crushes you

Neural-network chess at ~3450 Elo, plus commentary that's "not very insightful and often wrong"—the author's honest assessment.

ChessCoach
Velocity · 7d
+0.2
★ / day
Trend
steady
star history

What it does

ChessCoach is an AlphaZero-style chess engine built by a solo developer over a year-plus side project. It plays at roughly 3450 Elo—strong enough to beat almost any human, though it’ll still lose to Stockfish 14. The twist: a second neural network generates natural-language commentary on moves and positions, and the whole thing runs as a Lichess bot where you can watch it play and chatter in real time.

The interesting bit

The author thought this would be a 2–3 month ML experiment. It wasn’t. Along the way he invented SBLE-PUCT, a search tweak to avoid tactical traps, and COVET sampling, which tries to make the commentary varied but not completely hallucinated. The commentary network is, by his own admission, mediocre—but it exists, and it’s trained on self-play data from scratch, not scraped grandmaster prose.

Key highlights

  • ~10.5k lines of C++ for the engine, ~3.7k of Python for neural network code; TensorFlow 2, supports GPU and TPU
  • Self-trained from zero knowledge through 44 million self-play games, no external game data for the main network
  • Integrates ideas from KataGo and Lc0 (mate proving, tablebases, SWA, etc.) plus the author’s own search and commentary architectures
  • Full tool suite: UCI engine, training pipeline, parameter optimization, strength testing, PGN processing, debug GUI, Kubernetes cluster scripts for cloud training
  • Live Lichess bot at @PlayChessCoach with 1+0 to 15+10 time controls

Caveats

  • Commentary quality: “not very insightful and often wrong”—the README’s words, not mine
  • Training throughput is noted as having “lots of room for improvement” (2,360 self-play games/hour on a v3-8 TPU VM)
  • Windows GUI is Windows-only; Linux users get the engine and training tools but not the visual debugger

Verdict

Worth a look if you’re studying AlphaZero replication, building chess NLP, or want a well-documented solo ML engineering project. Skip if you just need the strongest free engine—Stockfish still wins head-to-head.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.