Monthly chapter04
April 2026

April 2026: The Month We Built the Walls

April started with the kind of momentum that makes you think you can tackle everything in one go. Instead, it was a day of triage. The headline wasn't a shiny new feature but rather tightening the loose ends…

569commits39systems6min read
Product capture

Unicorn Brigade — orchestration command view.

April started with the kind of momentum that makes you think you can tackle everything in one go. Instead, it was a day of triage. The headline wasn't a shiny new feature but rather tightening the loose ends on the broadcaster and getting the live stream detection to actually work in Safari. The biggest win came from fixing audio quality with stride-aware buffer handling across eleven files. At the same time, I wrestled with the live stream status on majiks.online. I tried a fetch-based approach, then an Audio element probe, before finally settling on a simple HEAD fetch. It is boring, but it works across all browsers. The radio page now shows the live card correctly, and the chat stayed alive after I fixed a crash when OpenAI formatted tools. It wasn't groundbreaking, but the audio is better and the stream card is visible. That is a good Monday.

Friday was the day the infrastructure clicked. Thirty-four commits across ten repos. The headline is the GPU agent authentication. We spent the morning untangling a knot of registration failures that had been keeping our compute nodes offline. The fix was buried in a type comparison error and a Docker hostname routing issue. Once I got the shared secret logic right in the GPU agent and wired the RBAC checks into the compute API, the nodes stopped flapping. The mobile momentum was just as heavy. Majiks Player hit v1.0.0 with the full native iOS and Android stack. We also got Apple Music integration into the mix. Majiks Music Mobile got a critical fix for the public ACE Music Cloud generation, switching to the completions API. Majiks Art Studio v1.6.0 brought negative prompts and aspect ratios that actually work. The test suite grew by 129 tests. It feels like a real application now, not just a demo.

By the end of the first week, the infrastructure clicked. Thirty-four commits across ten repos. The headline is the GPU agent authentication. We spent the morning untangling a knot of registration failures that had been keeping our compute nodes offline. The fix was buried in a type comparison error and a Docker hostname routing issue. Once I got the shared secret logic right in the GPU agent and wired the RBAC checks into the compute API, the nodes stopped flapping. The mobile momentum was just as heavy. Majiks Player hit v1.0.0 with the full native iOS and Android stack. We also got Apple Music integration into the mix. Majiks Music Mobile got a critical fix for the public ACE Music Cloud generation, switching to the completions API. Majiks Art Studio v1.6.0 brought negative prompts and aspect ratios that actually work. The test suite grew by 129 tests. It feels like a real application now, not just a demo.

We spent the morning untangling a knot of registration failures that had been keeping our compute nodes offline.

The second week was about making the invisible work visible. We moved from patching holes to building foundations. The audio is better, the agents are federated, and the infrastructure is stable. I started by doing the unglamorous work that keeps the business from burning down. I spent the morning scrubbing legal exposure from centerdeep.ai. The old name "LoopNet Leads" was a liability, so I renamed everything to Commercial Property Intel across the frontend and documentation. It was a compliance pass touching thirteen files, but it keeps the lawyers off my back and the lights on.

The real movement began when I turned my attention to the MajiksDSP app. I spent the bulk of that Monday rewriting the audio pipeline to make it bulletproof under load. I implemented a new ring buffer, fixed concurrency issues with Swift 6, and rewrote the audio routing. This was a massive refactor touching seventeen files and nearly four thousand lines of code. I also wired up the HTTP API and expanded the Room Correction view into a full six-step wizard. By the time I wrapped up Monday, I had also redesigned the cognitivecompanion.dev site and finished the v2.0.0 rebuild for unicorncommander.com. It was a day of cleaning up the old and building the new.

The DSP engine got its due attention as well. I pushed v0.0.4, which was a heavy commit hitting 996 additions and 175 deletions across 18 files. I added polarity inversion, an exact EQ response curve, and a pro-Q scrub feature. Before that landed, I had to wrestle with the sample rate converter. v0.0.3 was an audit-driven fix pass, but the SRC was stuttering on edge cases. I rewrote the routing logic so the audio stayed solid when the OS changed the sample rate mid-session. I also wired the SpectrumAnalyzer and LoudnessMeter directly into the GUI. Seeing the real-time data flow through the UI was the kind of moment that makes the debugging worth it.

The art studio got a serious injection of structure on Tuesday as well. I shipped v1.6.1, a critical security hotfix for path traversal vulnerabilities. I locked down the gallery repair logic and added strict validation to the settings view. I also added 67 tests covering the artist agent and gallery repair. The test suite grew by 1,393 lines that day. It is not glamorous, but it keeps the platform honest.

Wednesday was about stability. The crisis-management-ops repo ate most of my cycles. I spent the morning and afternoon wrestling with race conditions and security gaps in the AI chat backend. I added conversation persistence and audit logging so we actually know what happened when things go sideways. That meant writing migrations and refactoring the chat hooks. By the end of the day, the system was finally stable.

The art studio also got a serious injection of structure. I built out a prompt template system for the artwork generation engine and set up release automation with CI quality gates. We now have ruff linting, format checks, and mypy type checking running in the pipeline. It feels good to have those safety nets in place. MajiksDSP got a UX overhaul in v0.0.5, adding a shared sidebar and imperial units. It is slow progress, but it is the right kind.

Thursday brought the big milestone. I committed the entire unicorn-stable platform in two commits. I started with the scaffold: docker-compose.yml, a Dockerfile, environment examples, and the LiveKit config. Then I built the thing itself. 10504 lines across eighty-two files. The agents runtime, the plugin layer for speech-to-text and text-to-speech, the main entry point, the tool registry, and the staging logic. It was not incremental. It was the first time the whole thing existed in one place, runnable, with infrastructure and application code in sync. That is a milestone.

Friday was about billing and fires. I fixed the upgrade and downgrade flows on majiks.online. The Stripe webhooks were the main culprit. The route handling was messy, and the metadata wasn't syncing correctly. I updated the subscription route and the webhook handler. It was a solid 187 lines added against 13 removed. Clean diff. I also wired up the GPU compute fabric in ops-center, adding billing events and fixing federated SSO. Now when someone spins up a GPU, we know about it. And we can charge them for it.

I also fixed a critical crash in meeting-minutes by bundling the Python scripts in the app Resources. The previous version wasn't doing that, so the transcriber was broken. Songwriter-agent got crash safety fixes and error visibility improvements. It is not the most exciting work, but it is the work that keeps the doors open.

Sunday was about the human touch. I spent the day tightening the core experience of the app, focusing on onboarding and local model capabilities. I rewrote the initial flow to be cleaner and more direct. The new Local Models management screen lives in the profile tab. Voice interaction is the other major addition. I added the ability to talk to Majik directly. The voice manager got a substantial update to handle the new input streams. The local

Also in the frame

Real product captures — click any to enlarge.

listing ops
uc cloud
meeting ops
Chapters in this month

The month, week by week.

Step down a level without losing the month's arc.

  1. Stabilizing the Mesh: The Week in Code104 commits
  2. The Week the Engine Started Talking82 commits
  3. Chasing Stability and Speed38 commits
  4. Forking the Universe and Forging the Pipes206 commits