January 7, 2026

The Blocker Is Gone

The last few days have been completely chaotic. Good chaotic, mostly. Multiple epiphanies, way too many rabbit holes, and a bunch of building that feels borderline manic. But also: clarity on something that's been a blocker for years.

Started with understanding how people are actually using AI. Not the marketing version. The real version. Read that paper, then fell into Twitter threads and posts for hours. Pattern after pattern. People aren't using AI to replace work. They're using it to compress the distance between idea and execution. That gap, the "I should build this but it'll take too long" gap? That's what AI collapses. Watched it click for dozens of people. Then realized: I've been stuck in that gap forever.

Building was always my mental blocker. I could architect systems, debug production fires, ship features with teams. But solo building? Painful. Slow. Tedious. The distance between "this would be useful" and "this exists" felt too long. Then Claude Code happened. Obsessed doesn't cover it. It's not about the code generation. It's about removing friction. The thing that used to take three hours of setup and boilerplate now takes ten minutes of conversation. So I stopped overthinking and just built stuff.

Built a bunch. Some of it is slop. Some of it is actually useful. local-smart-home-control: privacy-first smart home automation that runs locally because I don't trust cloud vendors with my light switches. claude-usage-widget: macOS menu bar thing that tracks Claude API usage so I stop accidentally burning credits. ai-catchup: terminal CLI for AI news with offline caching because doomscrolling HN and Twitter is inefficient. Built all three in a few days. That would've taken weeks before. The building isn't the hard part anymore. The deciding what to build is.

Then I got fixated on using my phone as an agent controller. The Claude Code web interface is fine but it's not intuitive. More importantly: it's not fun. I want to build from my phone. Lying down. Walking around. Wherever. Got Termius, which is this great SSH app. Spun up a Digital Ocean droplet. Should've been simple. Wasn't.

The sessions kept dying. Just: gone. Mid-work. I'd close the app, come back, fresh terminal. No tmux session. No context. Nothing. Infuriating. Spent way too long debugging this. OOM killer was murdering processes on a 512MB VM. Systemd user sessions were degraded. tmux was trying to create cgroups that didn't have permissions. Mosh was enabled but sessions still died when I switched networks or enabled VPN. The whole stack was fighting me.

Went through this absurdly long troubleshooting journey with ChatGPT. Two conversations. Hours of back and forth. Checked dmesg logs (permission denied). Added swap. Enabled linger. Tried systemd user services. Disabled systemd user services. The frustration was real. Every time I thought it was fixed, it broke again. Then finally: wrap tmux to bypass the broken systemd session entirely. One shell function. Done.

tmux() {
  command env -u DBUS_SESSION_BUS_ADDRESS -u XDG_RUNTIME_DIR /usr/bin/tmux "$@"
}

That's it. That's what made it work. Not the fancy systemd service. Not the perfectly tuned OOM scores. Just: don't let tmux talk to the degraded user systemd instance. It's been solid since. Phone works. Sessions survive. I can finally build from bed.

The real lesson here isn't about tmux or mosh or systemd. It's that I kept building through the frustration. Before? I would've stopped. "This is too annoying, I'll do it later on my laptop." But the idea that I could build from my phone, that the tooling should work seamlessly, kept me going. That's the shift. Building isn't optional anymore. It's the default mode.

Also realized: AI makes you impatient in a good way. You know things can be fast. You know the tools exist. So when something is slow or broken, you don't accept it. You fix it or you route around it. That impatience compounds. It's why I built three projects in a few days instead of thinking about them for three months.

The learning journey continues but it's on a tangent now. Still going deep on LLMs and embeddings and RAG pipelines. But also: building small useful things. Lots of slop. Some gems. The ratio doesn't matter. The momentum does. The mental blocker is gone. Building is easy now. Deciding what to build is the hard part. Good problems to have.