Photograph a textbook page, drop in a lecture PDF, or paste notes. Capture writes flashcards, ties every card to the sentence it came from, and hands them to AnkiAI's FSRS scheduler only after you approve them.
Four card types chosen per concept: question and answer, cloze deletion for terms and formulas, reversible cards for vocabulary, and reading cards that drill kanji readings with furigana.
Every card has a source button. Tapping it opens the original page with the supporting sentence highlighted, so a learner can settle any doubt in one second instead of trusting the AI blindly.
A review tray before saving: accept, edit, or reject each card. Rejections ask for a one-tap reason (too easy, ambiguous, wrong, duplicate), and those reasons shape the next deck.
During study, a premium "Why was I wrong?" button explains the answer using only the cited source, with the page reference attached.
Large textbooks can be queued as an overnight build that is ready the next morning at lower cost.
file_id for every later pass.Generation quality is the product. A card that is wrong, vague, or untraceable costs a learner more than no card at all. These are the specific Claude capabilities the design depends on.
{
"cards": [{
"type": "basic | cloze | reverse | reading",
"front": "string",
"back": "string",
"concept_id": "string", // siblings share this; FSRS buries them
"source_span_ids": ["s12"], // joins to citations from the Ground pass
"difficulty_hint": 1, // 1-5, initial ordering only; FSRS owns scheduling
"tags": ["string"]
}]
}
One fact per card. Fronts must have exactly one correct answer. Prefer cloze for terms and formulas, reverse for vocabulary pairs, reading cards for kanji. Never introduce facts absent from the cited span. Match the learner's language and target exam level.
| Concern | Design |
|---|---|
| API key exposure | No key in the app. Calls go through a Cloudflare Workers proxy that holds the key. |
| Abuse | The proxy accepts only requests from genuine app installs (App Attest) and checks the StoreKit 2 signed transaction for premium features. |
| Runaway cost | Per-user daily page quotas, plus caching and batch builds to keep each deck's cost predictable. |
| User documents | Uploaded files are deleted from the Files API once the deck is built. Decks themselves stay on device and in the user's own sync account. |