Skip to content
Projectactive

Marginal Notes

A minimal, local-first markdown tool for turning reading notes into spaced-repetition cards. Single binary, no account, no cloud.

SourceLive demo
TypeScriptNode.jsMarkdownSQLite
A notebook margin with handwritten annotations

Marginal Notes is the tool I built to solve a recurring problem: I read a lot, I take a lot of notes, and then I forget most of what I read. The standard solution — a spaced-repetition app — wanted me to type cards by hand. I wanted to write notes in markdown and have the cards extract themselves.

How it works

You write notes in plain markdown with a small convention:

The natural rate of interest is unobserved.
?:: It must be estimated, never directly measured.
 
What does the Taylor rule prescribe?
?:: i_t = φ_π·π_t + φ_y·ỹ_t

Any line beginning with ?:: becomes the back of a card; the preceding paragraph is the front. Run the build, and the cards are synced to a local SQLite store. No account, no sync, no server.

Design choices

A few decisions worth stating explicitly:

  • Local-first, always. Notes and cards live on disk. The worst-case failure is a corrupted file, not a dead company.
  • Plain text in, plain text out. Your notes are markdown. If the tool disappears tomorrow, your notes are still readable.
  • CLI by default, UI as a guest. The interface is a thin layer over a honest command-line core. Everything scriptable.

Status

I use it daily. It is small on purpose and I intend to keep it that way.

The best tool for thinking is the one that gets out of the way of the thinking.