What this is

A standard chess board with Unicode pieces (drag-drop, legal-move dots, capture rings, check glow on the king, last-move highlight) sitting next to a live search-tree visualization. The engine is real: 0x88 board representation, negamax with alpha-beta pruning, iterative deepening, a 32-bit Zobrist transposition table used for both cutoffs and move ordering, MVV-LVA capture ordering, and an evaluator combining material, piece-square tables, doubled/isolated/passed pawns, king-file safety, and an endgame king-activity table. As the AI thinks, the tree on the right blooms — branches grow from root to candidate moves, node size scales with visit count, color maps eval (red blunder → green winning), the principal variation glows green and pulses, alpha-beta cutoffs render as dashed branches that stop expanding. Verified via perft to depth 4 (197,281 nodes).

Why this is mind-blowing

Most chess engines are black boxes. Watching the search expand in real time — pruning visibly, hashing visibly, focusing on the principal variation — turns minimax from an exam topic into a thing you can see breathing. One HTML file holds an engine that can beat a club player and a visualization that teaches them why.