SRS Algorithm: Comparison with Anki
Algorithm Overview
Our algorithm is a simplified variant of SuperMemo SM-2 (the foundation Anki is also built on). It uses a 4-point rating scale (Again/Hard/Good/Easy), a learning phase with fixed intervals, and an ease-factor-based review phase.
Core Implementation
See
DeckContext.tsx:320-334 for calculateNextInterval() and DeckContext.tsx:220-294 for updateCardProgress().
Design Philosophy
This app is built specifically for language learning, where the goal is not just correct recall but instant automaticity — the kind of reflex you need in a real conversation. This philosophy drives every design decision.
- Hesitation = needs more practice. If you had to think, the word wouldn't have come in a conversation. "Good" (correct with difficulty) is treated as needing re-exposure, not as a pass.
- Unified state model. Unlike Anki's learning/relearning/graduated stages, our algorithm uses one simple state. This is easier to understand and removes an unnecessary source of confusion for learners.
- Stricter standard = more reviews. This is intentional. The tradeoff for building muscle memory is more frequent practice on cards that aren't yet automatic.
Comparison Table
| Aspect | Our Algorithm | Anki |
|---|---|---|
| Ratings | 0=Again, 1=Hard, 2=Good, 3=Easy (same scale) | 0=Again, 1=Hard, 2=Good, 3=Easy |
| "Good" in review | Treated as failure → 180s | Success (interval grows, just less than Easy) |
| "Hard" in review | Treated as failure → 90s | Interval grows by 1.2x (no reset) |
| Learning steps | 5 fixed (10min→1hr→4hr→1d→3d) | Configurable, default 2 (1min, 10min) |
| Ease on "Good" | Decreases by 0.10 | No change |
| Ease on "Hard" | Decreases by 0.12 | Decreases by 0.15 |
| Ease on "Again" | Decreases by 0.14 | Decreases by 0.20 |
| Ease on "Easy" | Increases by 0.10 | Increases by 0.15 |
| Ease floor | 1.3 | 1.3 |
| Failure of mature card | Single fixed short interval (30s/90s/180s) | Goes through learning steps again, then re-graduates |
| Interval fuzzing | No | Yes (prevents card clustering) |
| Customizable steps | No (hardcoded) | Yes |
Strengths (given our goals)
- Simple & predictable — easy to explain to users and debug
- Strict standard for fluency — "Good" is not a pass, matching real-world language use
- Aggressive re-exposure — any hesitation means you see the card again very soon, building automaticity faster
- Generous initial ladder — 5 exposures in the first day builds strong initial memory before graduation
- No state complexity — no distinction between learning/relearning/graduated; one unified state model
Tradeoffs vs Anki
These are not weaknesses — they are intentional tradeoffs for the language-learning goal. Whether they matter depends on what the user wants:
| Tradeoff | How it works | Rationale |
|---|---|---|
| "Good" resets you | Any non-perfect rating resets to sub-minute intervals, even for mature cards | In a conversation, hesitation = fail. You need automaticity, not just recall. |
| No "Hard" middle ground | Both "Hard" and "Good" are treated as needing re-exposure | The distinction between "wrong" and "right with effort" doesn't matter in real-time speech. |
| Ease drifts down | "Good" reduces ease, so consistent non-perfect performance shrinks intervals | This is the mechanism that ensures non-automatic cards get the reps they need. |
| No graduated relearn | One short interval for failure, then back to normal scheduling | Simpler model; rapid re-exposure is more important than a gentle ladder back up. |
| No interval fuzzing | Cards can cluster on the same day | Acceptable tradeoff for simplicity; the app limits total cards per session anyway. |
| No customization | Learning steps are hardcoded | Reduces complexity for the target audience (language learners, not power users). |
When to use which
- Use our algorithm if you're learning a language and want conversational automaticity, not just recognition. You accept more reviews in exchange for faster reflex building.
- Use Anki if you want maximum efficiency per review, prefer fine-grained control, or are studying subjects where "correct with effort" is a meaningful success (e.g., medical school, trivia).