Flagship Case Study ยท Private Source

AOM-Chess engine & validation platform

My favorite and deepest systems build: a C++20 chess engine surrounded by the build, testing, profiling, training, match, GUI, and browser machinery needed to improve it with confidence.

Why this project matters

A chess engine compresses a surprising amount of systems engineering into one codebase. Small mistakes can corrupt board state, destabilize concurrent search, weaken evaluation, break protocol clients, or make performance results meaningless. A strong engine therefore needs more than a clever search loop: it needs disciplined machinery around every change.

Engine architecture

  • Bitboard board representation with legal move generation and make/unmake paths.
  • Alpha-beta and quiescence search, transposition tables, move ordering, and multithreaded time management.
  • Classical and NNUE evaluation paths, Syzygy endgame support, and opening-book integration.
  • UCI engine operation plus Direct3D/ImGui desktop and WebAssembly/browser targets.
  • Scalar, AVX2, and AVX-512 build paths alongside CUDA-assisted training tooling.

Validation machinery

The repository treats correctness and repeatability as product features. Test coverage spans perft, make/unmake invariants, fuzzing, protocol behavior, concurrency, evaluation, endgames, performance regressions, and multiple compiler and instruction-set configurations. Cute Chess match automation and SPRT-style comparisons provide evidence for engine-strength changes instead of relying on intuition.

Development approach

AI-assisted tools accelerate research, implementation, repository-scale analysis, and refactoring. Architecture, integration, reproducible builds, test gates, profiling, and measured match results remain the acceptance criteria. That combination lets the project move quickly without pretending generated code is self-validating.

Technologies

C++20 CMake Bitboards Alpha-Beta / Quiescence Transposition Tables NNUE Syzygy UCI Direct3D / ImGui WebAssembly AVX2 / AVX-512 CUDA Tooling Fuzz / Perft / Match Testing

Outcome

AOM-Chess demonstrates the kind of work I enjoy most: a difficult technical core, substantial supporting infrastructure, fast iteration, hard validation gates, and enough cross-layer complexity to reward persistence.