- Interactive Chess Board: Beautiful, responsive chessboard with multiple piece sets and themes
- Advanced Analysis: Powered by multiple Stockfish versions including Stockfish 17 Lite and NNUE
- Detailed Game Reports: Get comprehensive insights about your games including:
- Move accuracy and classification (Perfect, Excellent, Good, Inaccuracy, Mistake, Blunder)
- Game phase detection (Opening, Middlegame, Endgame)
- Visual evaluation graph
- Time management analysis
- Game statistics and patterns
- Customizable Interface: Multiple board themes, piece sets, and UI customization options
- Multiple Game Sources: Support for:
- Direct PGN import
- Lichess game analysis
- Manual game input
- Fast & Efficient: Client-side analysis means no server delays or queues
- Fully Web-Based: No installation required - works right in your browser
- Responsive Design: Works seamlessly on both desktop and mobile devices
Try it live at: centichess.org
- Pure JavaScript (ES6+)
- HTML5 Canvas for board element and arrow rendering
- Web Workers for background analysis
- Multiple Stockfish versions (11, 16, 17) with NNUE support
- Modern web browser
- Local web server (for development)
- Clone the repository:
git clone https://github.com/cooper-ross/centichess.git- Navigate to the project directory:
cd centichess- Serve the project using any local web server. For example, using Python:
# Python 3
python -m http.server 8000- Open
http://localhost:8000in your browser
centichess/
├── assets/ # Static assets (pieces, sounds, etc.)
├── libs/ # Third-party libraries
├── src/ # Source code
│ ├── classification/ # Game analysis algorithms
│ ├── components/ # UI components
│ ├── engines/ # Stockfish engine variants
│ ├── evaluation/ # Position evaluation logic
│ └── pages/ # Page-specific code
└── index.html # Main entry point
Contributions are welcome! Whether it's:
- Bug fixes
- New features
- Documentation improvements
- UI/UX enhancements
Please feel free to submit pull requests or open issues.