Bi

All work

e4 2025

Learn chess openings by playing them, not watching them.

Live demoCode

A Caro-Kann line in e4's Learn mode: the board with an arrow for the next move, the note explaining it, and Learn and Drill tabs.
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