trieur.

Flashcards, the Anki way

Spaced repetition is card sorting where the zones are how well did that go and the pile writes itself: every answer schedules the card back into the future. Tap the card to turn it over, then grade it โ€” the zone labels show what each grade costs you in days, which is the number Anki puts on its buttons and the only one anybody reads.

This session

reviewed0
again0
due nowโ€”
scheduled0

The card in hand

ease2.50
intervalnew
reps ยท lapses0 ยท 0

Coming back

    Why there is no model here

    Every other demo hands the deck an advisor, and this one does not. A recommender learns where things go from what the card looks like โ€” and a flashcard's grade does not live in the card, it lives in your head. A model that guessed Good because the last three Japanese cards were good would be confidently wrong about the only thing that matters. Knowing when not to predict is part of the design.

    The pile writes itself

    onSort grades the card with SM-2, and then puts it back: Again returns it a few cards later in the same session, anything else schedules it out in days and removes it from today's queue. That is the whole loop โ€” the deck never needs to know it is doing spaced repetition.

    onSort: (card, zone) => {
      const graded = schedule(card, GRADE[zone.id]);   // SM-2
      if (graded.interval === 0) deck.setItems([...deck.items.slice(1, 4), graded, ...deck.items.slice(4)]);
      else scheduled.push(graded);                      // out of today's pile
    }

    The zone labels are rewritten for every card with setZones(), which is what makes the four buttons honest: Easy on a card you have seen four times is not the same promise as Easy on a card you have never seen. Same keys, same positions โ€” only the numbers move.

    turns the card over (there is no "later" in a study session, so the skip key does the one thing that makes sense), a s d f grade it, takes the last one back โ€” including its schedule.

    Keyboard and gestures

    Sorting

    File into a zone
    a s d โ€ฆ or drag the card there
    Accept the model's suggestion
    Skip โ€” back of the pile
    Undo, and unlearn it
    Fullscreen
    the bar button; Esc leaves

    Touch

    Accept the suggestion
    double tap the card