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.
- 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.
Service 1: Frontend (NOT READY YET)
- Technologies: Next.js, React.js, Chess.js, TensorFlow.js, Tailwind CSS
- Provides the user interface and gameplay experience.
Service 2: Service Arbiter & Training
- 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.
Service 4: Data Labeling and Position analyzation
- Technologies: C++, OkAPI, MongoDB, Stockfish
- Analyzes games, labels data, and prepares it for training.
- Docker & Docker Compose for containerized deployment.
- Git for version control.
git clone [email protected]:tawfiqkhalilieh/chess_smart_thinking.git
cd chess_smart_thinking
docker compose up --build