chessio
Real-Time Stockfish Analysis Overlaid on Chess.com & Lichess

Why this system needed to exist
Analyzing games online typically requires uploading PGNs to external cloud servers, introducing latency and server dependency. Furthermore, most engine overlays offer only max-strength moves that look obviously non-human, or lag when calculating complex multi-piece endgames.
How the solution was designed
chessio bundles Stockfish 18 Lite as a WebAssembly binary executing in a Chrome offscreen document via UCI commands. It implements time-capped search limits (searchTime ~0.7-2s) and adaptive depth clamping, along with an adjustable engine strength (Elo 250 to 3600) so suggested moves reflect human-like calculation levels.
Implemented Features & Capabilities
Component Architecture
Uses Chrome Service Worker for message routing and Chrome Offscreen API to host the WebAssembly worker.
Client-side compiled engine running UCI protocol commands directly within the browser thread pool.
Isolated styling and event handling injected into the target page to prevent CSS collisions with host websites.
Robust selectors extracting current piece coordinates and board orientation to construct valid FEN strings.