AI dropped the cost of writing software far enough that it's now worth building a real, finished, tested thing just to solve a single person's problem. So that's what I do here. Every repo on this profile started as "I wish something did this for me" — and a few of them my friends quietly started using too.
None of it is a product or a side-hustle. It's what I make for fun, mostly on weekends, and usually carefully tested, because I'm the one who has to live with it.
Most of it traces back to a few things about my life: I fly gliders, I live in Melbourne, and my wife is a plant lover.
🛩️ instructa-mate A co-pilot for gliding instructors that answers only from the official training manuals, cites the exact page, and refuses when the answer isn't in them. I'm a gliding instructor; an invented procedure is a safety failure, so "not covered in the guides I have" had to be a first-class answer.
☕ english-breakfast A Telegram bot my partner and I use to study English. One Cloudflare Worker: the translation direction is detected deterministically and unit-tested; the LLM only does the part it's actually good at.
🌦️ burevestnik Posts Melbourne's forecast to Telegram twice a day. A pure, tested core with the side effects pushed out to the edges, flapping along on a GitHub Actions cron. (буревестник — "stormy petrel".)
🌱 plant-scanner An offline-first Android app for the Royal Botanic Gardens volunteer nursery. Built with accessibility in mind — big buttons, big text — and built to never lose a sale, with every decision that's easy to get wrong unit-tested off-device.
Melbourne · writing Java since before it was cool again · Quarkus contributor · happiest at 3,000 ft with the engine off.



