📁Elucidate Chess — chandlerOS
📂 Source

Elucidate Chess

Elucidate Chess is a full-stack chess trainer that connects Stockfish engine output to natural language coaching. Built as a Turborepo monorepo on self-managed OCI infrastructure with Docker, nginx, and automated SSL.

In ProgressNext.jsFastAPIGraphQLPostgreSQLStockfishDocker
Overview

Most chess engines tell you what the best move is — not why. Elucidate Chess takes Stockfish's numerical evaluations and translates them into plain-language explanations, helping players understand the strategic and tactical concepts behind each position rather than just memorizing engine lines.

Key Features
  • Stockfish integration for deep position analysis
  • AI-powered plain-language explanations of engine recommendations
  • Position analysis with concept tagging (tactics, strategy, endgame)
  • Game review mode — analyze full games move by move
  • Interactive board for exploring lines and variations
  • User accounts with game history and progress tracking
  • GraphQL API for flexible data querying
Tech Stack
Frontend
  • Next.js 15
  • TypeScript
  • Tailwind CSS
  • Apollo GraphQL Client
Backend
  • FastAPI
  • Strawberry GraphQL
  • PostgreSQL
  • Docker
Chess Engine
  • Stockfish
  • python-chess
  • UCI protocol integration
AI Integration
  • LLM-powered move explanation
  • Concept extraction from engine analysis
Infrastructure
  • Oracle Cloud Infrastructure
  • Turborepo monorepo
  • Docker Compose
  • Nginx + Let's Encrypt
Challenges & Solutions
Bridging Engine Output and Human Understanding

Stockfish outputs centipawn scores and best moves — not explanations. Built a pipeline that takes the engine's top lines, identifies the key tactical or strategic themes, and generates coaching-quality explanations using an LLM.

Turborepo Monorepo Architecture

Structured the project as a Turborepo monorepo with shared packages for types, utilities, and UI components, enabling code reuse between the Next.js frontend and FastAPI backend while keeping deployments independent.

Performance at Analysis Depth

Balancing Stockfish analysis depth against response time — deep analysis is more accurate but slower. Implemented async queuing so users get immediate feedback while deeper analysis runs in the background.

Outcomes
  • Built full-stack application addressing a real gap in chess training tooling
  • Demonstrated ability to integrate a complex native engine (Stockfish) into a modern web stack
  • Established Turborepo monorepo pattern for future full-stack projects
  • Self-managed production infrastructure on Oracle Cloud from scratch
Elucidate Chess7 technologies