Spaced repetition, explained for product owners

What spaced repetition does for learners, what actually has to be built to support it, and what you can safely leave out of a first version.

Photo by Sasun Bughdaryan on Unsplash

Spaced repetition is one of the few ideas in learning apps that almost everyone asks for. It’s also easy to underestimate. On a feature list it reads as one line, but it touches how content is stored, what learners see each day, and what you can honestly tell them about their progress.

We’ve built it into our own products, including the flashcard platform Braineos and the exam prep app CertBrain. This is the version we’d give someone commissioning an app, not a developer.

What it does for learners

People forget things at a predictable rate, and reviewing something just as it’s starting to fade makes it stick for longer next time. Spaced repetition turns that into a schedule. Each item a learner studies comes back after a gap. Answer it correctly and the next gap is longer. Get it wrong and it comes back soon.

For the learner, this means two things. They spend their time on what they’re about to forget, not on what they already know. And they get a short, definite list of what to study today, instead of a whole course to reread.

What has to be built

Under the label, there are a few distinct pieces.

A schedule for every item, per learner. Each learner needs a record for each card or question they’ve studied: how well it has stuck and when it’s next due. In our apps, every card sits in a Leitner-style review box, with intervals of 0, 1, 3, 7, 14 and 30 days. A wrong answer drops it to the first box. A right answer on a due card moves it up a box.

Rules for edge cases. The simple version has holes. We found one while building CertBrain’s readiness score: studying a deck again before it was due moved every correct card up a box, so an afternoon of cramming could push a card to a 30-day interval without a single real gap. The fix was that a right answer on a card that isn’t due leaves its schedule alone, while a wrong answer still resets it. Decisions like this are small, but they decide whether the schedule means anything.

A “due” view. Learners need to see what’s waiting. On Braineos’s Progress page, that’s three counts: due now, in the next 24 hours, and in the next 7 days.

A review session. A study screen that serves due items, records each answer and updates the schedule. This is the part learners spend their time in, so it’s where the design effort goes.

One schedule per item, wherever it’s studied. If the same card can be reached from more than one place, decide whether it has one schedule or several. When we let CertBrain and Finance Brain learners save cards to a My cards page, the saved card became a link to the original rather than a copy. Studying it from either page updates the same schedule, and a correction to the course card shows up everywhere.

Your content has to fit

Spaced repetition works on small, answerable items: a term and definition, or a multiple-choice question with one correct answer. A long lesson can’t be scheduled, but the questions after it can. If your course is mostly long-form text, budget for writing those items. It’s content work rather than software work, and it’s often the bigger job.

What to leave out of version one

Plenty of features grow out of a review schedule. Most can wait.

  • A sophisticated scheduling algorithm. A fixed set of intervals is easy to explain and easy to test, and it is what our own apps use.
  • Projections. “You’ll master this deck by Friday” is the first thing people ask for. We left it out of Braineos’s Progress page on purpose, because it depends on answers the learner hasn’t given yet, and a wrong prediction teaches people not to trust the rest of the page.
  • Scores from too little data. A mastery score from three studied cards is noise. Both Braineos’s Progress page and CertBrain’s Readiness wait until a learner has studied at least 10 cards before showing one.
  • Detailed answer history. Accuracy trends and most-missed lists need a log of every answer. That’s worth adding when you know what you’ll show from it, not before.
  • Reminders and notifications. Useful, but each channel is its own piece of work, and a due list inside the app comes first.

The schedule is data you’ll reuse

Once each learner’s schedule exists, other features can read it without new tracking. Braineos’s learner analytics and CertBrain’s Readiness page are both built entirely from the review boxes the apps already stored. That’s the strongest argument for getting the basic schedule right first: everything you add later is read from it.

If you’re planning a learning app and want to know what spaced repetition would mean for your content, our education apps page explains how we work, or you can tell us about your project.

Planning an app?

We build learning products like this for clients too: courses, flashcards, quizzes and exam prep, on the web and mobile.

Education apps: what we do →

Start a project