GitPedia

Chessendgametraining

Chess Endgame Training: app to practice a variety of well organized set of chess endgames. From elementary to the most complex endgames, you can practice until you learn how to face all of them.

From supertorpe·Updated June 11, 2026·View on GitHub·

[Chess Endgame Training](https://github.com/supertorpe/chessendgametraining) The project is written primarily in TypeScript, distributed under the GNU General Public License v3.0 license, first published in 2019. Key topics include: alpine-js, android, app, chess, endgame.

Latest release: v3.0.0

Chess Endgame Training

<a style="margin-bottom: 0;" href='https://play.google.com/store/apps/details?id=com.supertorpe.chessendgametraining'><img alt='Get it on Google Play' src='https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png' height="80px"/></a><br/>
<a style="margin-bottom: 0;" href='[https://play.google.com/store/apps/details?id=com.supertorpe.chessendgametraining](https://discord.com/invite/ShmTWzJbYV)'><img alt='Discord server' src='https://cdn.prod.website-files.com/6257adef93867e50d84d30e2/67ece93be2524af5cf14dc1c_Logo-black-bg.svg' style="height:55px"/></a>

Chess Endgame Training is a web application to practice a variety of well organized chess endgames.

  • It allows you to play against the Syzygy tablebases or against the Stockfish 16 NNUE engine.

  • The application tracks your personal record in each position. It also allows you to solve each position automatically and review the movements once completed.

  • It includes challenges of mate and also of draw, for both white and black.

  • Save configurations and progress to Google Drive to avoid losing them.

  • When reaching a trivial position, it doesn't force you to solve it manually (it prompts you to resolve those last moves automatically without penalizing you for it).

  • Parameterize Stockfish by depth and time.

  • List of moves: allows you to select a move and continue another line from there.

  • Manual mode: to move opponent's pieces to explore lines not suggested by syzygy or Stockfish: "what if...?"

  • Uses the chessground board which allows you to draw circles and arrows.

  • Light and dark themes.

  • Multiple piece styles.

  • Several board colors to choose from.

  • Multi language (currently English/Spanish/Russian).

  • Board image capture.

  • Copy FEN and PGN to clipboard.

  • Button to open position analysis on Lichess.

It is distributed in both Android App and Progressive Web App. The Web App allows to open an arbitrary position from a FEN string indicating the objective to achieve (checkmate or draw) : https://chess-endgame-trainer.mooo.com/fen/FEN_STRING/TARGET

TARGET is checkmate by default. Examples:

https://chess-endgame-trainer.mooo.com/fen/8/4p1p1/8/7k/2qN3B/4P1P1/2B4K/8 w - - 0 1

https://chess-endgame-trainer.mooo.com/fen/8/5qpB/5P2/4B2N/8/p7/P2k4/K7 w - - 0 1/draw

Optionally, you can change roles and play with the opponent pieces:

http://chess-endgame-trainer.mooo.com/fen/8/3k4/8/3K4/3P4/8/8/8 b - - 0 1?player=w

You can also play random positions to achieve checkmate in 1 to 10 moves.

http://chess-endgame-trainer.mooo.com/checkmate/3

Screenshots

<div style="display:flex;" > <img style="margin-left:2px;" src="code/public/assets/screenshots/screenshot_1.png" width="13.5%" > <img style="margin-left:2px;" src="code/public/assets/screenshots/screenshot_2.png" width="13.5%" > <img style="margin-left:2px;" src="code/public/assets/screenshots/screenshot_3.png" width="13.5%" > <img style="margin-left:2px;" src="code/public/assets/screenshots/screenshot_4.png" width="13.5%" > <img style="margin-left:2px;" src="code/public/assets/screenshots/screenshot_5.png" width="13.5%" > <img style="margin-left:2px;" src="code/public/assets/screenshots/screenshot_6.png" width="13.5%" > <img style="margin-left:2px;" src="code/public/assets/screenshots/screenshot_7.png" width="13.5%" > </div>

3dparty resources

Following software and resources has been used:

Development

A Docker image is provided to bootstrap a development environment:

Build image

./exec.sh build-img

Start development server

./exec.sh start

Build for production

./exec.sh build-app

If you don't want to use Docker, you can install Node.js (latest LTS) and a package manager (i.e. pnpm) to install dependencies, start the development server and build for production.

TWA / Android bundle

A TWA has been generated with bubblewrap:

bubblewrap init --manifest https://chess-endgame-trainer.mooo.com/manifest.json

Building:

bubblewrap build --skipSigning

Signing:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore [PATH_TO_KEYSTORE] ./app-release-unsigned-aligned.apk [KEY_ALIAS]
zipalign -v 4 ./app-release-unsigned-aligned.apk myapp-aligned.apk
apksigner sign --ks [PATH_TO_KEYSTORE] --v1-signing-enabled true --v2-signing-enabled true myapp-aligned.apk

The file .well-known/assetslinks.json includes the Sha256 fingerprint of the certificate used to sign the apk:

keytool -list -v -keystore [PATH_TO_KEYSTORE]

Acknowledgements

This project has been carried out as part of the Final Degree Project in the Bachelor's Degree in Computer Engineering at UNIR.

Contributors

Showing top 6 contributors by commit count.

View all contributors on GitHub →

This article is auto-generated from supertorpe/chessendgametraining via the GitHub API.Last fetched: 6/26/2026