Put a bow on it - agents
Sometimes it is important to call a project "good enough" and start using it for some time, instead of continuing to constantly iterating on it. And this week I did that with the coding part of LazerBunny. (There is obviously still a long list of todos, but none of them are show stoppers.)
Here is what I have so far:
- a coding agent doing really well
- an LLM router
- a control plane for a fleet of agents
We have already talked enough about the coding agent and the router. The new and latest part is the controller.
Yet another web ui
There were a few requirements from the get go for the web UI, all of which I did not consider negotiable to make it work well for the way I use LLMs.

The obvious one is being able to control multiple agents at the same time. I want to kick off tasks and then let the agents and the router figure out when a request is being processed. This also means a bit of state managing to keep all agent connections around, listen for responses and pushing all of it to the web ui.
Web ui is a bit of a misnomer here. I am technically also working on a TUI. The agents talk to the controller via websockets and so do the clients handling input and output. Initially I was considering gRPC, but that quickly shifted when installing the tooling, defining the schemas and running the compile step reminded me of all the "fun" I had debugging gRPC in the past. No thanks, I'm good - I take the technically worse solution for my hobby project that does not make me regret my life choices.
The other part is a plan mode. I want to throw a handful of research tasks into the controller, and when I come back from lunch or walking Triss see the results.

The UI is honestly not the best at this point. Things are not aligned well, I do not fancy the colors too much and I think the font choices could be better. But it is doing its job, so I will first work on other parts and then hope my wife has some time to create a style guide and unified design language. Because nothing speaks fun hobby project like asking a digital media artist to create a style guide⦠right?
Vibes
I try to stay open minded to developments in the software engineering world, even if I am not convinced they are a good idea or even worth it. Nonetheless I did the most pretentious thing I can think of, I quoted myself in a presentation I recently gave.
Vibe coding: The irresponsible behavior of an engineer not doing their job. (me, February 2025)
I stand by this quote. People sometimes like to misrepresent this as me being opposed to agentic engineering. This is not the case. If you copy code from Stack Overflow or have a hallucination box put it in your editor does not matter much to me, as long as you understand what the code does and make sure it works, meets the business requirements and is maintainable. Obviously all of this should be understood in the context of business. (If you hack a Python script together to notify you when your football team has the next match no one really cares, vibe away!)
But I tried to vibe the controller. Twice. Once with Qwen 3.6 27b and once with Claude Code. Just so I could be sure the issues were not the model.
It has been some time since I have seen such a dumpster fire of code. It looked like it should be working. Until you actually used more than one client and one input. Suddenly: Race conditions. Proper code structure? Nah, we are not doing that. Clever use of abstraction? Nope, "no abstraction" or "fifty layers of indirection", pick one.
I did not just fire off a task and walk away either. After providing a spec I refined the code with additional queries. I could get it in a better shape. But what it did not do is save me much time. In fact I did a manual refactor of the Qwen version and let the agent do some very localized changes after I beat the code in shape and I was quicker than prompting Claude over and over again. And noticeably cheaper, even factoring in my time.
Also fun fact: the explanation how the timer tools work in the screenshot above is not correct. Good job reading the code, little probability machine!
Progress
All apps are deployed and the agents are ready to go. All three need some cleanup and a bit of care; despite being a little side project I would like the code to actually be good, especially when I push them to a public repo. Now it is back onto the "brain", for which I still lack a better name. So far I taught it to set timers, take notes and be snarky. Well, it got a few more tricks, but these are the two I am mostly using it for. The avatar is making progress. Slow progress, but progress. Next week or so I might get the hair done and baked. After that some UV, rigging and hopefully I can post a video of Endirillia telling you that she is cooler than your AI assistant sometime mid this year.
posted on May 10, 2026, 7:01 p.m. in AI, lazerbunny