ChessPT is a web-based personal trainer designed to turn chess opening theory into muscle memory. By automating the first moves, you gain a decisive advantage on the clock and on the board, ideal for dominating in fast online games.
In fast-paced games like blitz and bullet, time is as critical as the pieces themselves. Wasting precious seconds recalling an opening sequence puts you at an immediate disadvantage. The goal of ChessPT is not just to learn theory, but to make it instinct. Through repetition and instant feedback, your brain stops "calculating" the initial moves and starts "recognizing" them as a single, fluid pattern.
This automation allows you to execute your opening quickly and flawlessly, saving mental energy and time for the more complex and decisive phases of the game: the middlegame and the endgame.
- Interactive Training: Play moves on a clean, simple interface.
- Play as White or Black: Train openings from either perspective.
- Guided Opening Lines: Follow predefined training lines loaded from PGN files.
- Instant Feedback: Get immediate validation on your moves.
- Performance Statistics: Track error-free completions, total errors, and time spent.
- Achievement System: Complete an opening's training objective to save your achievement locally.
- Privacy-Focused: All data is stored in your browser. Nothing is ever collected or transmitted.
- Play Custom PGN: Load your own
.pgnfiles for a personalized training session.
ChessPT is a static web application that can be run in two ways:
- Locally: By using a simple local web server on your computer.
- On the Web: By publishing the files to any standard web hosting service or server.
Due to browser security policies (CORS), you cannot run the application by simply opening the index.html file directly in your browser; it must be served via HTTP.
-
Clone the repository:
git clone https://github.com/meob/ChessPT.git cd ChessPT -
Start a local web server. The simplest method is using Python's built-in server:
python3 -m http.server
(If you use Python 2, the command is
python -m SimpleHTTPServer) -
Open the application by navigating your browser to
http://localhost:8000.
- Choose Your Color: Use the "Play as White" or "Play as Black" buttons.
- Select a Training: Pick an opening from the dropdown menu.
- Start Training: Click "Start Training" to load the line.
- Play: Make your moves on the board. The app will guide you.
- Track Progress: View your stats on the left and see your saved accomplishments on the "Achievements" page.
You can easily add your own openings:
-
Add your opening to a
.pgnfile in the/pgndirectory. The/pgndirectory already contains several intresting opening... at least I hope so! You can add custom headers like[OpeningNote "Custom note here"]and[TargetCompletions "3"]. -
Add a reference to your PGN file in
trainings.json(for White) ortrainings_black.json(for Black).Example for
trainings.json:{ "label": "My Custom Openings", "options": [ { "name": "My Awesome Opening", "file": "pgn/my_awesome_opening.pgn" } ] }
- HTML5 & CSS3
- JavaScript (with jQuery)
- chessboard.js - For the interactive board UI.
- chess.js - For game logic and move validation.
Contributions are welcome! If you have suggestions for improvements or new features, feel free to open an issue or submit a pull request.
This project is licensed under the Apache License, Version 2.0. See the LICENSE file for details.

