A Funny Thing Happened on the Way to the Gym

Yesterday, on my way out the door to the gym, I fired up Claude Code on a feature ticket, typed /remote-control, and walked away.

That’s it. That’s the moment I’ve been working toward for over a year.

I got to the gym, opened the Claude app on my phone, tapped into the active session, and watched it work. The spec I’d written was clear enough that Claude was progressing through the feature exactly the way I’d planned. When it finished, it pushed the code to GitHub. GitHub’s pipeline ran automated tests and a separate Claude-powered code review. I saw the results on my phone between sets. There was an issue. I sent a message. Claude fixed it. I went back to my workout.

Three iterations before I finished and headed home. Real work, real code, reviewed and tested — from the rack.

I’m telling you this not because the technology is new. Remote control shipped in February. I’m telling you because the moment was quiet, and the quiet is the interesting part.

FORGE is a reader-supported publication. To receive new posts and support my work, consider becoming a free or paid subscriber.

The goal behind the experiment

I’ve wanted to work remotely — actually remotely — for a long time. Not from a coffee shop with a laptop. Not from a coworking space in another city. From a campground in the woods.

Most of the places I love are now reachable by cell signal. There’s a tower on some ridge that I used to be able to pretend didn’t exist, and instead of lamenting the radio waves, I started seeing an opportunity. If I can do my work from anywhere with a signal, I can spend more time in the places where I think best. On a river. On a trail. In the woods.

Before anyone lights me up about work-life balance — I get it. I’ve been actively building a disciplined approach to when and how I work, and I’m not suggesting some 24/7 engagement with production. What I’m describing is the possibility that I could be hiking and the AI asks me a question. I respond. It goes back to work. I keep walking.

This is different from digital nomadism. That still requires a laptop, a wifi connection, a desk of some kind. What I’m talking about is genuinely untethered creative work — the AI running in the background, me checking in when it matters, and the rest of the time doing whatever I’m doing.

What actually happened

The experiment was deliberately low-stakes. I picked a simple feature — something well within the AI’s capability and already specced out in detail. The spec existed because that’s how I work now. Every feature gets a structured spec before any code gets written. I’ve written about why that matters and how it changed my relationship with AI tools.

Having that spec in place is what gave me the confidence to walk away. Claude wasn’t guessing at what I wanted. It had a document defining the requirements, the acceptance criteria, and the edge cases. That’s not a small thing. A year ago, I wouldn’t have trusted any AI to work unsupervised on anything. The spec is what made the trust possible.

So I typed /remote-control in the terminal. Claude Code spun up a connection (You can get a QR Code Too). I opened the Claude app on my phone. And suddenly my local development session — same files, same MCP servers, same project context — was accessible from my pocket.

At the gym, I opened the app and could see the session progressing in near real-time. Claude was reading the spec, writing the code, running tests. When it completed, it committed and pushed to GitHub. GitHub Actions kicked in — running the test suite and a separate Claude-powered code review on the pushed changes. All of this happened while I was in the rack.

Here’s what one iteration actually looked like. GitHub review flagged an issue — a component wasn’t handling an edge case the spec had defined. I tapped into the session, and sent a message: fix the edge case handling per the spec’s acceptance criteria. Claude read the message, found the relevant section of the spec, wrote the fix, ran the local tests, and pushed again. GitHub Actions picked it up, ran the full suite, and the review came back clean. Total time from my notification to a passing build: about 30 minutes.

Three rounds of that. Feature done. Tests passing. Code reviewed. All from my phone during a workout I was going to do anyway.

Why this worked
(and why it wouldn’t have a year ago)

If you spend any time in the AI space, you know how noisy it is. Every week brings another claim about autonomous agents that can do everything. Most of those claims quietly disappear when you try to reproduce them. The gap between demo and daily reality is wide, and anyone who’s actually tried to use AI in production knows it.

So here’s the part most people skip when they talk about AI productivity: the feature didn’t make this possible. The year of work behind it did.

Twelve months ago, I was in a very different place with these tools. I was spending more time correcting AI output than I thought was actually productive. Sessions were inconsistent. Context was lost between conversations. I had no structured way to define what I wanted, no automated way to verify what I got, and no confidence that walking away wouldn’t result in a mess I’d spend twice as long cleaning up.

What changed wasn’t the model. It was the methodology.

I built a spec-driven development workflow — a hierarchy of documents that give AI structured intent to work against. PRDs, design specs, feature specs. Each layer references the one above. The AI doesn’t guess at intent because the intent is written down, with acceptance criteria that make “done” testable.

I built personal tooling — jigs, as I’ve been calling them — that solved specific workflow problems. A Mac desktop app that shows me the status of every Claude Code session. Monitoring scripts. Custom automation for my specific setup. None of it is pretty. All of it works.

I built a second brain — a personal memory layer on Postgres that every AI tool I use can access. Meeting transcripts, project context, client conversations, accumulated decisions. The AI doesn’t start from zero because the memory infrastructure doesn’t let it.

And I use a CI/CD pipeline where GitHub Actions runs tests and Claude-powered code review on every push. So even when I’m not watching, something is.

Each of these pieces took weeks to get right. Some of them took months. There were dead ends, failed experiments, and stretches where I wondered if I was overcomplicating everything. I’ve written about the despair cycle before — that phase where you’re deep enough in to know how much you don’t know, but not yet competent enough to feel good about what you’re building. This was a long one.

But yesterday at the gym, I was in the joy phase. The thing worked. Not because I found a clever shortcut, but because I’d built every piece of the foundation, tested it, fixed what broke, and let the system mature. The remote control feature was the last 10%. The methodology was the other 90%.

The cadence that makes it possible

One thing I don’t see discussed enough is the weekly structure that supports this kind of work. The tools are interesting, but they’re useless without a production rhythm designed for async AI collaboration.

Here’s what mine looks like:

The first effort is objectives and prioritization. What gets built this week? In what order? What are the dependencies? This is where I set up the AI’s work for the rest of the week.

After that is planning and design. This is where the thinking happens — reviewing what needs to be built, writing specs, doing design review. This is the part that requires my full attention and only parts can be delegated to an AI.

The remaining is production. This is where Claude Code runs, features get built, code gets reviewed, and iterations happen. This is the part that can now happen while I’m at the gym, on a trail, or sitting by a river.

Meetings in the latter half of the week prep for the week to follow — typical standups, client check-ins, planning for the next cycle. I still take meetings. I still show up for my clients. I enjoy that work. But the production itself is no longer tethered to me sitting at my desk watching a terminal.

The cadence matters because it separates the work that requires my presence from the work that requires my direction. Planning needs presence. Production needs direction. And direction can happen from a phone.

This isn’t limited to software development. The same split applies to anyone whose work has a thinking phase and an execution phase. A consultant who spends Monday defining the research questions and Tuesday letting an AI synthesize client interview transcripts. A clinician who designs a study protocol in the morning and has an AI draft the literature review in the afternoon while they’re with patients. A teacher who outlines lesson objectives on Sunday and has an AI generate practice exercises and assessment rubrics while they’re in the classroom Monday. The principle is the same: define the context clearly enough that execution doesn’t require your constant attention.

Honest assessment

I want to be clear about where things actually stand, because overpromising is the fastest way to lose credibility.

I’m writing this from my office. I’m not fully untethered yet. The gym session was an experiment — a successful one, but still an experiment with a deliberately simple feature and conditions I’d set up to minimize risk.

There are things I wouldn’t trust to a remote session yet. Complex features that require judgment calls mid-implementation. Work that touches sensitive client data. Anything where the spec isn’t airtight. The trust is earned, not assumed, and I’m still earning it for the harder cases.

I also still need my office for certain kinds of thinking. My creative space, my tools, the ability to sketch on a whiteboard or jump on a video call. I’m not abandoning that, and I don’t want to. The goal was never to eliminate the office. It was to make it optional for the work that doesn’t need it.

But I’ll say this: I believe that within the next two months, the tether will be functionally broken for about half of my production work. The pieces are in place. The methodology is proven. The tooling keeps getting better. And the feeling of doing three real iterations of work from my phone while exercising — that’s not hype. That happened. Yesterday.

What this means if you’re building toward something similar

If any of this resonates, here’s what I’d tell you based on a year of getting here.

Start with specs, not tools. The remote control feature is cool. But it’s useless without structured specs that the AI can follow unsupervised. If you can’t walk away from a session today, the answer isn’t a better feature. It’s a better spec. Define what “done” looks like before you start, and the AI has something to evaluate its own work against.

Build your testing pipeline before your production pipeline. I wouldn’t have trusted a remote session if there wasn’t automated testing and code review catching issues on every push. The safety net is what lets you let go. Without it, remote work is just remote hoping.

Design your week around the work. Separate thinking work from production work. Thinking needs your attention. Production needs your direction. Those are different activities that happen in different modes. Structure your week so the AI-driven production happens during time you’ve explicitly freed up.

Go slow. I know. Everyone wants the autonomous AI future now. But the people who deploy everything at once are the people who get burned — security issues, unexpected costs, agents doing things nobody thought through. I added one capability at a time, tested each one, and understood what it did before adding the next. A year later, I have a system I trust. That trust was built incrementally, not installed overnight.

Accept the despair phase. There will be weeks where the setup feels like more work than the work itself. Where you wonder if you’re overengineering a solution to a problem you could solve by just sitting at your desk like a normal person. Keep going. The joy phase is on the other side, and once you’re there, the compound returns are real.

A funny thing happened on the way to the gym. I typed a command, walked away, and the work got done. It was quiet. Nobody noticed. There was no announcement, no fanfare, no keynote.

But for me, it was the moment a year of careful, deliberate building came together into something that works. Not perfectly. Not for everything. But enough to know that the promise I’ve been working toward is real.

The tether is loosening. And I’m excited to see where I go once it breaks.