Jarvis, six weeks in: what's actually working

Personal · 2026-08-12

Right, so I promised this one a while back and kept putting it off, mostly because I didn't want to write a review before I'd actually broken the thing a few times. Now I have. So here we are.

Quick context for anyone new. Jarvis isn't an app you download. It's a fleet of Claude agents running on a server of mine, around twenty of them by now, each its own process with its own job: research, email summaries, calendar, news, SEO audits, a security scanner, a design reviewer, a morning brief. They hand work to each other over a message bus. Jarvis is the one I talk to. I speak, it works out which agent should do the thing, and it talks back in a voice that is, yes, a bit much.

The voice side went live on 1 June. Six weeks of talking to it most days is enough to know where it earns its keep and where it doesn't.

What's actually good

It's a front door, not a do-everything bot. "Research this company", "what's on today", "is everything running", each one goes to the agent that owns it, and the answer comes back as a card I can read later or gets read out. When a job is too big for a conversation, a deploy, a push, anything across repos, Jarvis drops it in a queue for a Claude Code session to pick up, rather than pretending it can do it mid-sentence.

It reads things to me. The morning brief, out loud. My own sites, checked when I ask. Fleet health, which agent's up and which one's gone quiet.

It catches what I say in passing. Ramble about something I need to do and it lands on a list, filed against the right project. That was the whole reason I started building any of this, so it's nice that it's the bit that works.

And I can talk over it. Cut in mid-sentence, even while it's still thinking, and it stops. Sounds like a small thing. Try using a voice assistant that can't do it.

Where it falls apart

Right, the bit you're actually here for.

It says things happened that didn't. Early on it would confirm a save that hadn't saved, or read back a count that was wrong. Every one of those got a hard check in code, because asking a model nicely to be honest doesn't hold.

It loops. Reading a list back, it would get stuck going round the same items. Result cards kept coming back after I'd dismissed them.

It captures things I never asked it to. Half a sentence turns into a to-do. Fixing that meant digging through where those phantom items were actually coming from, not tweaking a prompt and hoping.

And the agents behind it used to promise work and then just stop. The session ends, the job sits half done, and nobody knows. The fix was a commitment ledger: anything promised gets written down before the work starts, and a watchdog nags if it's still open past its deadline. Basically a nagging line manager for robots.

The honest bit

None of this is magic. Almost every fix in six weeks has been the same shape: stop trusting the model to behave, and put a check in code where it can't talk its way round it. The prompt is the suggestion. The code is the rule.

Is it worth it? For me, yeah. It takes the admin bits of the day, the checking, the chasing, the "did that actually go out", and gets most of them off my plate. Would I tell someone else to build one? Only if they like the maintenance, because honestly that's the actual job.

Anyway. That's Jarvis, six weeks in, as promised. More on this as it breaks in new and interesting ways, because it will.

The build behind this is written up part by part in Jarvis: the architecture series.

Related posts

← All posts · Home