Your phone sees the board. You see the best move.
Kibitz is a chess position recognition app that runs entirely in your browser. Point your phone camera at a chessboard, tap to capture, and see the best move overlaid as arrows on the photo. Flip to an interactive digital board to explore the engine's suggested line move by move.
The name comes from the chess term kibitz — an onlooker who offers unsolicited advice. That's literally what this app does.
- Point your phone at a chessboard
- Tap to capture, then tap the 4 board corners on the frozen frame
- First time: point at the starting position so the app learns what your board's pieces look like (one-time calibration per set) — that first shot lands straight on the review screen with the starting position ready to analyze
- Review the recognized board — tap any square to fix a mistake
- See the best move as gold arrows overlaid on your photo
- Flip to an interactive board to explore the engine's line
Recognition is best-effort with a tap-to-fix review step before analysis. Because calibration anchors the game to the starting position, recognition also respects chess constraints — one king per side, pawn counts and ranks, promotion limits.
- Recognition: Per-set calibration + classical computer vision (corner-tap homography, template matching with background-independent piece silhouettes learned from the start position's piece pairs). Runs on the main thread in plain JS — no neural net, no Web Worker.
- Engine: Stockfish WASM — the world's strongest open-source chess engine, compiled to WebAssembly
- App: Vanilla JavaScript, no framework, no server
npx serve .
# Open http://localhost:3000 in your browser
# Camera requires a secure context — localhost qualifiesNo build step. No dependencies to install for the app itself.
🚧 In development.
Made with care by William