Saturday morning started with a clean slate and a heavy lift. The headline for the day wasn't just code, it was a new product. I shipped the very first version of Email Cleaner. This is a native macOS app built on Python, designed to use AI to tidy up your inbox. It’s a solid +9412 lines added across 50 files. The backend handles the heavy lifting with an MLX analyzer, prompt engineering, and a backup manager. It’s the kind of utility I always wished existed, finally built.
But the real grind was in the music studio. The v3.0.0 release for Majiks Music Studio Pro was a massive undertaking. I spent the bulk of the day working across multiple repos. The multi-agent chat is now trimmed down to just Majik and Engineer, which makes the interactions much cleaner. I fixed the enhance_caption logic and resolved a whole host of regressions. The UI got a responsive overhaul, and I finally got the library naming and publishing flows to work correctly. FIX: I integrated the Rust DSP engine into the iOS app => I integrated the Rust DSP engine into the macOS app to get full ACE-Step v1.5 parity and rebuild the publisher. It felt like untangling a knot that had been tightening for weeks.
There was also the memory issue. I switched the LM backend from PyTorch MPS to native MLX. The difference is night and day on Apple Silicon. It fixed the memory bloat that had been plaguing generation sessions. for those who need to squeeze more out of their hardware. The editing fields for duration, BPM, and key are now editable, which is a small change but makes the workflow feel so much more responsive.
I spent the bulk of the day working across multiple repos.
On the broadcaster side, things got technical. I integrated the Rust DSP engine into the iOS app. This means the EQ and audio processing are now handled by the high-performance Rust library instead of the Swift wrapper. It’s a cleaner architecture and faster. I also wired up OAuth refresh tokens so the app doesn’t kick users out every hour. There were some critical bugs from the combined UI and code audit that needed squashing. The mic crash is gone, and the encoding pipeline is more stable. I ran a soak test to make sure it could handle a long stream without leaking memory. It passed.
I also pushed a staging overlay for the relay service. Just a small docker-compose file, but it helps keep the staging environment isolated from production. It’s the kind of infrastructure work that doesn’t show up in the UI but keeps the lights on.
It was a day of shipping. From a brand new email tool to a revamped music studio with better performance and stability. The code is cleaner, the bugs are fewer, and the new features are finally live. Time to rest.
Real product captures — click any to enlarge.