Play chess against Stockfish in the browser and request plain-language coaching for any position. The board, engine, clocks, move grading, and saved game state run client-side; optional AI coaching streams from a selected provider.
Live app: https://chess.significanthobbies.com
- Six Stockfish difficulty levels, evaluation bar, move quality labels, hints, undo, and board flip.
- Configurable chess clocks and automatic local game-state persistence.
- Optional streaming coaching through supported local CLI tools during development. The live static Pages target does not serve a hosted AI proxy.
- Responsive React interface with direct PostHog analytics and the SaaS Maker feedback widget.
pnpm install
pnpm devpnpm dev starts the Vite frontend and the local Express bridge used by CLI-based AI providers. To run only the browser app, use pnpm dev:frontend.
pnpm dev
pnpm dev:frontend
pnpm server
pnpm build
pnpm preview- React 19 + TypeScript + Vite 8 frontend.
- Stockfish 18 WASM in a Web Worker;
chess.jshandles legal moves and game state. server/(a git submodule, cli-bridge) bridges local AI CLIs during development. Hosted proxying is intentionally retired.- Current game and AI configuration are stored in browser
localStorage.
- AGENTS.md — concise agent bootloader (purpose, commands, critical constraints, docs navigation).
- STATUS.md — current objective, active work, blockers, next steps.
- docs/ — canonical knowledge system: product, architecture, decisions, development, operations, learnings. Rendered for the web by Blume (
blume.config.ts); the Markdown is the source of truth.
See AGENTS.md for the repository map and implementation conventions.