KibitzShare
Live at kibitzshare.comPaste a chess game, get a narrated story. Most shared chess games are just move lists. KibitzShare adds position analysis and plain-language narration so the recipient actually follows what happened.
See a narrated replay
Step through the story. Every move has context, every phase has narration.
Stockfish WASM runs in the browser, so position evaluation has zero server cost. Only narration hits the server. Adding users does not add compute load for analysis.
If the LLM fails, template-based narration takes over. The sequence is: first attempt, retry, then template fallback. Something always renders.
Main challenge: making it feel polished, not like generic AI output. Custom typography, real chess iconography, and narration that reads like commentary rather than a summary.
Designing the analysis engine
How a chess game goes from raw notation to narrated story. The heavy computation runs in the browser, narration happens on the server, and templates catch failures.
zero context or story
Every position evaluated locally
Detects arc: comeback, tactical, grind
as a guided narrative
From notation to narrated replay
The pipeline has three stages. First the PGN is parsed and validated. Then Stockfish evaluates every position. Finally, the narration layer writes commentary for the key moments.
PGN or game link to structured move data Users paste raw PGN or a game link from Lichess or Chess.com. The parser extracts headers and validates each move, then generates a hash for deduplication. If that hash already exists, the cached narration is served instead of re-running the pipeline.
3-tier analysis pipeline Analysis is split across three tiers. Stockfish WASM handles position evaluation entirely in the browser, which is the most compute-heavy step. Narration goes to Claude Haiku on the server. If Haiku is down or slow, a template engine writes the commentary instead so the user never sees an empty page.
Interactive narrated replay The output is a shareable replay with an interactive board and move-by-move narration. The game is divided into story arc phases — opening, tension, turning point, resolution — so even non-chess-players can follow the drama.