Spaced repetition · iPhone iPad Mac Web · Anki import
Review on your phone in a queue, add cards on your Mac, fix a typo in a browser. Deckist merges all of it. There is no conflict dialog, because there is nothing to conflict: every answer is one entry in a log, and merging two devices is a union.
The apps are free and complete. Syncing them is the subscription.
Two devices, one ledger
Rate a card on either side
Both devices can rate the same card. The ledger takes both entries in time order and derives the next due date from all of them. Nothing is overwritten and nobody is asked to choose.
Entry 01 The one idea
Everything else on this page follows from that sentence.
This card, this moment, this rating, this device. An event is never edited and never deleted, and its identity is derived from its own contents, so the same answer recorded twice is one row.
Union does not care which device syncs first, what order the batches arrive in, or how many times a bad connection retries. The result is the same set, and nobody's work is dropped.
No device stores a due date. Each one recomputes what is due from the merged log, with the same engine, so two devices holding the same events agree without exchanging a single date.
A conflict needs two versions of one fact. A log has no versions, only entries. The longer explanation.
Entry 02 The algorithm
The published parameters are an average of everybody. Deckist fits them to your log once there is enough of it.
One card, rated Good each time it comes up. The interval is what FSRS makes of that history; the bar is the same number drawn to scale.
| Review | Rated | Next in |
|---|---|---|
| 1 | Good | 1 day |
| 2 | Good | 3 days |
| 3 | Good | 8 days |
| 4 | Again | 1 day |
| 5 | Good | 5 days |
| 6 | Good | 14 days |
| 7 | Easy | 40 days |
Once your log holds about 400 reviews, the parameters are refit to your own history in the background. Below that it declines, and says how many reviews are left, because fitting a fortnight makes a worse schedule than the defaults.
The scheduler is one Rust crate, compiled natively for the Apple apps and to WebAssembly for the browser. The phone, the Mac and the tab cannot disagree about what is due, because they run the same code on the same log.
Entry 03 Decks
A note's identity is its Anki GUID, which survives every export. Import a deck a second time and it updates the wording in place and never touches the reviews keyed to those cards. A collection backup brings the real review log across.
Follow a deck from the catalog and pull new versions. Your review events are keyed to the card, not the file, so an update changes the content and leaves months of scheduling where it was. Fork it, and you keep everything.
Entry 04 Price
What costs money to run is syncing between devices and keeping the catalog current, so that is what you pay for.
Your cards are yours either way. Export the collection whenever you like, and it opens in Anki.
Everything in free, on as many devices as you like. Sync that never asks which copy to keep. Follow shared decks and pull updates without losing history. Publish your own decks to the catalog.
See The Pricing