Skip to main content
Back to projects

Margin

Native capture, with evidence agents can use

Mac app · October 2026 · ongoing
Live site
SwiftSwiftUIAppKitPythonwhisper.cppMCP

Ownership

Product design & engineering

Key fact

Delivery: Public Mac download · iPhone beta pending

Margin

Overview

Margin began with a small problem in my own work: useful thoughts arrive while I am already doing something else. I built a native Mac capture panel, a library for notes and recordings, and an iPhone companion that opens to a blank writing canvas. The Mac transcribes locally. Agents can retrieve the original words through a read-only interface. The screenshots show the current Mac candidate in a separate fictional library.

The Challenge

Saving a thought should be immediate. Understanding what happened to it should be equally clear. The difficult work was joining capture, original audio, local processing and device transfer without making the person manage a pipeline.

Constraints

  • •A thought can be saved before choosing a project or connecting a service.
  • •Original notes and audio remain available when processing or transfer fails.
  • •Agent access exposes source evidence; consequential changes remain explicit actions.

How it works

Problem

Organisation gets in the way of capture.

Decision

Inbox is a complete destination. The Mac panel stays one shortcut away; iPhone starts with a writing canvas and a Record action. Typing gives Save priority, and drafts survive relaunch.

Tradeoff

Sorting happens later, so finding and moving a capture must stay easy.

Problem

A cloud upload can finish before the Mac has received a note.

Decision

The phone retains its original and sends a sealed package. The Mac verifies and imports it, then returns an identity-checked receipt. Receipts and returned transcripts explicitly request iCloud downloads before being read.

Tradeoff

Both devices need the same selected folder, and the Mac must be awake with Margin open. Waiting has to remain visible.

Problem

Transcription should not turn setup or a failed job into lost audio.

Decision

The Mac package includes its processing tools and speech models. Import preserves original bytes; recoverable state separates saved audio from a completed transcript.

Tradeoff

The download is substantial, and packaging, model paths and hardware behaviour need their own verification.

Problem

An agent answer needs evidence that can be checked.

Decision

A read-only MCP server and CLI expose original text, source identities, hashes and coverage limits. Notes written during a meeting retain a link to the moment they refer to.

Tradeoff

Retrieval coverage and answer quality remain separate claims. Experimental search work is evaluated separately from the released app.

Approach

1. Catch the thought

Quick Capture saves without a folder or title decision. Explicit project tags provide a home when one is already known.

Catch the thought

2. Keep the original

Notes and recordings remain accessible during processing and transfer. Trash and restore are explicit, and a valid Mac receipt confirms receipt rather than assuming it from cloud availability.

3. Read beside the moment

The meeting reader keeps the transcript, speaker labels and timestamped notes together. Speaker separation is optional and experimental; names are chosen by the person.

Read beside the moment

4. Hand over evidence

The agent interface returns source-linked context through read-only operations. The separate demo library keeps public examples away from personal notes and recordings.

Outcome

Margin is a signed, notarized Mac app with a public download. A clean install on a second Mac passed capture, transcription and the agent tools. The iPhone companion, whose notes already reach the Mac, is in beta preparation; first-run setup for new users and real-voice testing are the work still ahead.

At a glance

Public Mac download · iPhone beta pending

Delivery

Bundled local tools and speech models

Processing

Read-only MCP server and CLI

Agent access

Separate fictional library

Screenshot data

Learnings

  • →A transfer is complete when the receiver acknowledges it.
  • →Installation and model availability are part of the product experience.
  • →A rebuildable index and recoverable processing state protect the original evidence.

Anti-patterns avoided

  • ×Setup decisions before the first save
  • ×Treating cloud upload as Mac receipt
  • ×Replacing original evidence with generated prose
  • ×Silent agent writes

Next iterations

  • →Complete physical voice, transfer and interruption acceptance on current builds
  • →Observe two people completing first-use tasks without coaching

Get in touch

Want to talk about similar work?

Next project

Second Brain