← Back to Portfolio

Modular Chess Training Suite

A Desktop Application for Advanced Chess Study

PYTHON 3.12 OOP MODULAR DESIGN STOCKFISH ENGINE

Technical Architecture

Unlike monolithic applications, this suite was designed using an Object-Oriented (OOP) approach with a strong emphasis on modularity, maintainability, and efficient resource handling. Each tool operates as a self-contained module, coordinated through a central application hub.

On-Demand Module Initialization

Implemented dynamic module launching in the main hub (app_principal.py). Tools are initialized only when invoked, reducing unnecessary memory allocation during idle states and improving application responsiveness.

State Management

A custom Game State Manager (logica_ajedrez.py) handles complex chess rules including FEN parsing, castling rights, and pseudo-legal move generation with zero external dependencies.

UI Consistency

A centralized Style Dictionary (style.py) ensures a cohesive interface across all modules, reinforcing maintainability and adherence to the DRY principle.

1. Stockfish Engine Integration

For the Checkmate Trainer, I integrated the Stockfish C++ binary. The application communicates with the engine through process pipes to provide real-time evaluation and dynamic defensive responses.

Elo Calculator Interface

2. Applied Mathematics: Elo Analytics

Developed a statistical analysis module (calculadora_elo.py) using CustomTkinter. This component implements official chess rating formulas to calculate performance ratings and expected scores.

3. Data Persistence & CRUD

The Flashcard System implements a complete CRUD lifecycle through structured JSON-based persistence, enabling users to manage personalized study material locally.

Chess Flashcard Interface

Executive & Technical Case Study

A technical report exploring the architecture, engine integration, and mathematical modeling behind the platform.