e4 2025
Learn chess openings by playing them, not watching them.

- raw
- Video courses are passive and the good drilling tools cost money. I wanted to learn openings like vocabulary: see the line, play it from memory, and review it before I forget.
- design
- Two annotated courses, Caro-Kann for Black and Jobava London for White, 21 lines with a note on every move. Learn steps through a line, Drill has you play it from memory and explains any wrong move, and Review brings lines back after 1, 3, 7, 14 and 30 days.
- build
- Next.js 15 and NestJS 11 over MongoDB. Auth uses rotating refresh tokens behind a same-origin proxy, so cookies are first-party and rate limits are per visitor. Tests replay every line in chess.js and check each opening name against Lichess's open data. In all, 101 tests: 29 API unit, 49 API end-to-end and 23 Playwright.
- deploy
- $0 on Vercel, Render and MongoDB Atlas, with a Lighthouse mobile score of 100 for accessibility, best practices and SEO. Try it with no signup: you get a private account that deletes itself after 24 hours. The first request can take a minute while the free API wakes up.
Next.js, NestJS, MongoDB, chess.js