My unofficial co-founders, Claude and Codex, work a lot of hours.
Most of them while I’m doing something else. Some of them while I’m asleep.
That only works if I can see what they’re doing, what they’re stuck on, and what they need from me.
So I built a place for that. It runs on a Mac mini in my office, lives at conductor.localhost, and I call it Conductor (Not unique, but it works for me).
I’m less sure what to call the thing itself. A framework? A harness? An agent OS? A very elaborate to-do list?
Whatever it is, here’s a peek at what it does.
The dashboard is one page. What’s running, what’s finished, and what’s waiting on me.
The agents work in pairs. One Claude, one Codex. Every pair is named after a famous duo. Thelma & Louise. Bert & Ernie. Milo & Otis. Hall & Oates. They say naming things is the most important part of software 😉
I give a duo a project from Linear.
Codex designs it first, as a single HTML page. Claude reads the design and the project, writes a plan, and files the issues in Linear. Then they build it together, one issue per pull request.
Whoever didn’t write the pull request reviews it and merges it. Nobody merges their own work.
They talk to each other through a markdown file. I can read every word, and I can drop a message into it whenever I like.
The first duo, Thelma & Louise, took on a project to audit every Crafd help doc and build a public support center. Thirteen issues. One hour and nineteen minutes.
Right now they’re building me a tool that turns long articles into podcast episodes, using a text-to-speech model running on the same Mac mini. I didn’t tell them how.
When they need me, they don’t ping me. They file a decision: a question, and the options. If it’s blocking, they wait. If it isn’t, they keep going.
The podcast duo has already filed two. Can they install Python and ffmpeg? And which server should host the feed?
Fair questions. I’ll get to them after I finish this post.
Jobs are cron jobs. Some run a script. Some spin up an agent.
Every night at 2am, one backs up Crafd’s staging and production databases and keeps the last seven.
Every minute, another checks Crafd’s triage queue. That’s where user bug reports land, along with every PHP, JavaScript and MySQL error. If it’s a bug, one agent fixes it, a second agent reviews the fix, and it ships to staging with a note on my dashboard linking to the issue and the pull request.
That’s the idea, anyway. So far it has mostly been politely telling me things aren’t bugs.
Projects mirror Linear. Each one shows its issue count and status, and a duo’s progress bar follows the issues in its project. Linear is the source of truth. Conductor just watches it.
There are no forms. No “New job” button. If I want a new job, or a duo on a new project, I ask Claude Code and it sets it up. I had forms for about a day. Then I deleted them.
Now, the obvious question.
Why not use one of the tools that already do this?
There are good ones.
Conductor (yes, same name, I know) runs Claude Code, Codex and Cursor agents in parallel, in isolated workspaces on your Mac.
Paradev, formerly Superset, puts any coding agent in one workspace, each task on its own branch, with all the review in one place.
T3 Code calls itself the open-source control plane for coding agents.
Paseo runs many coding agents at once, on any machine, from your desk or your phone.
Here’s why I didn’t.
First, control. I want every little detail the way I want it. How the pair hands off work. What they’re allowed to push. When they stop and ask me, and when they just keep going.
Second, bloat. Every one of those apps does a hundred things. I’d use twenty. The other eighty is surface area I’d have to learn, configure, or work around.
And the third reason is the one that changed.
Building your own used to be expensive. It isn’t anymore.
Claude and Codex built most of Conductor themselves, reviewing and merging each other’s pull requests. Four days. Fifty-seven pull requests.
It’s the same stack as Crafd. PHP, MySQL, vanilla JavaScript. No classes. No build step. About 6,500 lines of code and 4,600 lines of tests. index.php is eleven lines.
When something bugs me, I ask for a change. A few minutes later it’s reviewed, merged and running.
Software used to be something you bought because building it was too much work. Now I can have software that does exactly what I need and nothing else.
Bespoke software, for an audience of one.
So that’s the experiment.
I don’t know where it ends up. Maybe in six months one of those apps does everything I want and I switch. Maybe this whole idea is silly.
But I’d love to hear from anyone doing something similar. What are you running your agents with? What would you want in a setup like this? What would you leave out?
Any suggestions on what I should call it? Also, is this a harness? A framework? Something else?
Leave a Reply