Chess Move Trainer
Pick up a piece and see every square it can legally reach.
IntermediateWeb appGame12–24hAI-buildable 4/5no setup
Not a full chess engine — a board that knows the movement rules. Pick up a piece and its legal destinations light up, including the awkward ones: pawn captures differing from pawn moves, castling conditions, and en passant. Legal move generation is a satisfying, well-bounded problem.
UI
Logic
Useful
Hosting · Free forever
Deploys free on GitHub Pages, Cloudflare Pages or Vercel Hobby.
Deploy it and share a link.
Core features · 7
- A board renders from a position with draggable pieces
- Selecting a piece highlights its legal destination squares
- All six piece types move correctly
- Pawn double-step, captures and promotion are handled
- Castling is offered only when its conditions are met
- Illegal moves are refused and the piece returns
- Positions can be loaded from FEN notation
The interesting part
- Legal move generation, especially moves that would leave the king in check
- Castling's full set of preconditions
- Parsing FEN into a board state correctly
Once it works
- Add check and checkmate detection
- Add en passant
- Add a move list in algebraic notation
Suggested stack
reacttypescripttailwinddnd-kit