Dispatch 201
Week ↗

Launching the Studio and Fixing the Crashes

Tuesday started with a classic developer trap: chasing a ghost. I spent the morning wrestling with `songwriter-agent`, trying to get the macOS app to stop crashing on startup. It turns out the issue was buri…

Commits
24
Systems
5
Read
2min
Product capture

Majiks DJ — deck controls.

Tuesday started with a classic developer trap: chasing a ghost. I spent the morning wrestling with songwriter-agent, trying to get the macOS app to stop crashing on startup. It turns out the issue was buried in the build script. The install_name_tool command choked on spaces in the path, and the Python framework wasn't bundling the helper app correctly. I fixed the path handling, added the Python.app helper to the framework bundle, and got the multi-phase signing right so notarization doesn't reject the build. It is tedious work, but having a stable client means the rest of the ecosystem can actually talk to it.

With the agent stable, I pushed songwriter-agent to v1.2.0. This wasn't just a version bump; it was a content pipeline overhaul. I added an optional dependency installer for smoother setup, an MCP setup helper in the settings, and a full update checker that pulls version info from majiks.studio. I also overhauled the README and added screenshots so people can actually see what they are downloading. The app menu bar got an About panel, and I added a "Check for Updates" item because users should know when there is something new.

The big story of the day, though, was majiks-music-studio-pro. I shipped v1.7.0, which is a massive jump. The commit touches 44 files and adds over 12,385 lines. The headline feature is multi-server generation, which means the studio can now talk to multiple backend instances at once. I also integrated the pipeline directly into the UI and added zoom controls so you can see your work clearly. The backend got a refactor in llm_providers and majik_agent, and the MCP server is now more robust. I updated the README and changelog to reflect the change, but the real work is in the code. The studio is finally ready for the kind of heavy lifting I envisioned.

I added an optional dependency installer for smoother setup, an MCP setup helper in the settings, and a full update checker that pulls version info from `majiks.

On the web side, majiks.online got a serious update with v3.2.0. I built out the content pipeline for the site, which means topic pages, album detail pages, and enriched metadata for every track. I also fixed a unicode escape bug in majiks.studio that was rendering literal text instead of characters, and I made the download page dynamic so it reads the current version from the database. This keeps the ecosystem in sync without manual updates.

I also spent some time polishing majiks-art-studio. I bumped it to v1.3.0 and I fixed a crash in the Python.app launcher by removing an unused GUI component from the framework bundle. I also added links for Buy Me a Coffee and GitHub Sponsors because supporting the project matters.

Also today: I updated the version system across majiks.studio to support multi-product versioning, ensuring the Art Studio and Songwriter pages reflect their respective builds accurately.

The day ended with a stable studio, a working web pipeline, and a client that doesn't crash. It is a good baseline to build on.

Also in the frame

Real product captures — click any to enlarge.

majiks
majiks
majiks