Inspiration

My bookshelf has three flashcard apps' worth of feature creep. The one I actually used was a stack of index cards with a rubber band. FlashFocus is that stack in a browser tab.

What it does

Make a deck, add cards, tap Study. Show front, tap to flip, then rate Again / Hard / Good / Easy. The card reschedules itself with a tiny SM-2 style algorithm: Again=10 min, Hard=1 day, Good=3 days then doubles, Easy=7 days then doubles. Home shows your decks with a 'cards due today' badge.

How I built it with MeDo

One prompt described the deck/card data model, the SM-2 interval rules in plain text, the Study session flow, and the indigo aesthetic. MeDo produced a useDecks hook plus a separate sm2.ts lib for the scheduling math. Study Session keyboard shortcuts (space to flip, 1-4 to rate) came for free.

Plugins and APIs used

  • React + Vite + Tailwind (MeDo default stack)
  • lucide-react icons
  • LocalStorage for deck + card + review-schedule persistence

No backend, no auth, no analytics.

Challenges I ran into

The due-card counter has to be timezone-aware: 'due today' means before midnight in your local timezone. First pass used UTC and a card due at 11pm Mountain showed up the day before. Fixed by checking next-review-date against local-midnight. Flip animation was 600ms which felt slow during a long study session; dropped to 250ms and it suddenly felt right.

What I learned

MeDo is best when you describe behavior precisely. Vague prompts produce generic apps; precise prompts produce specific ones.

What is next

  • CSV import for big decks
  • Per-deck statistics
  • Mark a card as 'leech' after 4 Again-in-a-row

Built With

Share this project:

Updates