I build small apps by myself, and I write about how it actually goes.
Not the polished founder-story version. The real one, where you spend a whole afternoon making a capybara’s hop feel right, where a language model keeps getting killed by the phone’s memory manager until 1am, where the marketing plan is “post in a forum and hope someone cares.” I have shipped a handful of apps this way, and this site is where I write down what I learned so the next person, possibly future me, does not have to relearn it the hard way.
What I build
Three apps in particular shaped most of what is written here, and they share a stubborn theme: do the hard thing on the device, so the user never has to trust a server.
Personal LLM is an AI chat app that runs entirely on your phone. No account, no subscription, no messages leaving the device. Getting a real language model to run well on a phone, inside a few gigabytes of RAM shared with everything else, turned out to be the most interesting engineering problem I have taken on alone. I wrote the whole story in how I built an offline AI chat app.
Private Transcribe does the same trick for speech. It transcribes audio in 99+ languages using Whisper, on-device, so a doctor’s visit or a private voice note never gets uploaded anywhere. The privacy promise is the entire product, which meant reading every line that touched your data myself. That build is written up in how I built a private speech-to-text app.
Capybara Crossing is the odd one out: a casual arcade game where a capybara hops across endless traffic. No servers, no monetization traps, just a game I wanted my niece to be able to pick up in two seconds. It taught me more about polish and feel than any of the serious tools did. The story is in building Capybara Crossing.
How I work
I lean heavily on AI coding assistants, what people now call vibe coding. I am one person. I cannot type every line of every app and also do the design, the marketing, and the support. So the assistant writes the volume and I own the parts that carry weight: the on-device performance, the privacy guarantees, the taste calls that no model can make for you. I am opinionated about where that line sits, because getting it wrong is how you ship broken code fast instead of good code fast.
I also build deliberately small. Static hosting, on-device processing, no backend to babysit. Every piece of infrastructure you remove is a piece that can never break at 2am, and as a solo builder that is not laziness, it is survival. I wrote about that choice in why I build small apps.
Why this site exists
Most of what gets written about building apps is either startup theater or thin SEO filler. I wanted a place that was neither. Everything here comes from actually shipping the thing, which means it includes the boring parts, the mistakes, and the decisions I would make differently now. If you are a solo developer, an indie hacker, or someone who just wants to turn an idea into a real app without a team or a budget, this is written for you.
No newsletter to sign up for, no course to buy, no funnel. Just notes from the workshop. If something here saves you an afternoon, it did its job.
The name, in case you are wondering, is just what I go by online. The apps are real, the lessons are hard-won, and the writing is my own.