How the FSRS algorithm works
Repca uses FSRS (Free Spaced Repetition Scheduler), a modern spaced repetition algorithm. Its job: show you a card at the moment you are about to forget it.
The key difference from a mechanical "review every N days" is that the schedule is unique to every card and to every person. The algorithm takes into account both how hard this particular word is for you and how you remember things, and it recalculates the due date after each of your answers: easy words move weeks and months ahead, hard ones come back more often. Two people studying the same deck will see different intervals.
Why a fixed schedule doesn't work
A word you just learned fades within hours, while a word you have recalled correctly several times in a row will hold for months.
Recall doesn't fade evenly: it drops sharply in the first hours after you meet a word, then ever more slowly. That forgetting curve is exactly what FSRS models, using two values it keeps for every card:
- Stability — how long the memory holds before your chance of recalling it drops noticeably. Every successful review raises it, which is why intervals grow.
- Difficulty — how hard this particular card is for you, on a scale from 1 to 10. The higher it is, the more slowly stability grows and the more cautiously the algorithm stretches your intervals.
From these two numbers the algorithm picks the next review date so that your chance of recalling the card stays around 90%. Both values are recalculated after every answer — that's where the personal schedule comes from.
Learning steps
A new card doesn't go straight into review. First it works through short learning steps. Only then does it enter long-term mode, where FSRS starts computing real intervals for it.
The point is to lock the word in while it's still fresh. Scheduling a card you saw thirty seconds ago three days out is pointless.
At this stage your rating moves the card along the steps — the ratings themselves are covered below. A forgotten card goes through the same cycle, only shorter.
Four ratings
For every card, you mentally answer one question: how hard was it to recall? That answer is the rating, and it determines when you will see the card next.
- — you didn't recall it. The card's progress resets, and learning starts over.
- — you recalled it with effort. It will come back sooner than usual.
- — you recalled it normally. The usual interval.
- — you recalled it instantly. The interval grows the most — the card won't return for a long time.
The algorithm is only as useful as your ratings are honest.
Card states
Every card sits in one of four states — the same badges you see in the card lists:
- New word — never shown yet.
- Learning — first exposure, shown several times at short intervals.
- Review — learned, shown at growing intervals.
- Relearning — was learned but forgotten; goes through a short cycle again.
The usual path is New → Learning → Review. If a card in review slips: Review → Relearning → Review. Transitions happen automatically — there is nothing to manage by hand.
Review history
Every answer you give is stored — along with the rating, the card's state at that moment, its stability, difficulty and the scheduled interval. You can open any card's history and watch those numbers change over time.
The algorithm draws on a card's full history, not just your last answer — so the longer you use the app, the more accurate the intervals become.
Inside the app is an open-source implementation of FSRS, released under the MIT licence. It runs FSRS-6, trained on roughly three billion real reviews.