Problem
I wanted to build a chess engine from scratch while also exploring how a player's public game history could influence move preferences.
Solution
I combined a C++ chess engine with a Python data pipeline. The C++ side focuses on legal move generation, search, and UCI-style interaction, while the Python side parses public Chess.com games and extracts style-related patterns.
What I Built
- Legal chess move handling
- UCI-compatible engine structure
- Alpha-beta search foundation
- Python PGN and game-history pipeline
- Move-preference analysis from public games
- Project documentation and baseline reporting
Technical Details
- C++ engine core
- Python data collection and parsing
- Chess.com public game archive
- PGN parsing
- Search and evaluation foundation
What I Learned
- Chess engines require careful rule handling.
- Separating engine logic from data analysis keeps the system cleaner.
- C++ suits performance-sensitive logic while Python supports rapid data experiments.
