Skip to content

tawfiqkhalilieh/chess_smart_thinking

Repository files navigation

Chess Smart Thinking 🎯♟️

Docker Next.js Python Go C++

Chess Smart Thinking is a multi-service, event-driven machine learning pipeline that scrapes chess.com data, analyzes it, trains a model to predict human thinking time, and provides a frontend for gameplay against the trained model.

Note: The UI for this project isn't ready and deployed yet.


🚀 Features

  • Scrape chess.com user games using the public API.
  • Analyze and label games for machine learning.
  • Train a custom ML model to predict human thinking time.
  • Frontend interface to play against the trained model.
  • Modular, multi-service architecture for scalability and maintainability.

🏗 Architecture & Tech Stack

Service 1: Frontend (NOT READY YET)

  • Technologies: Next.js, React.js, Chess.js, TensorFlow.js, Tailwind CSS
  • Provides the user interface and gameplay experience.
  • Technologies: Python, FastAPI, Pydantic, Redis, TensorFlow, NumPy, MongoDB
  • Coordinates services and manages ML training pipelines.

Service 3: Data Scraper

  • Technologies: Go, Gin, Chess.com API, MongoDB, Redis
  • Fetches and stores user game data.
  • Technologies: C++, OkAPI, MongoDB, Stockfish
  • Analyzes games, labels data, and prepares it for training.

Other used technologies

  • Docker & Docker Compose for containerized deployment.
  • Git for version control.

Architecture: An Event driven architecture

Architecture Diagram


⚡ Installation

git clone [email protected]:tawfiqkhalilieh/chess_smart_thinking.git
cd chess_smart_thinking
docker compose up --build

Want to see me succeed ? Hit me up on Linkedin

Releases

No releases published

Packages

No packages published