My 17 projects, looking for number 18
I have seventeen projects, and lately opening any of them makes me roll my eyes. I can see work to do. I know how to do it. I just can’t make myself believe that another commit will matter to anyone.
A brand-new project, though? That still sounds good. Which is a little suspicious when I already have seventeen.
For a long time, “I enjoy writing software” seemed like a sufficient explanation for all this building. I do enjoy it. But it leaves out the part that made me want to keep going. The story running in my head was closer to this:
“I’m building this remarkable thing, and when I finally expose it to the world, people are going to discover it, use it, talk about it, and I’m going to get this enormous emotional payoff.”
That imagined reaction was present long before there was anyone around to react. It made an ordinary evening of programming feel like preparation for something much bigger. When I stopped believing in that future, I lost a lot more motivation than I expected.
The commit used to come with a future
Working on Cubacadabra, my attempt at a platform in the territory of Roblox, I could imagine people making things with it. The scope was enormous, but that was part of the appeal. Every piece I got working brought the imagined world a little closer.
A commit meant I was getting closer to people discovering it. Now I look at the same project and think about how much work remains, and how little reason I have to expect anyone to be waiting for it. The programming hasn’t suddenly become impossible. I’ve lost the answer to “why am I doing this?”
If you’ve ever had a side project go from absorbing to unbearable without much changing in the code, this might sound familiar. You can still fix the bug. You can probably think of ten features. Somehow none of them feel worth an afternoon.
It’s tempting to call that laziness, or decide you’ve lost your love of programming. But consider how much extra meaning a task gets when you believe it leads to something you badly want. Implementing search is a decent programming problem. Implementing search for a community you can already imagine flourishing is a different way to spend an evening.
The launch reaction was doing some of the motivational work all along. I was enjoying a little of it in advance, with every feature I finished.
After enough quiet launches
Here are all seventeen:
| Project | Link |
|---|---|
| Yapern | yapern.com |
| Dryerasiac | dryerasiac.com |
| Parsequerade | parsequerade. |
| Mainbrella | mainbrella.com |
| Cashew | andrewarrow.dev/ |
| Dayvergent | andrewarrow.dev/ |
| Forkalope | forkalope.com |
| AHP Tour | ahptour.com |
| Aorta Know | andrewarrow.dev/ |
| Wristful Thinking | andrewarrow.dev/ |
| trixWTF | trix.wtf |
| Showffeur | andrewarrow.dev/ |
| Car Tower Voice | App Store |
| Floormula | App Store |
| Auraphone | App Store |
| PrintsCharming | App Store |
| Groupicorn | groupicorn.com |
They’re different projects with different problems. Yet lately they produce much the same reaction in me: ugh, this one.
Each comes with a memory of how excited I was about it, how hard I worked, and what I imagined would happen when people saw it. Opening the project brings that expectation back, along with the disappointment. I’m looking at the code and remembering a future that didn’t arrive.
Quiet launches are particularly hard to argue with because there’s so little to examine. If someone tries your app and explains why it doesn’t work for them, at least there’s a conversation. Silence gives you plenty of room to supply your own explanation, usually an unpleasant one. I catch myself treating “people haven’t cared” as “people will never care.” I don’t have evidence for that second claim. But I also can’t get back to work by promising myself that the next feature will finally make everybody notice. I’ve used that promise enough times that it doesn’t carry much weight anymore.
There’s an awkward admission here, too. I wanted to make something useful, and I wanted people to be impressed. Those wishes got mixed together. Someone quietly getting on with their day because my software helped them would be a good outcome, even if it looked nothing like the launch I’d been rehearsing in my head.
Why number eighteen looks so good
Project eighteen has a considerable advantage over the others: it hasn’t disappointed me yet. I can imagine its users without remembering the ones who never showed up. I haven’t had to explain it to anyone who doesn’t immediately understand why it should exist. Even the practical difficulties are pleasantly abstract. Getting people to use it is something I’ll figure out later, once there’s something impressive to show. Right now I get to pick a name and think about how good it could be.
I can see why that feels better than reopening an old repository. Starting over would let me believe the old story again for a while. And if the story is what I’m craving, I could choose a technically excellent idea for number eighteen and end up right back here. I don’t think every abandoned project needs rescuing. Some have probably taught me what I wanted to learn. Others may simply be bad ideas. I’d just like a way to make that judgment that doesn’t amount to “the new one feels exciting and the old ones make me sad.”
A reason to write the next commit
The experiment I want to try is seven days without coding on any of them. On each day, take something that already exists and try to get one person outside my usual circle to use it for something they care about. That could mean getting a small discussion going on Yapern, or finding a developer with a problem that one piece of Cubacadabra might solve.
I’d have to ask what they’re trying to do, help them try it, and see where they get stuck. A nice comment would be welcome. Someone returning without a reminder, or asking for a specific change because they want to keep using it, would give me much more to work with. For that week, I’d keep track of who tried something, who came back, and what they asked for. I already know I can produce commits. I want to find out whether anything I’ve built has a reason to exist in somebody else’s day.
Seven days won’t settle the value of seventeen projects. A failed attempt to reach someone might mean I asked the wrong person or explained the thing badly. Still, it would give me something to investigate beyond my own changing opinion of my work. I haven’t done this experiment yet, and I don’t know what I’ll find.
I also want to leave room for making things just because I enjoy them. A hobby can stay a hobby. But when I’m building in the hope that other people will care, I need to let those people into the process much earlier than launch day.
I still want the pleasure of seeing someone discover something I made. I don’t expect to talk myself out of that. For now, I’d like to see one person use what’s already here before I spend another stretch of my life imagining how people will react to number eighteen. Anyone else have 17 projects?