Skip to content

My Mac Mini is my dev server, and one Claude Code session runs each project

4 min read#ai#code

// part of derkinzi.de, Pepelly

Originally, I got the Mac Mini for OpenClaw, which I played around with at the beginning of this year. I built a few agents with it. Somehow I ditched it, and once I couldn't use my Claude Code subscription for it anymore, I basically migrated all these agents to Claude Code. So that's how it started.

Those agents are still going, in Claude Code now. They're doing email triage for me and invoice filing. That's actually the one use case that's still left. I had scattered SEO agents and other content thingies, which I've now more and more migrated into the projects themselves.

I set up a tmux session for them, and they just run in their own user on the Mac Mini, with tmux sessions that I remotely log into from my laptop.

In the week 1 wrap-up of maxing out Claude Code I said the Mac Mini is my development server basically, and that I'd do a different article about that. This is it.

One repo, one main session per project

This is also how I set up my projects these days. Basically it's one Git repo that has all the repos of the project in it. So front-end repo, back-end repo, whatever website, whatever we have. And then I have one main Claude Code session to run it all in the root folder of the project.

That session is instructed to build its own documentation and is instructed to fire Opus sub-agents for any work to be done. The main session itself is usually in Fable. Sometimes I feel like I'm slow at learning this and how to really, really set it up, but this combination has worked well for me.

For a while I still had Claude sessions for newsletters, for social stuff, for marketing, all scattered throughout. And over time I learned that it's best to actually have all of this in this root project. So I have basically one main Claude session per project. That's the way I think about it: kind of like a product manager slash dev lead. And this guy has access to everything that matters to the project. Database access, access to analytics tools, Google Search Console, Ahrefs, whatever is needed for that particular project. Maybe it has API access to the App Store, access to Xcode, whatever is needed. And then I just work in that one session, for development, for marketing, for everything basically.

This has really been a game changer, especially when paired with remote control.

Blog posts from my bed

These blog posts here, like this very blog post here: I'm just talking into my Claude app on my phone, lying on my bed. In this particular session I have a specific skill that takes my brain dumps and creates blog posts from them, adds them as markdown files to the project, and then pushes a new deploy live. I don't think it can get any more convenient than this, to be honest, to write a blog post.

Why the Mac Mini

The problem that I had in the beginning was that you have stuff running in your terminal on your laptop, and then you close it down, you go somewhere else, you open it back up, and it basically stops working. Now with the Mac Mini, the stuff just doesn't stop working. I can keep it firing and working while I go about my day. I can check in where it is from my phone.

I used to do this through terminal apps and stuff, and it never really worked. So the remote control for this main session is really a game changer: to make sure stuff keeps going, and when Claude comes back with a question, to answer this on the go.

When I'm working from my laptop, I recently started using cmux, which is really, really cool to control these sessions. The only thing that's still a bit annoying is that I have to SSH back in and reestablish the connection when I close my laptop and open it back up, or when it drops after a while, or the lock screen comes up. I need to see if there's actually a way to make that fire in the background automatically. Still have to solve that part.

The 256 GB mistake

It's the M4, and I went with the base model at the time. So it had only 256 gigs of SSD, which is really a challenge at the minute to use. I'm about 90-95% full. The thing is, it's not the projects, it's really just the dev tools and whatever Homebrew installs and Docker and MySQL and all the Xcode stuff and simulators that really eat up the space there. I've already ordered a 2 TB replacement, which should make this a lot easier.

Locked down

The whole network is locked down through Tailscale, so I think it's a really, really secure environment. All the Claude projects have their own Git user. It's not me, it's one Git user for this one non-admin user on the Mac.

Another advantage of this setup: Claude can fire its own browser, take screenshots, run tests through the browser, that kind of stuff. It even took all the App Store screenshots for Pepelly for me, running the simulator in the background and taking screenshots of that. Really, really convenient.

What I still need to get better at

Copying stuff between sessions. Starting research in one place and then moving it to the other. There's really no reason for this anymore if you have the correct tooling set up, if you have the MCPs set up that you frequently use, and if you take the extra time to give every project the access it actually needs.