yapern

Create a message

B I S x2 H “” </> •••

0/2000

Create new sub-yap

← Blog

My 17 projects, looking for number 18

· Andrew Arrow

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.

Two-panel editorial illustration. The same developer sits at the same desk with the same software creation. In the first panel, a thought balloon holds an enthusiastic crowd; in the second, the imagined crowd has faded and the developer slumps. The work itself has not changed.

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:

ProjectLink
Yapernyapern.com
Dryerasiacdryerasiac.com
Parsequeradeparsequerade.mainbrella.com
Mainbrellamainbrella.com
Cashewandrewarrow.dev/cashew/
Dayvergentandrewarrow.dev/dayvergent/
Forkalopeforkalope.com
AHP Tourahptour.com
Aorta Knowandrewarrow.dev/aorta-know/
Wristful Thinkingandrewarrow.dev/wristful-thinking/
trixWTFtrix.wtf
Showffeurandrewarrow.dev/showffeur/
Car Tower VoiceApp Store
FloormulaApp Store
AuraphoneApp Store
PrintsCharmingApp Store
Groupicorngroupicorn.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?