Skip to content

Work

Six of these have a case study behind them, written the same way each time: the problem, the constraint, the decision I made and why, and the part that broke. The rest are here because they’re real, not because they’re finished.

Also built

No case study on these. They’re listed because leaving them off would make the six above look luckier than they were.

Delphi

Obsidian plugin

A vault curator with no ability to write. The agent decides where a file belongs; the plugin validates every field of that decision against the real vault and performs the write itself.

  • Decides, cannot act
  • Never deletes
In useTypeScript · Obsidian API · Claude Code

Saga

Agent system · media pipeline

A five-stage disc-to-library pipeline where exactly one stage may write to the protected drive, it never runs unattended, and cleanup is gated on the copy being independently re-verified first.

  • 9 runs logged
  • One writing stage, always attended
In useBash · Python · MakeMKV · HandBrake · FileBot

Phoebe Desktop

Native application · Swift

A three-tab desktop client built on one idea: an agent is its file. A markdown definition becomes a real CLI invocation, and the permission gates named in that file are enforced by the runtime rather than trusted to the prose.

  • An agent is its file
  • Zero import cycles
In developmentSwift 6 · SwiftUI · Swift Packages · MCP

GlowGPT

Web · desktop · iOS

The first assistant build, and the one that taught the most. A fixed planner model decides what to do while a chosen model writes the reply, and context is split into four domains with different rules about what may be summarised away.

  • 21 tool plugins
  • 6 documented sprints
  • Four-domain context model
SupersededReact · FastAPI · Electron · Capacitor · Remotion · Fly.io

Mortal Records

Web application · label

The label site: a catalog of artists, releases and tracks with the rights and credit data modelled properly underneath, so a release page and a registration never disagree about who did what.

  • Catalog data modelled once
  • Artists · releases · tracks
In useReact 19 · Vite · TypeScript · Supabase · Tailwind

MetaVault

Native utility · Swift

A batch media tagger with a pre-flight console that validates external volume state before it moves a single file. Also the honest counterexample here: 5,426 of its lines live in one view file.

  • 5,426 lines in one file
  • Drive-safety pre-flight
In useSwiftUI · ffmpeg · AtomicParsley

The Glow Project

Venture · behavioral health education

A behavioral health education company — explicitly not a clinical provider — built on a model written out of first-hand experience. Three products: an application, a book, and a course.

  • 40+ page business plan
  • Berklee capstone
  • Targeted 2027
In developmentBusiness plan · Brand system · Ethics charter

The roster

Agent architecture

Ten agents that each own an outcome rather than a task, and delegate strictly across the seams. One of them is labelled STUB in its own definition, because it has no data source yet and saying so is cheaper than finding out later.

  • 10 agents · 41 skills
  • One is honestly labelled STUB
In useClaude Code · Markdown · Bash · Python