I Used to Mistake Motion for Progress. Here’s What That Cost Me.

Five years ago I had a project list that could’ve filled a legal pad. Apps half-built. Scripts started and abandoned. Tools installed and never configured. Every week I was busy. Every month I had almost nothing finished.

If you’d asked me then whether I was making progress, I would’ve said yes without hesitating. I was wrong.

This is the post I wish someone had handed me back then. Not a productivity framework. Not a morning routine. Just an honest accounting of where the time actually went, and what I had to let go of before anything useful got done.

The Treadmill Problem Doesn’t Feel Like a Problem

Think about a treadmill. You’re moving the whole time. Your heart rate is up. You’re sweating. You feel like you’re going somewhere. But when you step off, you’re standing in the exact same spot you were when you started.

That was me, for longer than I want to admit.

The treadmill, in my case, was setup work. Configuration rabbit holes. Re-doing things that already worked because I’d read about a better approach. Installing new tools to organize the projects I hadn’t finished with the old tools. I was genuinely busy. I was not genuinely building.

The insidious part is that treadmill work feels productive. You’re making decisions. You’re learning things. Your brain is engaged. But engagement isn’t output. Motion isn’t direction.

I have two modes, and I’ve accepted this about myself: unstoppable hyperfocus or buffering. The problem five years ago was that I was spending my hyperfocus sessions on the wrong things. I’d lock in for four hours reconfiguring my reverse proxy when I had three apps that needed actual features written. The proxy worked fine before I touched it. It worked fine after. Nothing shipped.

If I could go back and tell thirty-eight-year-old Frank anything, it would be this: the thing you’re tinkering with right now is probably not the thing that needs your attention.

What I Was Actually Avoiding

Here’s the uncomfortable truth under all of that motion. A lot of it was avoidance dressed up as effort.

Finishing things is harder than starting them. Starting something new feels like progress because you’re learning fast and everything is still possible. Finishing means confronting the parts that don’t work yet, the parts you don’t understand, the parts that require you to sit with a problem longer than feels comfortable.

I had legitimate apps I wanted to build. But instead of pushing through the friction on those, I would drift toward infrastructure work because infrastructure problems have clear solutions. Something is broken, you fix it, it’s done. Application work is messier. You finish one feature and there are three more waiting.

I was also, if I’m being completely honest, protecting my own ego a little. An unfinished app can still be good in your head. Once you ship it and it’s real, it can be bad. So keeping things in a permanent state of “almost ready” was a way of never having to find out.

The treadmill kept me from ever having to step off and look at where I was standing.

The Specific Things I’d Tell Myself to Stop

No metaphor here. Just the list.

Stop reinstalling your stack every time you find a better option. If it works, leave it alone. You can migrate when there’s an actual problem, not a theoretical improvement.

Stop starting new side projects before the current one has a working version. One finished, imperfect tool is worth more than six half-built ones. I know that sounds obvious. I ignored it for years anyway.

Stop using “research” as a synonym for “not building.” There’s a point where reading about the right approach becomes its own form of procrastination. At some point you pick a direction and go. You’ll correct course later.

Stop treating your to-do list like an achievement. Writing tasks down feels good. Doing them is the whole point. I had beautifully organized Trilium notes about things I had not done. That’s not a system. That’s a museum.

Stop optimizing things that aren’t bottlenecks. My NAS naming conventions did not need to be perfect before I started building apps. My Docker volume structure was fine. None of that was actually blocking me. I told myself it was.

The thread running through all of these is the same treadmill problem. Activity without movement. The work felt real because it required real effort. But it was effort pointed sideways, not forward.

What Actually Changed Things

I’m still figuring things out, just slightly more efficiently each year. But the shift that made the biggest difference wasn’t a new tool or a new system. It was a question I started asking myself before I sat down to work.

What is the one thing that, if I finish it tonight, means something actually exists tomorrow that didn’t exist today?

Not “what should I be doing.” Not “what would be useful to learn.” What can I finish. What can I make real.

That one reframe changed my output more than anything else I tried. HookHouse-Pro is a real, working application because I started asking that question every time I sat down to work on it. Cookslate exists because I pushed through the friction instead of drifting over to reconfigure something comfortable.

The treadmill never goes away completely. There are still nights where I spend two hours on something that didn’t need to be touched. But now I catch it faster. I recognize the feeling of motion without direction a lot quicker than I used to.

Step off the treadmill. Look at where you’re standing. Build the thing.

Leave a Reply