I accidentally built mission control for my AI agents

Six months ago I had a boring problem. I was running Claude Code across a dozen-odd machines — different projects, different rooms, different corners of my own attention. Each instance produced things: reports, dashboards, analyses, half-finished builds. And I had no idea where any of it was.

So I built the dumbest possible fix. One web page. One URL. Every agent could push whatever it made, and I could see it in one place. About 1,400 lines of PHP on the cheapest hosting I could find. Register, push, view. That was the entire idea.

I did not think I was building a product. I thought I was cleaning my room.

Then the fleet grew. One agent became many. Many became a system — agents that talk to each other over a message bus, claim tasks from a shared queue, hand work off, wait on each other, occasionally step on each other. And somewhere in that growth, “one URL to see the output” quietly stopped being enough. I didn’t need to see what my agents produced anymore. I needed to see what they were doing. Who was working on what. What was blocked. What was waiting on me. What had silently died.

That’s the thing nobody warns you about with multi-agent systems: past about three agents, observability stops being a nice-to-have and becomes the whole game. Not because the agents are weak — mine are remarkably capable — but because you become the bottleneck the moment you can’t see the state. An agent that does brilliant work and can’t surface it is worth about as much as one that failed.

So the little dashboard grew a command center. I named it FOCC — Fleet Operating Command Center — half as a joke. The joke wore off. Version 1 was everything I thought I wanted: the task queue, what’s ready, what’s in review, what’s done. I shipped it and started using it for real.

And using it taught me what I’d actually built: a very pretty read-only report. It showed me state. It didn’t let me act on state. Every time I saw something that needed a decision, I left the dashboard to go make that decision somewhere else. I’d built a window when what I needed was a cockpit.

So I did the un-fun thing. I didn’t patch v1. I wrote down the one lesson it had taught me — that a fleet dashboard’s job is not to inform me, it’s to let me ratify — and I rebuilt around it. v2 is organized by decisions, not by display. Every screen ends in an action I can take. The agents do the reversible work autonomously; the dashboard is where I do the irreversible part — approve, kill, redirect — in one place, in one sitting.

Here’s the part I keep chewing on. I’m a mechanical engineer by training, and I spent years in quality systems, where you learn early that you can’t control what you can’t measure, and you can’t measure what you can’t see. I believed that about machines. It turns out it’s just as true about a fleet of AI agents — more so, maybe, because they move faster than anything I ever built on a bench, and they’ll cheerfully run in the wrong direction for two weeks if nothing is watching.

FOCC was never a feature I planned. It was a need the work forced into existence. If you’re building with more than one agent, you’ll hit the same wall I did.

Build the window early. Then build the cockpit.

And if you’re doing this differently — I genuinely want to hear it. I’m figuring this out in the open, and the fastest way I know to get something right is to say it out loud and let people who’ve done it tell me what I’m missing. What broke for you that you didn’t see coming? What would you build instead? Reply, or write to me — the good ideas in here mostly came from someone pushing back on a worse version of them.

I write up how the fleet actually works — the coordination, the mistakes, the systems it grew — as I go.

Install Redis on Windows without enabling WSL

The default installation instructions of Redis on Windows 11 asks one to enable WSL (Windows Subsystem for Linux).

But an alternate approach exists if you do not/ cannot install WSL.

You can head to https://github.com/microsoftarchive/redis/releases and download the compiled binaries there and install Redis. (NOTE: during installation change the port from default 6379 to 16379. Otherwise you might get an error [1])

After the installation is completed, run the redis-server in a Command Prompt (with administrator previliges):

cd "c:\Program Files\Redis"
redis-server.exe

This should start the server and you should see a message similar to this:

Troubleshooting

If you get an error:

HandleServiceCommands: system error caught. error code=1056, message = StartService failed: unknown error

Modify the port in the file and then save it (saving requires admin priviliges), the run the following command:

redis-server redis.windows.conf

Notes

[1] Error: HandleServiceCommands: system error caught. error code=1056, message = StartService failed: unknown error

Solved: unable to disable screen pinning

I’m using MIUI

I occasionally press the screen pinning

A simple solution was to not click the Got it button or any other buttons, but press the power button so that the screen locks. On unlocking, the screen pinning option is not presented!

Hope this helps reduce your frustration…

In case you pin the screen, the worst case solution is to reboot…

SL4A on Andriod 5.1.1 or more

Head here: https://github.com/kuri65536/python-for-android/blob/master/README.md

Get the apks for both the SL4A and Python. Install them and test it

Note:

Solved : Remote control of SL4A from computer

I setup the remote control SL4A environment.

C:\Windows\system32>set AP_PORT=9999

C:\Windows\system32>adb forward tcp:9999 tcp:55407

When trying to import android from the command line python interface I got this error

C:\Windows\system32>python
Python 2.7.3 (default, Apr 10 2012, 23:31:26) [MSC v.1500 32 bit (Intel)] on win
32
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import android
Traceback (most recent call last):
File “<stdin>”, line 1, in <module>
ImportError: No module named android

I then JUST downloaded the android.py file as suggested in the SL4A wiki and pasted it in the python installation directory C:/Python27. This solved the problem and import android executes without a problem!

>>> import android
>>>

 

 

[Solved]: Importing huge DB

When importing a file using bigdump.php on my Ubuntu, I got this error :

Can’t open table.sql for import

Please, check that your dump file name contains only alphanumerical characters, and rename it accordingly, for example: table.sql.
Or, specify $filename in bigdump.php with the full filename.
Or, you have to upload the table.sql to the server first.

The problem was that the file was not readable.

Simply chmod the file temporarily to 777, allowed the database to be imported.

[SOLVED] gtk-recordMyDesktop, no sound – on Ubuntu 10.04

I am on Ubuntu 10.04

I installed gtk-recordmydesktop and recorded the screen. I could not record the audio though.

I followed this link :

http://ubuntuforums.org/showthread.php?t=1428157&page=2

I set my

  • Sound preferences > Hardware
    • SetProfile = Analog Stereo Output
    • (it was earlier Analog stereo duplex)

It Works!

Solved : 404 error while changing Permalink Settings in WordPress on Ubuntu + Apache2

I am using Ubuntu 11.04 and LAMP (Apache2)

I did a fresh installation on WordPress and tried changing the Permalink settings from default to Post name option. But when I navigated to the posts, I used to get a 404 – Page not found error

Doing this solved the problem.

Making sure that the Mod_rewrite is enabled using this post and this post.

Then restart apache. Then update the permalink once more (so that it contains the Wordpres rules)

Then reload the sample-page. It works!