CheckerChesser is a powerful chess utility application that combines a local chess analysis board with real-time screen monitoring capabilities. It is designed to assist players in analyzing games, finding best moves, and testing positions.
So yeah, it was so good I got banned

All that grind for nothing lol!
- Full Chess Engine Integration: Powered by Stockfish, one of the strongest chess engines in the world.
- Interactive Board: Move pieces, flip the board, and play against the AI.
- Dual Player Mode: Play locally against a friend or test moves for both sides.
- Analysis Visualization: Visualize top engine moves with colored arrows indicating strength and threat.
- Custom Scenario Setup: Manually place any piece on the board to recreate specific game states.
- Automation Control: The engine is strictly disabled during editing to prevent interference.
- Piece Palette: Intuitive drag-and-drop style interface (click-to-place) for all piece types.
- Real-time Monitoring: Define a region on your screen to monitor a live chess board (e.g., from a website or video).
- Auto-Calibration: The application automatically detects the board structure from a standard starting position.
- Live suggestions: As moves are played on the screen, the app updates the internal board and suggests the best response instantly.
- First Move Control: Choose whether White or Black moves first (useful for variants or playing as Black from the start).
- Play As: Switch sides to play as Black or White against the engine.
Yes and No.
- Chess Intelligence (Yes): The application utilizes Stockfish, which employs NNUE (Efficiently Updatable Neural Network) technology. This is a form of machine learning where a neural network attempts to evaluate positions, providing superior performance over classical hand-crafted evaluation functions.
- Vision System (No): The screen analysis feature uses Computer Vision techniques (specifically Template Matching and Mean Squared Error comparisons), not Deep Learning. It requires a clear view of a 2D chess board to "calibrate" and match pieces against a known template.
-
Prerequisites:
- Python 3.8+
- Stockfish Engine (Executable must be placed in the project folder or specified in config).
-
Dependencies: Install the required Python packages:
pip install -r requirements.txt
(Requires: customtkinter, python-chess, mss, opencv-python, numpy)
-
Setup (Stockfish Guide): This application requires the Stockfish Chess Engine to function.
Step-by-Step Guide:
- Download: Visit the official Stockfish website: https://stockfishchess.org/download/
- Select Version: Download the version suitable for your system (usually "Windows (AVX2)" or "Windows (x64-modern)").
- Extract: Unzip the downloaded folder. Inside, you will find an executable file (e.g.,
stockfish-windows-x86-64-avx2.exe). - Rename: Rename this file to simply
stockfish.exe. - Place File: Move
stockfish.exedirectly into theCheckerChesserproject folder.
Correct Folder Structure:
CheckerChesser/
├── src/
│ ├── __pycache__/
│ ├── __init__.py
│ ├── board_ui.py
│ ├── engine.py
│ ├── game_state.py
│ ├── gui.py
│ ├── mirror.py
│ ├── overlay.py
│ └── vision.py
├── tests/
├── main.py
├── requirements.txt
├── stockfish.exe/ <-- PLACE HERE (folder named btw)
├── LICENSE
└── README.md
Run the main script:
python main.py- Play: Drag and drop or click squares to move pieces.
- Analysis Mode: Toggle
Analysis Modeswitch to see Best Move arrows overlaid on the board. - Two Player: Toggle
Two Player Modeto control both sides manually. - Flip Board: Click
⟳ Flip Boardto rotate the view.
- Toggle
Edit Modeswitch to ON. - A palette of pieces (White/Black) and a Trash Bin will appear.
- Left Click a piece in the palette to select it.
- Left Click any square on the board to place that piece.
- Select the Trash Bin and click a square to clear it.
- Toggle
Edit ModeOFF to resume play.Note: AI logic is paused while Edit Mode is active.
- Click
Screen Analysisin the sidebar. - An overlay window will appear. Drag to select the area of the chess board you want to monitor.
- Important: Ensure the board on screen is at the Starting Position when you start monitoring. The tool needs this to calibrate piece textures.
- Once calibrated, the app will track moves and display the best engine move in real-time.
- Engine Not Found: Ensure
stockfish.exeis in the folder. - Vision Not Working: Make sure the board on screen is not obstructed and matches standard 2D chess pieces. Glare or unusual piece sets may confuse the template matcher.
- Performance: High
Best Movescount or deep analysis may use significant CPU resources. Lower the number of moves if the app lags.
@misc{CheckerChesser,
author = {algorembrant},
title = {CheckerChesser},
year = {2026},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/algorembrant/CheckerChesser}},
}