Review and Decks

The review session

stateDiagram-v2
  direction LR
  [*] --> Prompt: next due card
  Prompt --> Reveal: try to recall
  Reveal --> Rated: Forgot · Hard · Got it · Easy
  Rated --> Prompt: more due and under the daily limit
  Rated --> Done: none left
  Done --> [*]: forecast for the coming days
  1. Due cards are computed on the device by replaying logs (see Learning Engine).
  2. Each rating appends a row to reviews and the outbox in one transaction.
  3. The next due date is shown immediately; nothing waits for the network.

Review timing

SettingEffectStored in
Daily limitCaps reviews per day; overflow rolls forward in due orderuser_settings
Memory targetDesired retention for FSRS; higher means shorter intervalsuser_settings
ForecastBar chart of cards due each day for the next weekcomputed
Recall rateReal first-try recall over recent reviews, shown next to the targetcomputed

success Showing the honest recall rate next to the target lets learners see whether their target is realistic and adjust it themselves.

Decks

Decks group boxes for focused review. There are three kinds:

KindHow it's madeSync
OwnLearner picks boxes from the ShelfSynced as a record; newest change wins
TopicFollow a whole topic; new boxes in that topic join automaticallyStores only the topic id
SharedOpened from a linkA snapshot fetched from /v1/decks/shared/:code, which can be saved as an own deck
sequenceDiagram
  participant A as Sharer
  participant API as API
  participant B as Friend
  A->>API: POST /v1/decks/share (deck snapshot)
  API-->>A: short code → link
  A->>B: sends the link
  B->>API: GET /v1/decks/shared/:code
  API-->>B: name + box ids
  B->>B: preview · save as own deck

Deleting a deck writes a tombstone (deleted), so the deletion syncs to every device like any other change.

${sch.nav()}