Work
Things I’ve shipped
Shipped products — some live, some personal tools I use daily. Each write-up describes the problem, what was built, and the reasoning, including what was deliberately left out.

An editorial directory for a category that didn't have one.
A live directory of the UK's wood-fired and outdoor sauna scene — operators, builders, and practical guides. The interesting decisions were the ones about what to leave out.
- 277
- operator listings
- 68
- wood-fired builders
- 11
- published guides
- Sourcedocs · email · notesChunkEmbedIndexvector storeRetrievehybrid + metadataDraft / answergrounded, cited
Knowledge Inbox OS
In use · local-firstTurn a pile of private documents into something you can ask questions of — with the privacy boundary designed in from the first line.
A reusable system that reads a folder of mixed documents and email, answers plain-English questions from your own material, and drafts replies in your voice. Proven across two unrelated collections without changing a line of core code.
- 2
- unrelated corpora proven
- 1
- shared codebase
- 0
- private data committed

AI training presentation
In productionA presentation about AI that proves the point by running real AI live, in the room.
A browser-based interactive presentation for non-technical business audiences, with working AI demos embedded in the slides. The engineering that matters is invisible: every live demo has a silent fallback, so a flaky network never becomes a failure in front of a room.

Household finance dashboard
In daily use · privateA production tool I actually depend on — and a worked example of keeping AI well away from the data that matters.
A finance dashboard I built for my own household and use daily. No database — the data layer is plain YAML files, kept local and never committed. The interesting parts are the constraints: a demo mode that can never leak real numbers, and an AI advisor that's allowed to read but never to decide.
- 13
- YAML data sources
- Daily
- in real use
- 0
- real figures shown

Running the chain on a real engagement
External engagement · anonymisedThe diagnostic pipeline, used end-to-end on a live external piece of work — not a demo.
I ran the full diagnostic chain for a solo founder repositioning a direct-to-audience personal brand: intake, cited research, a five-voice debate, three specialist reviews, and a strategy synthesis they could act on. Anonymised by design — what's shown is the shape of the work and the judgement behind it, never the contents.
- 5
- voices in the debate
- 3
- specialist reviews
- 0
- client details shown

Linen calculator
Delivered · commercial pieceA fragile spreadsheet turned into a dependable, can't-break tool — built fast, hardened for real use.
A small commercial piece for a holiday-let business: their weekly linen-prep spreadsheet, rebuilt as a single offline web app that a non-technical person can't accidentally break. One HTML file, no install, no internet. The story is speed, completeness and reliability on a real business problem — not technical complexity.
- 1
- HTML file — the whole app
- 0
- dependencies or build step
- Offline
- no server, no internet

The Great Howl
Self-initiated conceptA complete artist brand, generated end-to-end with AI — and deliberately held back from looking like it.
A self-initiated concept: an entire alternative-folk artist — music, imagery, brand, copy and a storefront — generated end-to-end with AI, then deliberately held to one cohesive aesthetic rather than the default AI look.
- Suno
- all music generated, none licensed
- AI
- every image generated — no stock
- 1
- person, end-to-end: music to brand to store