Friday, 2026-03-13. I pushed 24 commits across four repos today. The day started with a headache and ended with two products live.
The biggest win is majiks.online version 2.0.0. This was the full monetization and creator tools release. I spent hours untangling the auth system. The middleware was getting confused by JWT decoding and session polling. I stripped out the heavy auth() calls and switched to a lightweight JWT cookie decode. That fixed the session flood that was exhausting the database connection pool. I also switched the whole platform to Keycloak-only auth. That meant removing the old credentials provider and fixing the SSO callback URLs. It was a lot of wiring, but now the security is solid.
With auth sorted, I could focus on the money. I built out Stripe Connect for self-service creator signup. Creators can now link their accounts and get paid directly. The business model is clear: 100% of personal sales go to the creator, and I take 10% on commercial or exclusive licenses. I updated the pricing page and the registration flow to reflect this. The edit pages for tracks and albums now support artwork uploads and direct metadata editing. I also polished the UX for search, browse, and the queue drawer. The search function finally works correctly on the text array columns for tags.
I stripped out the heavy auth() calls and switched to a lightweight JWT cookie decode.
I also shipped the first version of the songwriter-agent. It is a Swift app that generates songs from personal conversations. I released v0.1.0 with the full codebase. It is a simple but powerful idea: feed it your chats, get a song. The app is ready for early testers.
The other work was maintenance and polish. I updated majiks.studio to version 1.5.1 and adjusted its pricing model to include a $29.99 Publisher upgrade. I also added Docker production deployment and Umami analytics to kerrylee and pointed it to kerrylee.site. On majiks.online, I fixed the CSP headers to allow the analytics script, cleaned up the manifest icons, and added proxy timeouts to prevent hung connections.
The day felt like a cleanup sprint followed by a launch. The auth fixes were necessary evil, but they made the rest of the platform stable. The monetization features are live and working. The songwriter agent is out there for people to break.
Two products shipped, one platform hardened, and the database stopped crying.
Real product captures — click any to enlarge.