Skip to content

ChessAnalyzer is a web-based chess analysis platform powered by Stockfish, providing professional-level game evaluation. It features deep engine analysis, move classification, accuracy statistics, and interactive game navigation to help players improve their skills.

Notifications You must be signed in to change notification settings

HaikalE/React-Chess-Analyze

Repository files navigation

ChessAnalyzer

ChessAnalyzer Logo

Advanced chess game analysis platform powered by Stockfish

FeaturesDemoInstallationUsageTechnologiesScreenshotsContributingLicense

ChessAnalyzer is a sophisticated web application that provides professional-level chess game analysis. The platform enables chess players to analyze their games through Stockfish engine evaluation, offering move classification, strategic insights, and improvement suggestions.

Features

  • Interactive Chess Board

    • Visual arrows showing engine recommendations
    • Move navigation and board flip options
    • Sound effects for moves, captures, and other chess events
  • Deep Engine Analysis

    • Stockfish integration with multiple evaluation lines
    • Customizable analysis depth (14-20 ply)
    • Visual evaluation bar showing advantage
  • Smart Move Classification

    • AI-powered move quality ratings: Brilliant, Great, Best, Excellent, Good, Inaccuracy, Mistake, Blunder
    • Detection of book moves and forced sequences
    • Opening recognition
  • Comprehensive Statistics

    • Accuracy percentage for both players
    • Game flow visualization with evaluation graph
    • Summary of move classifications
  • Flexible Import Options

    • Direct PGN text import
    • Chess.com account integration
    • Lichess.org account integration
    • Game browser for selecting recent games
  • Analysis Management

    • Save analysis results as JSON
    • Client-side processing for privacy protection

Demo

Visit THIS WEBSITE♟️ to see the application in action.

Installation

Prerequisites

  • Node.js 18.x or higher
  • npm 9.x or higher

Setup

  1. Clone the repository:

    git clone https://github.com/yourusername/chess-analysis-app.git
    cd chess-analysis-app
  2. Install dependencies:

    npm install
  3. Create Stockfish directory:

    mkdir -p public/scripts
  4. Download Stockfish WASM:

    • Visit Stockfish JS
    • Download the latest stockfish.js WASM build
    • Place stockfish.js in the public/scripts directory
  5. Start the development server:

    npm start

Usage

Analyzing a game

  1. Import a game:

    • Paste PGN text directly in the analysis form, or
    • Connect to Chess.com or Lichess.org and select a game
  2. Configure analysis settings:

    • Select depth (higher values provide more accurate analysis but take longer)
    • Click "Analyze Game" to begin the analysis process
  3. Navigate through the game:

    • Use the arrow controls to step through moves
    • View engine evaluations and suggested alternatives
    • See move classifications and accuracy statistics
  4. Save analysis results:

    • Click "Save Report" to download the analysis as a JSON file
    • This file can be reloaded later for continued analysis

Keyboard shortcuts

  • Left Arrow: Previous move
  • Right Arrow: Next move
  • Home: Go to start
  • End: Go to end
  • F: Flip board orientation

Technologies

  • React 19.0 - Frontend framework
  • Chess.js - Chess logic and move validation
  • TailwindCSS - Styling and responsive design
  • Stockfish - Chess engine (WASM version)
  • Canvas API - Interactive chess board rendering
  • Web Workers - Non-blocking engine analysis

Screenshots

Main Interface

Engine Analysis

Move Classification Engine Suggestion

Contributing

Contributions are welcome! If you'd like to contribute, please follow these steps:

  1. Fork the repository
  2. Create a new branch (git checkout -b feature/amazing-feature)
  3. Make your changes
  4. Commit your changes (git commit -m 'Add some amazing feature')
  5. Push to the branch (git push origin feature/amazing-feature)
  6. Open a Pull Request

Please make sure your code follows the existing style and includes appropriate tests.

Development Guidelines

  • Use functional components with hooks
  • Follow the established project structure
  • Write tests for new features
  • Ensure responsive design across devices

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

  • Stockfish for the amazing chess engine
  • Chess.js for chess logic implementation
  • The chess community for feedback and suggestions
  • Special thanks to contributors and testers

Made with ♟️ by Muhammad Haikal Rahman

About

ChessAnalyzer is a web-based chess analysis platform powered by Stockfish, providing professional-level game evaluation. It features deep engine analysis, move classification, accuracy statistics, and interactive game navigation to help players improve their skills.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published