There is no spoon: on personal software
I’ve always been shit at giving presents.
I’ve also always had a thing for kitchen tools. The nice ones, and the slightly silly ones.
These two facts are related.
So for one reason or another I once gave a girlfriend an ice cream spoon. I thought it was incredibly beautiful. She was happy, too.
After we broke up she told me that she had cried when I went home that day. In all our time together I’d never picked up on the fact that she didn’t eat ice cream.
Yes, I’m a developer. I wanted to be a psychologist.
It started with my mom. For years I gave her kitchen tools, because it felt like she wanted kitchen tools. They were things I wanted in the kitchen. She loves cooking, so of course she was always happy, which taught me nothing about giving presents.
I think I live by the golden rule. I do to others what I would want done to me. Unfortunately it doesn’t work.
In 2004 I took my first programming course. Java. Our teacher looked at a room of broke students and said that at least now we knew how to program, so we should go home and write programs as Christmas presents for our families.
I never did. For twenty-two years I worked hard, but I only programmed at work.
This year my partner Marte had her birthday on the 27th of August. For once I was in good time. I keep notes through the year on things she mentions that she wants, and I had a real present ready.
The app I started at 20:51 the evening before.
It’s a bit like drawing a picture when you’re a child. Except now I’m a programmer and a grown man, so this is what I can draw. Marte puts a lot of care into our dog, Millie, so I asked an AI agent for a journal: a few checkboxes and a note for each day.
One hour and 49 minutes and 22 messages later there was an app. A daily journal, trend charts, a login, and a button that turns a month of notes into a summary for the vet. I didn’t write the code. What I did was have opinions. SolidJS 2.0, a release candidate, because it’s a hobby project and nobody can stop me. Cloudflare, where I’ve had an account for years and only ever used it for DNS. Dark theme only.
20:51 first message to the agent
21:46 scaffold Solid 2 RC client start mode on Cloudflare Workers
22:35 add the vet summary prompt
22:40 add dev seed script
06:44 use sonnet 5 for summariesThen I asked if the code could be public. The agent, very much the kid in the front row, warned me that my dog’s medical history would end up on the internet. I wrote back that a personal project doesn’t need enterprise security, and that it could put the rest of its worries in an issue. The issue is still open. It was probably right.
At 06:44 on her birthday I was up changing the AI model that writes the vet summary, because the first one was too expensive.
Marte was happy, in a way. I had used a very cute picture of Millie.
Since then I think I’m the app’s only daily active user.
The thing is, she already had a system. For years she has sat on the sofa in the evening writing in Apple Notes, and when a question comes up she scrolls back and finds the answer. I’m very glad she does, because I never have. I looked at something that worked and thought: but there are no charts.
I went back and read my first message to the agent.
a tracker journal for my dog
There’s a reason it says that. Millie started limping in May last year. It turned out to be her back. Spondylosis.
She has always been my best hiking companion. I don’t really exercise, but every other day after work we would walk for two hours, always off the trails. That was my exercise. When we took all of that down to almost nothing, for the sake of her back, I felt it in more ways than I expected.
She doesn’t limp any more, but she’s older, and we’re not getting back to where we were. She also has a very high pain threshold and shows very little. So we have found four small things she does on the sofa in the evening that we think mean she’s having a worse day. Those are the checkboxes.
I can be a bit scattered. I need support tools.
People call this personal software, and I think it’s the one place where the golden rule works. The person I’m building for wants exactly what I want, because it’s me.
Software for one person used to be far too expensive to make. Now it takes an evening. My teacher’s condition still stands, though: now that you know how to program. I got an app in under two hours because I knew what to ask for and how to say it. That isn’t cleverness. It’s the one thing I’ve practiced for twenty-two years. At work I meet editors who know their thousands of pages far better than I ever will, and who wouldn’t know where to start building a tool of their own, even one that would help them every day.
A couple of years ago, when I lived in Stockholm, I told a woman I was seeing about the worst present I’ve ever given. It ended between us, on good terms. She gave me a present.
It was an ice cream spoon. With Hello Kitty stickers on it.
There is no spoon, as the boy in The Matrix says. The only thing that bends is you.
I can’t bend Marte into wanting charts. She still writes her notes. I have my app. It’s the same dog.