visualize, explore, and learn about the game tree of chess.
- The app renders an interactive opening tree from the current move path, where each node represents a legal next move and its observed frequency.
- Tree data comes from
gametree-api(/api/totals) and is loaded incrementally as you explore positions. - A synchronized board + sidebar show the selected position, opening context, and move-level stats.
- Optional in-browser Stockfish analysis updates evaluation and principal variation for the current position.
- Theory snippets are fetched from Wikibooks to add human-readable opening notes alongside the tree.
Run the app locally
npm install
npm run devBuild
npm run buildThis frontend calls gametree-api for /api/*.
For local dev, run gametree-api separately on http://localhost:8080 (Vite proxies /api there).
- chessground - Chess board
- chess.js - Chess logic
- Stockfish - Chess engine
- Lumbra's GigaBase - Game data
- visx - React/D3 primitives
MIT. See LICENSE.