I picked up Logical Chess: Move by Move a few months ago. Great book. Except every few pages I'd hit a move like Nxb5+ or O-O-O and completely lose the thread. I'd stop, count files, second-guess myself, then forget what Chernev was actually explaining.
I went looking for a free tool that just drilled notation. Nothing paywalled, nothing that needed an account. Couldn't find one I liked.
So I built it: ChessNotate - a free, offline-capable chess notation trainer with spaced repetition.
And I built the entire thing without writing a single line of code myself.
Here's what that actually looked like.
The workflow: Claude Code + Claude Design + Reddit
I'm more of an infra person, not a developer. I can read and understand the code code and spot when something's off — but I'm not sitting there writing TypeScript by hand. This project was a chance to see how far I could push Claude as a genuine engineering and design collaborator.
The answer: very far.
Claude Code in Dispatch mode
I'd describe a feature in plain English — the scope, the constraints, the expected behaviour — and Dispatch would coordinate multiple subagents to tackle it in parallel. One agent working on the spaced repetition logic. Another building the drill state machine. Another wiring up IndexedDB with Dexie. All at once.
The SM-2 spaced repetition algorithm, the PGN parser, the drill runners, the local storage layer — all of it was built this way. I never typed a function.
My actual job was:
- Writing the product specs (what this feature needs to do, what the edge cases are)
- Reviewing the output (does this make sense? does it handle castling? what about en passant?)
- Making architectural calls (no backend, no auth, local-first, pure functions in
lib/) - Asking the right questions when something felt off
It's a genuinely different mental model from AI autocomplete. Less "finish my sentence" and more "here's the brief, come back when it's done."
Claude Design for the UI
The visual design — the editorial aesthetic, the typography system, the component library — was handled with Claude Design.
I gave it a direction: minimal, dark, book-like, not gamified. Think NYT Games energy. Serif headlines, generous whitespace, the board as the hero of every screen. I wanted it to feel like a considered tool, not another flashcard app.
Claude Design took that brief and executed it — colour tokens, type scale, spacing system, button variants, the whole thing. I reviewed, gave feedback, it iterated. The design system doc it produced became the ground truth that Claude Code then built against.
No Figma. No fiddling with CSS variables by hand.
What the app actually does
Three drill modes, all free, no account:
Square ID — A coordinate appears (f3) and you tap the square as fast as possible. Spaced repetition schedules harder squares more frequently until you've burnt the board into memory.
Notation Write — A position appears and you write the SAN notation for the move. The tricky part: handling disambiguation when two pieces can reach the same square. Ne2 isn't always enough — sometimes it needs to be Nge2.
PGN Walkthrough — Step through famous games move by move. Read the notation in context, see the position update, understand what the book is actually telling you.
No backend. No database. Everything lives in IndexedDB on your device. Fully offline-capable via PWA. Clear your browser storage and it's gone — that's a conscious tradeoff for zero infrastructure.
What I actually contributed
I want to be honest about this, because the "I built this solo" narrative in indie dev is getting murky.
I contributed:
- The product idea and the problem definition
- The spec documents (detailed enough that Claude Code could build against them which tbh Claude also co-authored)
- The architectural decisions
- The design direction and brand brief
- Every review pass — catching bugs, edge cases, UX decisions that felt off
The tools handled execution. The decisions were mine.
I think that's a legitimate way to build software in 2025, and I'd rather say it plainly than pretend I was up at midnight writing TypeScript.
What's next
- More famous games for the PGN walkthrough
- A fourth drill: Read & Play — you see the notation, you play the move on the board. The exact skill you need to follow a chess book.
- Mobile haptic feedback polish
If you're learning chess and notation slows you down, give it a try: chessnotate.com
And if you've built something meaningful with Claude Code or similar AI tooling — I'd genuinely like to hear how you're thinking about the human/AI split in your workflow. The question of "what's actually mine" is one I'm still working through.
Top comments (0)