A modern spaced repetition desktop app. Tauri 2 + Svelte 5 + Rust.
Built as an Anki replacement that cuts the Python middle layer, ships a ~8 MB installer (vs Anki's ~150 MB), and uses the real FSRS-5 algorithm for scheduling. Supports Markdown, KaTeX math, syntax-highlighted code blocks, inline images, and AI-assisted card generation via Claude Code.
Early development. Core review loop, deck management, AI generation, and SQLite persistence all work. No sync, no mobile, no plugins yet.
fsrs Rust crate (same algorithm Anki uses)$inline$ and $$display$$ delimitersdeck:, tag:, is:due, prop:ivl>=10,
re:, nc:, w:, wildcards, boolean operators, groupingclaude CLI subscription
(no API key required)rusqlite (bundled) for SQLite, fsrs for schedulingmarked + katex + shiki + dompurifycargo test for Rust, vitest for TypeScriptRequires Rust toolchain, Node 22+, and the Linux dev libraries for Tauri (libwebkit2gtk-4.1-dev, libgtk-3-dev, etc.).
npm install
npm run tauri:dev # dev with hot reload
npm run tauri:build # production bundles (.deb, .rpm, .AppImage on Linux)
On macOS and Windows, run npm run tauri:build on the target OS to get
native installers.
# Rust tests (db, srs, media)
cd src-tauri && cargo test
# TypeScript tests (markdown rendering)
npm run test
Svelte UI (src/)
├── lib/components/ reusable components (Markdown, MarkdownEditor, Sidebar)
├── lib/pages/ Review, Decks, Browse, Generate, Settings
├── lib/stores/ data, theme, router, shortcuts, srs
├── lib/markdown.ts GFM + KaTeX + Shiki pipeline
├── lib/media.ts image upload bridge
└── lib/query.ts Anki-compatible search parser
Rust backend (src-tauri/src/)
├── db.rs SQLite schema, migrations, CRUD commands
├── srs.rs FSRS-5 scheduler wrapper
├── media.rs content-addressed image storage
└── lib.rs Tauri app setup + command registry
Design docs (docs/superpowers/specs/ and plans/)
The core idea: no Python middle layer. The frontend talks to Rust directly through Tauri commands, cards and media persist to SQLite under the OS app-data directory, and everything that can run in Rust does.
MIT. See LICENSE.
This is a ground-up rewrite that does NOT reuse any code from the original Anki project (which is AGPL-3.0). It only borrows the FSRS algorithm (MIT licensed) and the general concept of spaced repetition flashcards. All other code is new.