Tech Lead // Backend & Android
I build software, and I'm learning the web in the open.
I've spent 15+ years building native Android, Kotlin Multiplatform, and backend systems, mostly as a tech lead and manager. This site is where I think out loud about what I'm building, starting with the site itself, which I host on my own server.
now Building this site from the ground up, writing about the bugs worth remembering, and shipping small apps on the side.
Writing
all posts →- Don't let a model grade its own homework
I ran a bake-off to pick the LLM that writes my kid's bedtime stories, and nearly shipped a rigged result. The fix was cheap: never let a model family judge itself.
- The forgotten flag that shipped a broken build
I built a Flutter release, put it on a real phone, and it was dead on arrival. The server was healthy the whole time. One missing build flag had quietly compiled localhost into a shipping app.
- How not to double-bill a dead phone
My bedtime-story app spends real money on a slow LLM call, and every retry, double-tap, and dead battery was a chance to charge for the same story twice. Here's the small set of moves that made retries free.