2024 — Personal project
Fully functional chess with clean architecture

Overview
A complete chess game in the browser — legal move validation, check and checkmate detection, and a clean separation between game engine and UI.
The approach
Modeled the game state as pure logic, fully separated from rendering: the engine validates moves, tracks threats and detects endgames, while the UI layer only reflects state. No frameworks — just disciplined vanilla JavaScript.
Highlights
- Full rules engine: legal moves, check, checkmate, castling
- Clean separation between game logic and rendering
- Zero dependencies — pure JavaScript architecture
Stack
- JavaScript (ES6+)
- HTML5
- CSS3
Next case study
CodePen Challenges →