Web Applications
Recall
Built by Katrina Villamor
A spaced-repetition trainer I built for my sister's nursing board review, later opened up to her study group.
Builder email verified
Verification

- Type
- Personal
- Category
- Web Applications
- Published
- Jul 25, 2026
- Updated
- Jul 25, 2026
About this project
- What I built & why
My sister was revising for nursing boards with paper flashcards and reviewing the same cards she already knew while neglecting the ones she didn't. Spaced repetition apps exist, obviously, but the good ones assume you'll build a deck and she needed to type in material from lecture handouts on a phone at odd hours. I built her something with a deliberately fast card-entry flow and a scheduler that just works without configuration. It took about a month of evenings, and it's the only front-end project I've finished.
- The problem
It solves the problem that revision time is finite and attention goes to the wrong material. The scheduler decides what to show and when, so the student doesn't have to. It's for people revising a large body of factual material under a deadline — my sister first, then eight people in her study group, then a handful of their friends. It doesn't try to be a general knowledge tool; there's no import, no marketplace, no sharing beyond a group you're invited to.
- What I owned
All of it, which is why the code is the way it is. I did the scheduling algorithm, the data model, the Next.js app and the deployment. The scheduler is a variant of a well-known spacing algorithm with the parameters adjusted after watching how my sister actually used it — she reviewed in long sessions the night before, not daily, and the standard parameters punish that pattern harshly. I also did the interface design, which a designer friend looked at and described as functional, correctly.
- Technical & product decisions
I chose to make the group feature a shared deck with individual schedules, rather than a shared schedule. Eight people revising the same material are at different points and giving them a common queue would have made it useless for everyone but the median student. I stored review history as an append-only log rather than just the next-due date, which let me change the scheduling parameters twice without losing anyone's progress — I recompute from history. I also deliberately left out any gamification. My sister was revising for a professional qualification under real pressure, and a streak counter that makes her feel worse for missing a day was not something I wanted to build.
- Hardest challenge
The hard part was cramming. The scheduling literature assumes steady daily review, and real students under deadline pressure do eight-hour sessions two days before an exam. My first version scheduled cards weeks out and was useless in that mode. I added a deadline-aware mode where you enter your exam date and the scheduler compresses intervals to fit, prioritising cards you're weakest on and accepting that long-term retention is not the goal any more. It's academically the wrong thing to do and it's what the situation calls for.
- Result & impact
My sister passed, which I obviously can't attribute to a flashcard app, but she used it daily for four months and preferred it to what she'd been doing. Her study group of eight adopted it and about twenty people have used it since, entirely by word of mouth. I've had two requests to add a feature that would turn it into a general study platform, and I've said no both times — it does one thing for one kind of user and I have no interest in maintaining more than that.
- Who else worked on it
My sister tested every version and was blunt about the ones that were annoying, particularly the early card entry flow which took too many taps to use while listening to a lecture recording. Her friend in the study group found the bug where a shared deck's edits wiped other people's review history, which was the worst thing I've shipped and which she caught within a day. A designer friend looked at it once, told me it was functional, and declined to elaborate.