Skip to main content
long-form

Productivity Theater

Every few years, I find myself in the same loop. A new tool appears, promising to finally make me efficient. I descend into the rabbit hole: tweaking, optimizing, configuring; emerging some time later with a system that’s marginally better than what I had before and a stack of browser tabs I’ll never close. I went through it with my Neovim config, then with Obsidian and the promise of a perfect personal knowledge graph, then with home automation and my self-hosted homelab. Each time, the pull felt different. Each time, the pattern was identical.

The latest act is agentic coding tools, and I can see myself peering down at the edge of the rabbit hole yet again.

I held out on AI coding tools for a while. This was partially due to the lack of good Neovim integrations, in addition to the poor results I was seeing from other devs’ use of them. Then the models got better, and by the time Claude Code picked up steam, I was already using the chat app to generate snippets, copy them into my program, and returning to the app to paste in the error of what didn’t work. The CLI kept me in the terminal and had the codebase as context; it felt like a natural next step. But, of course, it can’t stop there.

The hype machine churns on. Now there are conductors, skills, sub-agents, spec frameworks, Ralph loops, and a whole philosophy industry springing up around how to best direct your headless workforce. It has the same energy as the peak frontend fatigue years. The pace is frantic mixed with an anxiety that you’re not using your token limit to its peak efficiency every second of the day. It follows us away from the keyboard; urging us to check in on our phones and fire off a couple more remote prompts on the go.

What I’m trying not to do is confuse movement for progress. I’m not going to put my head in the sand and wait until the dust settles because it just won’t. So I’ve settled into a workflow that works for me. It’s not glamorous, but it feels good enough. I don’t need an always-on agent opening PRs while I sleep. I don’t need a leaderboard gamifying my token usage. I’m okay playing the role of the senior engineer who stays in the loop to bring taste and judgment to the process, rather than reacting to semi-autonomous outputs after the fact.

I’ll still read what’s new. I’ll still tinker when something genuinely looks interesting and try to remember to write about it here. This is also where I ended up with my previous interests. I still enjoy using Neovim, collecting thoughts in Obsidian, adding sensors to my home, and deploying services to my homelab. It’s now that I recognize the toil on the way to find peace in these areas; toil I’d like to avoid for this next new and shiny thing.

In the meantime, I’ll sit back in my seat and observe the productivity theater for the show that it is.