Jul 27, 2026RustTauriSM-2spaced repetition3 min
Spaced repetition should read your notes, not replace them
memqi is a Tauri desktop app that runs SM-2 scheduling directly over an existing Obsidian vault — parsing three flashcard syntaxes out of markdown you already wrote, with no separate database of truth.
github.com/mohithsarma/memqi ↗Every flashcard app wants to be where your knowledge lives. That's the problem. My knowledge lives in an Obsidian vault, and the act of copying it into Anki is exactly the friction that stops me reviewing anything.
memqi inverts that. The vault stays the source of truth; memqi is a scheduler that reads it.
No import step
There's no "add to memqi." You write markdown the way you already do, and memqi parses cards out of it — supporting three different flashcard syntaxes, because I'd used all three across different periods of the same vault and wasn't going to normalize five years of notes to make a tool happy.
That's the actual design constraint of a vault-native tool: your data is already messy and already exists, and it is not going to reformat itself for you. Meeting notes where they are is the entire feature.
Real SM-2, not a rough approximation
The scheduling is a genuine SM-2 implementation — the ease factor, the interval progression, the lapse handling. It's not a difficult algorithm, but it's easy to do badly, and a spaced repetition tool with slightly wrong intervals is worse than none, because you trust it while it quietly wastes your time.
Review state has to live somewhere outside the markdown — you don't want ease factors polluting your notes — so it's kept separately and keyed back to the source. The vault stays clean and diffable, which was non-negotiable; it's in git.
Why Tauri
A Rust core with an HTML/CSS/JS shell. The vault parsing and scheduling are the parts that need to be fast and correct, and I wanted them in Rust. The review UI is a card, two buttons, and a progress indicator — a web view is more than enough.
The other reason is boring and decisive: it has to run offline against local files. A desktop binary that opens a folder is the right shape. Anything cloud-backed reintroduces the sync problem the vault already solved.
Cards from notes, with a human in the loop
There's an LLM workflow that turns a note into candidate cards — but it lands in an edit/accept step, not directly in your deck.
This one I feel strongly about. Auto-generated cards are reliably fine and occasionally nonsense, and a deck you don't trust is a deck you stop reviewing. The edit step costs about fifteen seconds per card and is what makes the generated ones usable at all. Half of what I accept, I've reworded first.
That's also the finding that carried into Manthan: generation is the cheap part. The review gate is what makes it a tool rather than a demo.
Where it stands
memqi is a personal tool that does what I need — it's not packaged, and there's no installer. The parsing handles my three syntaxes and would need work for yours. The source is up if you want to read it.
It's also the direct ancestor of a much larger idea. Once you can see every concept in a vault as a node, the obvious next question is which one you should learn next — and that's a graph problem, which is where Manthan starts.