Overview
A self-contained desktop tool that turns Stockfish — the open-source engine that outplays any human — into a hands-free assistant. It watches the board on screen, works out the best move, and plays it on command. We built it to run quietly alongside any online chess site, with the whole thing controlled by keyboard shortcuts so there's no window to manage mid-game.
The Challenge
Three problems had to line up in real time. First, read the current position straight off the screen — no API, just pixels. Second, hand that position to a professional engine and get the best move back fast enough to feel instant. Third, play that move on the board and keep the entire loop under the user's fingertips, without a visible interface getting in the way.
Our Approach
-
1
Research & planning
Chose Stockfish as the engine and mapped the full loop: capture the board state, translate it into a position the engine understands, request the best move, and play it back.
-
2
Board detection
Built screen-capture logic that reads the live board from the browser, recognising each square and piece so the current position is always accurate.
-
3
Engine integration
Wired Stockfish to Python, feeding it the detected position and reading back the optimal move in well under a second.
-
4
Auto-click & global hotkeys
Added mouse automation to play the engine's move on the board, with global hotkeys to start, stop, and trigger the bot from anywhere — no need to focus a window.
-
5
Testing & refinement
Tested across several chess platforms, tuned the timing to feel natural, and polished the controls down to a clean, reliable hotkey workflow.
The Result
Analyzes a position and plays a move in under a second, controlled entirely by hotkeys.
The finished tool runs without any visible interface — fast, quiet, and effective. It demonstrates the same skills we bring to client automation: reading messy real-world state, talking to an external engine, and tying it together behind controls that just work.
Tech Stack
- Language: Python
- Engine: Stockfish (open-source chess engine)
- Screen capture: Pillow (PIL)
- Input automation: PyAutoGUI
- Hotkey system: global keyboard listener