I built a product from my phone
I built a media intelligence platform for The Lafayette Company, my wife’s PR firm in Alexandria, over two months of evenings and weekends. Roughly three-quarters of it got written on my phone.
The reason I wanted this was boring. I have a family and real obligations. Finding a clean hour at a laptop is a narrow window on a day like mine, and it almost never lines up with when I actually have ideas. Mostly I had ideas when I wasn’t near a laptop. In the pickup line at school, or while my kid was getting ready for soccer practice.
It’s the same principle that used to keep work calls tied to a desk phone. You take the Zoom from the car now because the meeting and the afternoon pickup are both non-negotiable, and only one of them can move. Coding just hadn’t caught up yet.
So I put the agent somewhere the phone could reach it.
The setup
A small EC2 instance runs a tmux session with Claude Code inside. The Claude iOS app connects over a remote channel. I dictate or type what I want, the agent starts, I close the app.
Sometimes I come back fifteen minutes later, sometimes two days later. I open the app and the session is where I left it. Same shell and files, same thought I was mid-sentence on. Whatever the agent got done while I was gone is waiting.
I’d been watching self-hostable autonomous agents like OpenClaw for a while. The shape was right, but I didn’t want to install one. I already work in Claude Code every day. Then Claude Code, randomly, shipped a remote-control function right around when I was thinking about this.
The kit
The parts are ordinary: EC2, tmux, Claude Code, the Claude iOS app, and a small CDK stack to hold it together. The version I run is in blog-code, kept bare so you can fork it and have it running in an afternoon.
The setup has limits worth naming. Debugging something complex still needs a laptop. So does reading a long diff carefully, or any architectural decision that wants multiple files open at once. The phone handles direction-setting work well. I write a spec, kick off a task, look at what comes back. That’s where most of the hours actually went.
The total hours didn’t go up. In a typical week I spent about as much time on this as I would have anyway. But the time I already had started to count. Fifteen minutes in a parking lot, stretches that used to be dead time. Over two months of those, I had a product.