Cached Cards

When I put myself in the shoes of the user, I thought about how much it would suck to pay to audit the same card multiple times. That would be so wasteful and hostile to the consumer.

So I implemented a system called “Cached Cards.” After your cards are audited, the results and metadata are stored permanently. These results can then be retrieved in subsequent audits.

For example, if you audit a deck of 1,000 cards and later update 50 of them, a subsequent audit of those 1,000 cards means you only pay for the 50 changed cards. The cached 950 reappear in your results free of charge.

Diagram showing cached cards being retrieved free of charge in a subsequent audit

Because the cache is global, we can do some really cool things. If Alice (in the US) audits a deck of flashcards, and Bob (in Germany) later audits some of the same cards, Bob pays $0 for the cards Alice already audited. Alice and Bob don't even have to know each other to take advantage of this feature. In this way, the community builds a gigantic brain of audited flashcards together.

This means that a classroom, a university, or a group of friends can collaborate and share the financial burden of auditing a particular collection of cards.

How it Works

Each row in the card database is identified by a natural composite key derived from four variables:

FieldKeyDescription
Note GUIDnote.guidA short alphanumeric string assigned when the note is created.
Card Ordinalcard.ordThe cloze index (0, 1, 2…) distinguishing cards generated from the same note.
Modification Timenote.modUnix timestamp of the last edit to the note (content, tags, or fields).
Notetype IDnote.midThe numeric ID of the note type (model) used to render the card.

If any of these variables change even slightly, that busts the cache and the card is treated as a new entity eligible for review. Obviously if someone makes an update to a card, that card should be reviewed again in a subsequent audit.

Your audit needs to be fully complete before cards are cached. So submitting several audits in rapid succession won't let you take advantage of cached cards. Wait until you receive results before submitting the next audit.

Note that all audits, regardless of card count or cache hit rate, incur a small minimum fee to cover hosting and processing costs.