litrainer is a modern chess improvement tool that helps you learn from your mistakes by turning your real games into interactive puzzles. It extends Lichess’s "Learn from your mistakes" with:
- Detailed move feedback and classification (blunder, mistake, inaccuracy, etc.)
- Customizable board and piece themes
- Opening recommendations and direct study links
- Responsive, mobile-friendly UI
- Game filtering and metadata
The app uses the Lichess API to fetch your games and mistakes, then analyzes them with Stockfish 17 (multi/single thread depending on device). All puzzles are interactive and visually rich.
- Enter your Lichess username on the home page to load your recent games. No login or password is required.
- Select a game from your list. Only games with computer analysis on Lichess will appear.
- Solve the puzzles generated from your mistakes. Try to find the best move for each position and get instant feedback.
If a game is missing, run computer analysis on it in Lichess first.
- Move Feedback & Classification: Every move is analyzed and classified (blunder, mistake, inaccuracy, good, excellent, best, book, great) with clear visual feedback and icons.
- Customizable Board & Pieces: Choose from a wide range of board and piece themes inspired by Lichess.
- Opening Recommendations: When you make a mistake in the opening, get a direct link to the Lichess Opening Explorer for further study.
- Game Filtering: Filter puzzles by player, date, time control, color, and more.
- Game Links & Metadata: Instantly jump to the full game on Lichess, and see rating changes, phase, and more for each puzzle.
- Responsive UI: Works great on desktop and mobile, with a clean, modern look.
- Frontend: React, TypeScript, Tailwind CSS
- Chess Engine: Stockfish 17 (multi/single thread)
- Board UI: react-chessground
- API: Lichess API for games, moves, and PGN
src/— Main source codesrc/features/— Feature modules (chessboard, panel, training-session, etc.)src/components/— Shared layout and UI componentssrc/constants/— App-wide constants (piece values, URLs, etc.)src/state/— Redux state slices and hookssrc/assets/— Icons and images
- Clone the repo:
git clone https://github.com/JamarTG/litrainer.git cd litrainer - Install dependencies:
npm install
- Start the development server:
npm run dev
- Open http://localhost:5173 in your browser.
Note: Requires Node.js 18+ and npm 9+.