Essay

The tools are personal. The kitchen is not.

What
Three tools nobody else will use, measured: what got built, what got hard, and what it cost. An argument about where personal software actually depends.
Read against
Robin Sloan, “An app can be a home-cooked meal” · Geoffrey Litt, “Malleable software in the age of LLMs” · Maggie Appleton, “Home-Cooked Software and Barefoot Developers” · Ink & Switch, “Potluck” · Ivan Illich, Tools for Conviviality (1973)

Robin Sloan once wrote that an app can be a home-cooked meal: software made for a few people you know, with no ambition to scale. It was a lovely idea and, for most people, an unaffordable one. That changed. I now run three pieces of software written for exactly one person, and I can tell you what they cost — which turns out to be the interesting part.

The one idea

Personal software has become easy to make and impossible to make alone. It is convivial in what it produces and industrial in what it consumes.

1The measurement

Three tools. A terminal front end for watching the agents I run, a practice room for cello, and a sprint space. 13,837 lines between them, and an audience of one.

I have a control for the rate, which is the only reason any of this is worth writing down. I have kept a recipe archive since December 2020: 504 commits over five and a half years, hand-written, no agents. It is the same category of thing — software for an audience I could name — built the old way. Against it, the terminal tool took 188 commits in five days.

≈150×my own commit rate, before and after agents, on software for an audience of one (recipes: 504 commits / 2,042 days · grove: 188 commits / 5 days)

That is not a claim about anyone else. It is one person, the same person, in the same category, before and after — which is the one comparison the genre is usually missing, and the only one I can actually make.

2The first thing you build is a control room

Here is what I did not expect. Two of the three tools are not for the work. They are for watching the work being done: one shows me the terminal sessions my agents are running, the other records what they finished. The practice room is the only one that would have existed anyway.

The literature imagines people building for their households and hobbies. The observed behaviour, at least in my case, is that you first build the room you stand in to supervise. Personal software arrived, and its first application was management — which is the first hint that the industrial half of this is not a detail. The tool I most wanted was a window onto the thing doing the work.

3An audience of one raises the ceiling

The assumption everywhere is that personal software is scrappy — good enough, held together with tape, because nobody is watching. Mine went the other way, and the reason is structural rather than admirable.

To decide how one small animation should behave in a sidebar only I will ever see, I rendered nineteen options, then eleven more, and picked by looking. No product organisation would fund that, because craft there competes with a roadmap. Remove the roadmap and the thing that made personal software scrappy is gone. It can be over-built in a way commercial software cannot afford to be. Whatever else is true, the output side of this really is as convivial as software gets: shaped to one person past the point any product could justify.

4What actually got hard

Not the code. Writing it stopped being the constraint some time ago. What got hard was knowing whether it worked, and the failures were all of one kind: the check said yes about something that was not happening.

A still mark
A spinning icon was verified by reading the animation's name off the element. Set its duration to zero and the name still reads correctly while nothing moves. The check passed a stationary mark.
A hidden figure
Text content resolves perfectly well on an element that is not displayed, so every assertion about the figures stayed green with the code that reveals them deleted.
The wrong window
An assertion that the animation slowed down at the end measured across the part where it was still speeding up. It passed a version with the slowdown removed.
The instrument itself
A script written to prove an edit had dropped no facts reported 166 losses. Its pattern was matching across line breaks and had captured whole paragraphs as single tokens. Fixed, it reported 7 — of which none was a loss.
What I thought the job wasDescribe the thing well enough that it gets built.Generation is the scarce step, so the skill is specification.
What the job isProve the check can fail before believing that it passed.Generation is free. The scarce step is judgment: every one of the four above was caught by deliberately breaking the code to see whether the test noticed, and none by reading it.

There is a version of this essay that treats that as a footnote about testing. It is not. If software can be produced faster than it can be judged, then judgment is the whole remaining job, and a personal tool has exactly one person available to do it.

5What it cost

Now the part the genre tends to leave out. The agent time behind all of this ran at about $726 a day, sustained, over 54 days.

One caveat, and it matters: that covers all of my agent use, including my actual job. It is an upper bound on the software described here, not its price tag. It is still the right order of magnitude for the argument, because the tools it produced replace — generously — thirty dollars a month of ordinary subscriptions. A tuner. A metronome. A sprint board.

$726a day, sustained over 54 days, against software that replaces about $30 a month (upper bound: covers all agent use, day job included)

Software's defining economic trick was a marginal cost of zero: write it once, run it a billion times. Software written for one person never had that trick available, and now the writing has a running meter attached. The economics of a bespoke suit, with the delivery time of a vending machine.

6Convivial in output, industrial in input

In 1973 Ivan Illich drew a line between two kinds of tool. A convivial tool is one a person can pick up and use on their own terms, without an institution standing between them and the work: a bicycle, a library, a hand plane. An industrial tool requires the institution — you can drive the car, but you cannot have the road, the refinery, or the factory.

Personal software sits on both sides of that line at once, and I do not think the genre has noticed. What comes out is as convivial as software gets: it fits one person, it answers to nobody's roadmap, it can be changed on a whim by the person it is for. What goes in is a data centre I will never see, a model I did not train and cannot inspect, rented by the token, on terms set elsewhere and revocable without me.

My recipe archive is convivial all the way down. I could still edit it on a laptop in a cabin. The three new tools are mine in every respect except the one that determines whether they can exist.

The home-cooked readingYou cook for the people you love, at your own stove.Sloan's version, and the one everyone quotes. It assumes the kitchen is yours.
What I actually haveA home-cooked meal from an industrial kitchen.The recipe is mine, the taste is mine, the diner is me. The stove is metered, rented, and somewhere else.

7So what

The question worth arguing about is no longer whether ordinary people can have software shaped to their own working lives. That is settled; I have three of them and they took a week. The question is what it means that the most personal software ever written turned out to depend on the least personal infrastructure ever built — and therefore who gets to have any.

If adapting your own tools becomes a normal way to work, then access to inference is not a consumer preference, it is closer to literacy: the thing you need in order to shape the environment you spend your life in. That is the argument for treating it as public infrastructure, and the strongest precedent is the public library, which existed to make a competence universal, not to be generous.

I can see three honest objections, and I hold all of them at once. Inference keeps getting cheaper, and quickly enough that this may be a policy for a problem that expires. Subsidised compute bought from three vendors is a transfer to those vendors, not a commons — libraries owned the books. And if the scarce input is judgment rather than compute, as section four suggests, then making compute free widens the gap instead of closing it, because it multiplies the output of people who can already tell whether something works.

8What I have not shown

All three of the new tools are less than a week old, which means I have measured how fast personal software can be built and not at all how long it lasts. The recipe archive is the only one with a track record and it is the hand-made one. Nobody reviews software with one user: no second pair of eyes, no accessibility pass, no threat model. I found one of my own tools reading a hidden number aloud to screen readers, and only because I thought to ask the browser.

So I do not know yet whether this is the personal computer finally arriving, forty years late and in the right shape, or a subscription to one. Both are consistent with the evidence I have. What I am fairly sure of is that the sentence people keep reaching for — now anyone can build their own software — is doing a lot of work with the word anyone.

andrewshiau.com · Press ⌥G for the grid · Set on a 12-column grid