I built nearly zero personal projects for over a decade. All my energy went into work, and whatever was left went into surviving the rest of the day. The few side projects I did have were always for other people - organizing a Steam sale event for local game devs, building a tool to manage it. Nothing just for me.

Then in the last few months, I shipped a blog engine, a procedural music generator, games, and a bunch of tools. Not because I became more disciplined. Because I finally noticed what actually gets me to build things.

Pain

The first pattern I recognized: when something annoys me enough, it gets built. No planning, no decision to start. The annoyance just hits a point where I'm already building before I've consciously decided to.

Sometimes it's a slow burn - weeks of friction piling up until one night it snaps and I'm deep in code at 2am. Sometimes it's instant - something breaks and I'm fixing it within minutes. The threshold varies, but the mechanism is the same: I don't need motivation because the pain is doing that job for me.

I built this blog's engine because I wanted to write and every existing option felt wrong. At work, when something breaks badly enough, it gets fixed that night - no willpower required.1

I called this "pain-driven development" for a while. Pain provides activation energy. That felt like the whole story.

Play

Then I accidentally built a procedural music generator over three sleepless nights because I asked "how insane can I make this?" I'm still expanding it with new genres and planning to use it for game audio. Nobody asked me to. Nothing was broken.

I started making small games because one evening I looked at something silly I'd made and thought "wait, I can make games out of this?" Now I have dozens of ideas and I keep coming back to it.

The feeling is different from pain. It starts with curiosity - "I wonder if…" or "what if…" - and then I can't stop pulling the thread. I lose track of time not because I'm frustrated but because I'm having fun. 3am doesn't feel like 3am. And there's something about it being mine - not work, not obligation, just something I chose to make exist - that keeps the energy going.

The actual pattern

Both pain and play work as activation energy. What doesn't work is trying to manufacture it. "This would be useful someday." "I should really build that." Obligation without energy behind it. Those don't go anywhere.

I have ADHD2. Executive dysfunction means the gap between "I should do this" and actually doing it can be infinite - unless something else closes it for me. Pain closes it. Play closes it. Deciding to be motivated doesn't.

The pattern isn't pain-driven development. It's that I don't decide to build and then find motivation. I notice energy that's already there - whether it hurts or it's fun - and ride it. The decision comes after the energy, not before.

A decade of nothing, and then a few months of shipping more than I ever have. The difference wasn't trying harder. It was stopping pretending I could force it.3

Footnotes

  1. This post is specifically about personal projects, but the same pattern works at my day job too. Pain-driven fixes are fast. Assigned infrastructure work I don't care about… isn't.

  2. Untreated, by the way. Not by choice. That's a different post.

  3. Experimentation being cheaper now helps too. More on that eventually.