← All projects
Margin
Live lecture outlines, for taking notes on paper.
- Status
- TestFlight beta
- Platforms
- Mac, iPhone
- Started
- 2026
- Built with
- SwiftUI, whisper.cpp, llama.cpp, Gemma, CloudKit
Privacy ↗ (opens in a new tab)Support ↗ (opens in a new tab)
Why I made it
Writing notes by hand helps me remember them, but it means missing whatever the lecturer says while I'm still writing the last point.
Margin records and transcribes the lecture on the Mac and keeps a live outline beside me, so I can write on paper without losing anything. Every point is tied to the lecturer's exact words, and the recording never leaves the computer.
What it does
- Records a lecture and transcribes it live with Whisper. Voice Memos can be imported too.
- Builds a heading-and-bullet outline as the lecture goes, using exact excerpts from the transcript.
- “Hold to write” freezes the outline while you write; tick points off as you copy them to paper.
- Speaker matching keeps the lecturer and leaves the room's chatter out.
- Attach the PDF slides to get technical terms right, and review suspected mishearings against them.
- Ask questions about the lecture; answers cite timestamps and slide pages.
- Drafts Anki flashcards from what the lecturer emphasised, for you to review before exporting.
- An iPhone reader with search and a speed-reading mode, synced over iCloud.
Screenshots




Under the hood
- Everything heavy runs locally: Whisper for transcription, speaker embeddings, and a 12B Gemma model for the notes. Audio is never sent anywhere.
- The notes are checked against the source. Each automatic point has to copy a transcript excerpt word for word, so the model chooses and groups what was said rather than paraphrasing it. When the evidence isn't there, it declines.
- Recording goes to lossless CAF so a crash can't corrupt it, unfinished jobs resume after a relaunch, and a supervisor stops inference workers after a force quit.
- Model downloads are resumable and pinned by SHA-256.