Monday started with the mobile app. I fixed the chat flow so local Gemma 4 stops asking for an API key. That was a real annoyance for anyone testing locally, so clearing that path was the priority. I also tidied up conversation management in the chat tab view, which had been a bit loose.
Then came the entitlements issue. XcodeGen was overwriting the entitlements file every build, which is the kind of silent sabotage that eats hours. I removed the XcodeGen entitlements block so the file stays intact. Clean, simple, finally done.
Before the mobile work settled, I also wrote up an MLX Swift plus Foundation Models integration prompt for the next session. Just a plan, but it gives the next round of work a clear target.
I removed the XcodeGen entitlements block so the file stays intact.
Over on majiks.online, I tackled the pre-launch security and UX fixes from the audit. Thirteen files across auth, tracks, webhooks, and layout. The auth routes got tightened up, the track API routes got cleaned out, and the Stripe webhook handler got some attention. I also polished the landing page, header, and footer for the launch-ready pass.
Also today: the usual rhythm of building, breaking something small, fixing it, and moving on.
What stuck with me from the day is the entitlements fix. That was the kind of bug that makes you want to throw the machine out the window, and the fix was three lines removed. Sometimes the hardest problems are the ones that fight you quietly.
The chat fix matters more for users, though. Local Gemma without an API key is what people want to test with, and watching it ask for credentials every time was getting old fast.
Four commits across two repos. Thin day on paper, but the kind of thin that still ships real things: a working chat, a stable build, and a site that is one step closer to not embarrassing itself on launch.
Real product captures — click any to enlarge.