I gave an LLM the keys to my computer
I've discovered the joy of running my own Linux machine at home (but let's use the term “running” loosely). Am I trusting, stupid, or some other third thing?
I love Macs. I grew up with one (a Performa 640), in the darkest period of Apple’s history (the mid-90s). I’ve used them ever since. My M4 MacBook Pro is the best computer I’ve ever owned. But lately, the machine I’m most excited about is a Linux box at home. It’s a boring Dell desktop, bought for some nonsense crypto crap in 2021. I’ve since come to my senses, and the PC has sat, unused, for over a year.
It doesn’t help that I hate Windows. Microsoft has done nothing to change that opinion. The idea of booting the machine for anything filled me with a visceral sense of unpleasantness. But as I started to work more with Claude and other LLMs, I realized that the safe thing to do would be to run those mostly on either hosted VMs (which we do at my company), or on completely separate hardware. I didn’t want that hardware to be Windows, but I did want it to be something persistent, easy to access from anywhere, and not annoying to use. It’s easy to get AWS to give you something useful these days, but it felt strange to be paying to use an environment that was essentially a developer playground.
Much like my foray into building a CMS for one, it wasn’t that I didn’t have an interest in having a dedicated developer box for interesting projects. It was just that I couldn’t justify the extensive time investment in keeping a Linux box updated and configured properly for all the weird little experiments I wanted to pursue. But with Claude handling the heavy lifting, a whole new world opens up.
No more renting servers
For years my personal projects, once hosted, lived on a rented DigitalOcean server. I paid every month for a machine I only logged into when something broke, and which I constantly worried about. As I admitted in Moving out of the house I built, I didn’t keep that droplet updated, and when the blog ultimately broke, I never fixed it.
Now some of my personal sites live on the box in my house. Each one runs in its own Docker container behind a shared Caddy proxy, and they reach the internet through a Cloudflare Tunnel. The machine dials out to Cloudflare, so there’s no open port on my home network for anyone to knock on. The private stuff (the dev copy of this blog, the editor I’m typing into right now) is reachable only from my own devices, over Tailscale.
This blog itself is served by Cloudflare. But everything around it lives at home: the dev server, the drafts, the editor. Even the thoughts I dictate to Siri on my phone travel to this machine first.
Carte blanche
I didn’t set most of this up. Claude did.
I don’t mean I asked for a tutorial and followed along. Claude Code runs on this machine, in my terminal, as me, and it administers the thing. It installed Tailscale. It wrote the config that makes Docker wait for the network at boot. It set up the proxy, got a wildcard certificate so my private preview sites have real HTTPS, and wrote a script that checks a site end to end, from the container all the way out to Cloudflare. When I want a new site live, I say so. Claude does the work. If I’m feeling particularly lazy, I even ask it to tell me which buttons to click in Cloudflare’s dashboard.
Since I’m firmly on the advanced side of middle-aged, I need to keep copious notes to have a chance in hell of keeping track of anything. That’s why there’s a file in my home directory that describes how this machine is set up, where every site lives, and what’s still unfinished. Claude wrote most of it, partly for me, but mostly for the next Claude. These days I read it to find out how my own computer works.
Like I said in The elephant in the room, my job is mostly deciding things. That’s true for web and software development, and it turns out it’s true for my own machine, too.
Trusting, stupid, or both?
So: I’ve handed an AI the keys to a computer in my house, connected to the internet, hosting my websites. That makes me incredibly trusting, possibly incredibly stupid, maybe both. I’m relying on my relative obscurity to keep me from getting dragged on Reddit or Hacker News.
The case for stupid isn’t hard to make. Claude can run almost anything on this box. My account is in the docker group, which is root in all but name. And for all the work that’s gone into this setup, off-site backups are still on the to-do list.
But don’t be too quick to throw stones. There’s nothing on my machine from my day job; I never log a work credential into it. Its GitHub access is a token scoped to one organization of personal repos, and it can push code but can’t create, delete or reconfigure a repository. Nothing on my home network is open to the internet. Secrets live in files that never go into git. And Claude asks before doing anything hard to undo, and I read what it’s about to do.
Then there’s the third thing: I’ve spent my career on the developer side of the fence. At PortlandLabs we have talented DevOps folks precisely so people like me don’t have to babysit servers. At home I never had that, so my servers rotted alongside my many other responsibilities. Now I have a sysadmin who works at any hour, never gets bored of updates, and writes everything down. The box in my house is better kept than any server I ever ran myself.
So which is it? Trusting, definitely. Stupid, possibly; ask me again once those off-site backups exist. But mostly it’s the third thing: a guy who’s spent his career deciding things more than doing them, finally pointing that habit at his own computer. That Dell sat unused for over a year as a monument to a bad idea. Now it’s the computer I’m most excited about, and I barely touch it.
If this goes horribly wrong, you’ll read about it here. Or maybe you won’t. Either way, for now, I’ll soldier on.
