Project Description:
AIChess is a web-based application designed to enhance chess learning and gameplay through AI-driven assistance. It features an interactive chessboard where users can play games alone or against an AI opponent, with real-time feedback, move suggestions, and detailed explanations of strategies. Leveraging the Stockfish engine and a Large Language Model (LLM), the app aims to make chess more accessible and educational for players of all skill levels, combining advanced analysis with intuitive user experience.
Features:
- Play chess games on a fully interactive chessboard.
- Provides real-time move feedback and suggestions, which can be toggled on or off during the game.
- Versus Bot Mode: Play against an AI opponent with adjustable skill levels (ranging from 400–2700 Elo).
- Timed Versus Bot Mode: Play against an AI opponent with adjustable skill levels under time constraints, including support for incremental time modes.
- Practice Mode: Control both sides' pieces for practice or analysis.
- Upload Chessboard Setup: Import configurations using FEN strings.
- Export the current FEN or copy it to the clipboard for use outside the web app.
- Suggest optimal moves with accompanying explanations, highlighting the move on the board.
- Pause/Resume, Undo, Save, and Reset game states.
- View move history in standard chess notation, allowing the player to revisit the game's state at any prior point by clicking on the move in question.
- Dynamic evaluation bar displays the win probabilities for each side based on positions and remaining material.
- Summarizes the game state upon request.
- Visual indicators for game status and move analysis.
- Supports offline play with limited features.
Architecture and Components:
Technologies Used:
Coding and Development:
- Python-Flask/Quart
- React
- Stockfish
- HuggingFace (e.g. Meta-Llama-3-8B-Instruct)
Version Control
- GitHub
Project Management
- Jira
Communication
- Discord
- Google Meet
- Microsoft Teams
Data Sharing
- OneDrive