Dispatch 167
Week ↗

The day the tools grew up

Most of the day belonged to meeting-minutes. I finally pushed v0.1 of the Transcriber app, a clean slate of 8000 lines across 34 files. It is the thing I meant to build for months, a Swift app that listens t…

Commits
6
Systems
3
Read
2min
Product capture

Meeting-Ops — live session surface.

Most of the day belonged to meeting-minutes. I finally pushed v0.1 of the Transcriber app, a clean slate of 8000 lines across 34 files. It is the thing I meant to build for months, a Swift app that listens to room chatter and turns it into structured transcripts using Whisper. The code is there, the models are hooked up, and the interface actually works. It felt good to ship something that does one specific thing well instead of trying to be a general-purpose AI playground.

But the real story is what happened in mantisshrimp and unicorn-brigade while that was compiling.

I started with a nagging suspicion that the agent execution in mantisshrimp was too fragile. If the model hiccups, the whole run fails and the state gets lost. So I built a Supervisor layer. It is not just a wrapper; it is a full oversight system that monitors the agent, checks for errors, and can restart or adjust the run without dropping the ball. I added the documentation and a comprehensive test suite to go with it. The code went from a simple script to a robust harness. The tests cover the happy path and the messy middle where things usually break.

I started with a nagging suspicion that the agent execution in mantisshrimp was too fragile.

Then I looked at the client side of mantisshrimp. I wanted to make it easier to compare models without rewriting the UI every time. I added a BenchmarkManager that lets you run side-by-side comparisons and see the results. I also fleshed out Agent Profiles so you can save settings for different tasks. The ChatTab got a polish pass to make the flow smoother. It is not a huge feature set, but it makes the tool actually useful for evaluating which model fits which job.

unicorn-brigade got the heavy lift. I needed to move away from simple request-response cycles and into real-time orchestration. I built an event bus using Server-Sent Events. Now the frontend can listen to the agent's progress as it happens. You can see it thinking, see the tool calls fire, and watch the state update without refreshing the page. It changes the feel of the app from a form to a live dashboard.

That was just the plumbing. The core platform got a massive upgrade to support Function Calling and the A2A/MCP protocols. I spent hours wiring up the new routes and updating the API handlers. The dashboard images got a refresh to match the new UI. It is a big jump in capability, moving from a simple chat bot to a system that can actually interact with other tools and agents.

The day started with a plan to just tweak the meeting app. It ended with a complete overhaul of the agent infrastructure and a real-time dashboard. I am tired, but the code is solid.

Also in the frame

Real product captures — click any to enlarge.

brigade
brigade
brigade