Design
Figma ↗ Every day
Where the work starts and where engineering reads it from: the systems, the screens, the motion, and the variables that carry the names the code uses.
Pen.dev ↗ Design in the repo
A design canvas that lives in the codebase as a file, so an agent can read the design and write to it.
Affinity Designer ↗ Vector
Logos, marks, and the odd illustration. The things Figma was never for.
Build
Claude Code ↗ Writes the code
Most of the code on this site and in HexWatch came out of it, working from my Figma files and a long set of project notes.
Codex ↗ Second opinion
Reviews, and the jobs I hand off to run alongside.
Orca ↗ Agents in parallel
A worktree and a terminal per agent, so several can work on one codebase without tripping over each other.
Zed ↗ Editor
Fast and quiet. It gets out of the way.
Ghostty ↗ Terminal
The terminal everything else runs in.
Xcode ↗ Swift
Building, signing, and shipping the Swift apps. The writing happens in Zed.
In the terminal
ls, with colour and a tree.
cat, with syntax highlighting.
find and grep, fast enough to forget about.
Fuzzy finding, and a cd that learns where I go.
Shell history that syncs and searches.
Git in a panel, with readable diffs.
GitHub without leaving the shell.
Local HTTPS domains for dev servers, and a tunnel when something needs showing on a phone.
The prompt, set in JetBrains Mono.
Infrastructure
Supabase ↗ Data and auth
Postgres, auth, storage, and realtime. Row-level security is the security layer, not a fallback.
Vercel ↗ Front end
Where the Next.js apps run.
Railway ↗ Back end
API servers, workers, and anything that runs long or heavy.
Keeping track
Craft ↗ Docs
Notes, specs, and case studies before they are case studies.
Apple Reminders To-dos
Every task. Nothing more elaborate has stuck.
Raindrop.io ↗ Bookmarks
Everything worth keeping, tagged and searchable.