Over the last few months I've built a lot of software that only me or my family will ever use. One example is Malva, a web app that scans my grandmother's handwritten Afrikaans recipes and turns them into clean, translated, digital ones. About as niche as my love of cheddar and strawberry jam on toast. Malva is en route to going public, but most of what I build is even more niche and won't ever see a user other than me. It's all too specific to my own life.
I started feeling an itch after getting started on my next app after Malva. I kept rebuilding the same things: the same infrastructure, the same setup steps, the same instructions to Claude about how to work. I didn't want to design my finance app's database from scratch (surely well-trodden ground) and I wanted my apps to talk to each other without hand-building a connector every time. I was feeling the kind of itch that usually comes just before deciding to build an app for dealing with a problem. But in this case, the problem was the building of an app itself.
If building your own personal app is like cooking a meal, then what I need is a kitchen. I don't want to be handed finished meals, but I don't want to farm my own wheat either. I want a well-stocked kitchen and good recipes for at least the basics. There ought to be a way for me, or my AI, to reach for best practice at a higher level of abstraction than hunting down open-source code.
I'm not alone in this. My Reddit feed is full of people vibe-coding the same kind of userbase = 1 apps with Claude Code, Codex, Cursor, and a dozen others. The barrier has dropped so far that these niche, personal apps are everywhere now. But after an initial wave of excitement, I noticed people are hitting a wall. Building the personal features is the fun part; redoing the plumbing underneath, every single time, and rediscovering the macro-process of how software is built is dampening the momentum.
Selfishly, I'd like to build software shaped exactly to my needs, as quickly and with as little effort as possible. Which is now my next project. All the building blocks for building my dream kitchen already exist. I only need to arrange them in the right way.
There's a lot of existing work on these topics under various names, and this exploration builds on a few of these ideas, the main ones being:
- Robin Sloan, "An app can be a home-cooked meal" (2020) — the case for software lovingly made for a handful of people.
- Maggie Appleton, "Home-Cooked Software and Barefoot Developers" — her closing keynote at the Local-First Conference (Berlin, 2024).
- Geoffrey Litt, Josh Horowitz, Peter van Hardenberg & Todd Matthews (Ink & Switch), "Malleable Software" (2025).
Many of the same questions that were bothering me are raised in these works, and so I decided to explore them and try to come up with some proposed answers.
Robin Sloan, when building the app that he would describe as a home-cooked meal, made use of an open source component, without which he said the project would not have been possible. In the app-as-food metaphor, that I so dearly love, and which I am extending here, he used a box of pasta. He didn't cultivate a wheat field and rear chickens to obtain flour and eggs for making pasta from scratch. While you might not want to invite the whole world to use your exact niche app, an abstract Recipe for how to build an app like that could be useful.
How can we make recipes and quality ingredients available to everyone for cooking at home?
When speaking of the "glue" that's needed to combine the different LEGO blocks of code from AI agents into working software, Maggie Appleton said, "We first need language model agents that are designed to act as central orchestrators for home-cooked software projects... And then we also need tools that are designed to talk to and work with these orchestration agents."
What form might these orchestrators and tools take?
In Malleable Software, the authors share a very similar vision to what I'm calling hyper-personalised software. They raise two challenges around how data ought to be shared between tools and there being the right infrastructure for communal creation: "If we're going to use different software tools together in coordination to get a job done, it's essential that those tools can operate on one shared reality." and "With the right infrastructure, we can work together to craft our software."
How could tools have this shared reality, and what is the right infrastructure to enable this world?