2026-04-15 · 2 min read
Spaced repetition, but harsh
Spaced repetition is one of the most studied ideas in learning science. The math is well understood: there's a moment, just before you'd forget a word, when reviewing it produces the strongest memory boost. Review too early and you waste the review. Review too late and the word is already gone.
Modern algorithms — we use FSRS-5 — model your forgetting curve per-word, per-user, and pick that moment automatically.
So far so good. But there's a soft spot in most implementations: the grading.
The grading problem
After you see a word, most apps ask you to rate yourself: Again / Hard / Good / Easy. The algorithm uses your rating to update the schedule. If you grade yourself "Good" on a word you actually fumbled, the algorithm pushes the next review further out — and three weeks later, you've completely lost it.
The rational move, every time, is to grade yourself harshly. Most people don't. Most people want to feel like they're winning.
What we do
Two things:
- We anchor the grading. Before you tap a button, you have to type the answer or pick from realistic distractors. Your performance constrains your self-rating — you can't claim "Easy" on a word you just typed wrong.
- We default to one button down. When in doubt, we grade Hard instead of Good, Again instead of Hard. The schedule that produces is tighter, you see the word more often early on, and the long-term retention is measurably better.
The cost is that your "due today" pile is bigger. The benefit is that words you've seen are words you actually know.
That trade-off is a feature, not a bug.
Why this matters more than streaks
A streak counter measures how often you opened the app. It says nothing about whether you're learning. We show you a streak — humans like streaks — but the number we actually care about is mature retention: of the words you've seen at least five times, how many do you still remember a month later?
For us, that number is the only metric worth optimising. Harsh grading is how we get there.
See what spaced repetition feels like →