Display

Overengineered hobbies.
Shipped.

Finished is the hard part.

Every product on this page — including this website — I built end to end by directing LLMs. I decide what's worth building at all, what earns a place in v1 and what defers, and what it runs on; the models write the first cut, then we prune and polish until v1 is genuinely finished — and I take it through store review and everything after. One person, full product lifecycle. The judgment is the job.

6Products owned end to end
3Live in public app stores
4Platforms live — Mac, iPhone, iPad, Android

01 — The work REV B

SHIPPED & SHIPPING

Production applications taken all the way through packaging, signing and store submission.

BUILD 01

KALKRA

macOS · iOS · Windows Live on the App Store — Mac, iPhone & iPad #

A mental-arithmetic trainer that reads how fast you actually solve, and re-tunes its difficulty in real time.

Kalkra — gameplay Kalkra — dashboard Kalkra — mode select Kalkra — stats Kalkra — dashboard (mobile) Kalkra — stats (mobile)
6 SHOTS — CLICK TO ENLARGE
Problem
Fixed-difficulty drill apps are either boring or discouraging, because they never learn the player's actual ceiling.
Approach
A calibration engine that measures solve latency per operation type and adjusts live. Fully offline and single-player — no accounts, no network, no telemetry in store builds.
Outcome
Live on the App Store for Mac, iPhone and iPad — free, one app across all three — with a truthful “Data Not Collected” privacy declaration. Windows and Android follow.
BUILD 02

GASTROTATOR

Android Live on Google Play #

Turns a twelve-minute cooking video into a structured, editable recipe with nutritional estimates — the most technically involved thing here, and the one you can install right now.

Gastrotator — recipe detail Gastrotator — library Gastrotator — settings Gastrotator — recipe (phone) Gastrotator — library (phone)
5 SHOTS — CLICK TO ENLARGE
Problem
The recipe in a cooking video is buried in twelve minutes of talking, in no fixed order, with quantities stated casually or not at all. Transcribing one by hand costs more than cooking from it.
Approach
A pipeline: pull the transcript, have Gemini extract ingredients, quantities and ordered steps, normalise units to SI, then estimate calories and weights. The hard part isn't the model call — it's forcing non-deterministic output into a schema stable enough to store, edit and trust.
Outcome
Shipped and live on Google Play. Less visually polished than the other two; considerably more complex underneath.
BUILD 03

PELLUCID

macOS · Windows · iOS Live on the Mac App Store #

A distraction-free writing environment whose interface fades out of the writer's way — and syncs their manuscript without ever holding it hostage.

Pellucid — editor Pellucid — research notes Pellucid — snapshots Pellucid — table of contents Pellucid — editor (mobile) Pellucid — research notes (mobile)
6 SHOTS — CLICK TO ENLARGE
Problem
Writing apps interrupt flow with chrome, and cloud sync usually means surrendering your files to a proprietary store.
Approach
A translucent “Whisper UI” that recedes while typing, over plain Markdown on disk. Versioned Google Drive sync using only the drive.file scope — the app can touch nothing it didn't create.
Outcome
Live on the Mac App Store as 1.0.1 — free, sandboxed, and shipping with no entitlement it cannot justify. iOS and iPad builds are green with keyboard-first interaction and OAuth via ASWebAuthenticationSession; Windows follows.
BUILD 04

AULOS

Windows · macOS Research — not for stores #

The bedrock. At ~44,000 lines it is very nearly as much code as all three shipped apps combined — and the reason they were quick to build.

Aulos — now playing, music Aulos — now playing, audiobook Aulos — library Aulos — mood dashboard Aulos — ambient noise mixer
5 SHOTS — CLICK TO ENLARGE
Problem
Music, podcasts and audiobooks each want different controls, different resume behaviour and a different sense of progress — yet players usually force one model onto all three. Separately: I needed somewhere to work out architecture properly, without a release date attached.
Approach
A pure-Dart domain layer with the data layer behind it, and strategy-pattern playback so the UI reconfigures itself per media type rather than branching everywhere. Native thread-safety guarding for Windows, and async disposal protection throughout.
Outcome
Deliberately never submitted anywhere. The layering, playback abstraction and resilience patterns proven here are reused across the store apps — they ship fast because this one didn't have to.
BUILD 05

DIEGEMA

macOS · Web In development — source public #

A free, ad-free player for LibriVox's public-domain audiobooks. Every recording in it was read by a volunteer and given away; the software around it should be given away too.

Diegema — now playing Diegema — discover Diegema — book detail Diegema — now playing (phone) Diegema — discover (phone)
5 SHOTS — CLICK TO ENLARGE
Problem
LibriVox holds tens of thousands of public-domain audiobooks, read by volunteers and free forever. The apps around them are mostly ad-supported wrappers, or general podcast players that lose your place halfway through chapter four of eight.
Approach
Make it behave the way a listener expects. It remembers exactly where you stopped — which book, which chapter, how far in — and picks up there. Books can be downloaded and played with nothing connected at all, and it browses the archive gently rather than greedily, because the people hosting these recordings are giving them away. The demo on this page is entirely self-contained: eighteen books and their cover art are built into it, so browsing it never calls out to anyone.
Outcome
Free, open source, and in no store yet — it runs on a Mac or in a browser, and that is all I claim so far. Even the name is a placeholder: if the LibriVox community is receptive, the intention is to let them choose the real one. Not affiliated with or endorsed by LibriVox.
BUILD 06

OVERENGINEEREDHOBBIES.DEV

Web Live — you're in it #

This page. A portfolio that is itself a build — generated from a database, no frameworks, deployed to the edge.

The Work, drafting-paper theme The Method, blueprint theme The Work, terminal theme The Method, drafting-paper theme
THIS PAGE, THREE THEMES — CLICK TO ENLARGE
Problem
A portfolio that lists projects flatly says nothing about judgment — and hand-maintained project pages rot the moment the work moves on.
Approach
Project data lives in SQLite; Python templates generate the static pages. No framework, no build chain, no client-side rendering. Theming is CSS custom properties, so a new palette is fifteen lines.
Outcome
Live on Cloudflare. The smallest build here by far — included because the structure of this page is itself the argument.
PYTHONSQLITECLOUDFLARENO FRAMEWORKS