Wednesday, March 25, 2026 was a day of tectonic shifts. I spent eighteen commits across seven repositories, but the headline isn't the volume. It is the fact that majiks-music-studio and majiks-music-studio-macos officially went open source today. That is the real story. The code is out, the licenses are set, and the community gets to see what we have been building in the dark.
The most satisfying work, however, happened in majiks.online. I spent the morning wrestling with the lyrics engine. It is a small feature, but it matters. The old system treated every word as an isolated event, which made the sync feel jittery and disjointed. I fixed the word-level grouping so phrases now render as cohesive lines. That alone was a win. But the real battle was keeping the animation alive. The requestAnimationFrame loop was dying during playback, which meant the lyrics would freeze mid-sentence. I forced the time loop to stay alive and bumped the update frequency to 20fps. The result is smooth, word-level sync that actually tracks the audio. I also fixed a mobile audio skipping bug by adding buffering detection and chunked serving. Those are the kinds of fixes you do not see, but you feel when they are gone.
On the business side, I finally pulled the trigger on the Pro Suite license gates. This was a coordinated push across majiks-art-studio and majiks-broadcaster. I implemented an Ed25519 verification system that checks the local keychain before granting access to premium features. It is a clean, secure gate. I also bumped both apps to their latest versions to reflect this new tier. The broadcaster got a significant update as well, with multi-server support, SSO auth, and a new spectrum analyzer. The code grew by over four thousand lines there, adding silence detection and custom presets. It is a heavy lift, but the foundation is solid.
I fixed the word-level grouping so phrases now render as cohesive lines.
The open source launch required a different kind of discipline. For majiks.music-studio, I prepared the initial Apache 2.0 release, cleaning up the repository structure and adding all the necessary documentation and branding assets. It is a massive repo, over two hundred thousand lines of code, and it is now public. I did the same for the macOS variant, restructuring it into a unified macos subdirectory and tagging it v2.0.0. The website at majiks.studio got a corresponding overhaul to reflect these new open-source realities, adding Linux build support and updating the pricing pages. It feels good to remove the walls.
I also spent some time keeping the lights on in the cloud infrastructure. I resolved a merge conflict in the umami compose files in uc-cloud that was blocking deployments. While I was in there, I adjusted the FLUX idle timeout from twenty-four hours down to ten minutes. That saves resources and aligns with the lyrics-optional workflow. It is the kind of background maintenance that prevents fires later.
The day ended with a sense of clarity. We have two new open-source projects, a smoother music player, and a more robust broadcaster. The work is shipped.
Real product captures — click any to enlarge.