Project
Roulette

Spaced Repetition Deck

Cards you keep getting wrong come back tomorrow; the easy ones wait months.

IntermediateWeb appEducation10–20hAI-buildable 4/5no setupworth shipping

A flashcard app built around a real scheduling algorithm rather than a shuffled queue. Grade each card after answering and the interval adjusts — SM-2 or a simplified variant. The scheduler is the whole project, and a due-cards queue that behaves correctly across days is harder than it looks.

UI
Logic
Useful

Hosting · Free forever

Deploys free on GitHub Pages, Cloudflare Pages or Vercel Hobby.

Deploy it and share a link.

Core features · 7

  • Create decks and add cards with a front and back
  • Review session shows only cards that are due today
  • Grade each answer and let the grade drive the next interval
  • Ease factor per card adjusts up or down with performance
  • A forecast shows how many cards are due over the coming days
  • Session ends cleanly when the due queue is empty
  • All decks and scheduling state persist

The interesting part

  • Implementing an interval algorithm that behaves sensibly on day one and day four hundred
  • Day boundaries and timezone changes shifting what counts as due
  • Preventing a huge backlog from making the app unusable after a break

Once it works

  • Add cloze deletion cards
  • Import from an Anki export
  • Add a retention graph over time

Suggested stack

reacttypescripttailwinddate-fnslocalstorage

Track it