About

Short version: I build small tools.

I'm a full-stack developer working across Swift/macOS and TypeScript. Most of what I build sits close to the desktop — editors, utilities, and the plumbing that lets an agent do something useful inside them.

I like small tools, clear interfaces, and systems that can explain themselves. That last part is most of the reason this site exists: writing things down is how I work out whether I actually understand them.

What I'm building

How I work

Design sketch first, then a failing test, then the smallest change that makes it pass. Claims about behaviour get checked against the running thing rather than argued from the diff. When something breaks, the interesting question is usually why nothing caught it.

If a system can't explain what it did, it isn't finished.

Elsewhere