Open Source Flashcards Template
Spaced repetition that decides when you see a card again.
A flashcard app with decks, an SM-2 spaced repetition scheduler, four-grade reviews with visible intervals, bulk import, and a progress view.
This is the real app, not a mockup. Whatever you enter in the demo stays in your browser and belongs to nobody.
What you get
One zip. Everything to own it.
Flashcards is a study app built around the finding that makes spaced repetition work: the best moment to review something is just before you would have forgotten it. Cards live in decks, and every review is graded on four buttons — again, hard, good, easy — each showing the interval it will produce before you press it, so the scheduler is never a black box. Behind them is SM-2, the algorithm underneath SuperMemo and the family Anki belongs to: each success multiplies the interval by the card's ease factor and pushes it further out, each failure pulls it back to today and lowers the ease. Cards graded 'again' return at the end of the session rather than immediately, because re-reading an answer you just saw is not a memory test. Decks fill fast — paste a list and split front from back on a tab, an em dash, a semicolon, or a double colon — and the progress view reports the shape of a deck rather than a score: what is new, what is still settling, and what has moved past three weeks and can fairly be called known.
- SM-2 spaced repetition with whole-day intervals
- Four review grades, each showing the interval before you press it
- Lapsed cards return later in the session, not immediately
- Multiple decks with per-deck due counts
- Bulk import — paste a list, one card per line
- Progress view with streak, 14-day history, and deck maturity
flashcards/├── app/the running Next.js app├── agent/START_HERE, PROJECT_MAP, RULES, RECIPES, TESTS, DEPLOY├── CLAUDE.mdread automatically by Claude Code├── AGENTS.mdread automatically by Codex├── .cursor/rules/loaded automatically by Cursor└── README.mdrun it, then make it yours
Inside the app

Customize with AI
Your agent already knows this codebase.
Ships with CLAUDE.md, AGENTS.md, Cursor rules, and a full agent handbook — project map, safety rules, recipes, tests, and deploy notes.
Prompts written against this app
Run it
5 min to your own copy.
- 01Create your editable app copy and unzip it.
- 02Run npm install.
- 03Run npm run dev and open http://localhost:3000.
- 04Read /agent/START_HERE.md before customizing.
- 05Swap the local-first storage boundary for your own backend when ready.
Flashcards data stays in this browser by default.
No account, backend, or cloud sync is included in the current package.
An agent can add optional sync later while preserving the local-first default.
This package is standard-ready for Create My App and AI customization.
A full app-only PWA install route is not enabled yet for this app.
Questions people ask
SM-2 with whole-day intervals — the same family as Anki's scheduler, though not a copy of its tuning. Successful recalls multiply the interval by the card's ease factor; failures reset it to today and reduce the ease.
It is a working, installable app with the same core loop, and it is a foundation you own the source to. It does not read .apkg files or sync to AnkiWeb, but adding an importer is a well-scoped change for an AI coding agent.
No. Cards, scheduling state, and review history are stored in your browser. There is no account and no sync unless you build one.
Yes. Paste a list with one card per line and separate front from back with a tab, an em dash, a semicolon, or a double colon. Lines without a separator are skipped rather than turned into broken cards.
If this isn’t quite right
Take Flashcards and make it yours.
Free, MIT, 5 min to running. The demo above is exactly what lands in your folder.