📝 Notes
Weekly updates on what I'm shipping and learning across my side projects. Written with AI based on my actual project changes.
An Expired Key, a Vanished Paywall, and a Repo With No Code In It
Uncaption spent a week paying off the debt from its own migration — a leaked key fragment in a user-facing alert, and a paywall I deleted by accident. Meanwhile a new project got a repo before it got a single line of code.
Eight Languages, One False Claim, and a Toggle That Looked Like a Prompt
Mind Journeys went live and immediately turned into a localization project — then App Review rejected a privacy setting for looking too much like a permission prompt, and I found out my version numbers had been decorative the whole time.
Two Rejections, a Video Renderer, and a Schema That Was Never the Problem
Mind Journeys went three rounds with App Review over a screen size I don't even support, Speakit stopped re-billing every learner for the same audio clip, and a week-long 'schema too complex' error turned out to be about which API surface I was using.
Speakit Ships to TestFlight and Learns to Wind
The week Speakit crossed the line from 'runs on my machine' to 'installed on a real phone': a TestFlight build, a winding lesson path for the home screen, a new listening activity, phonetics with on-device speech, and streaks that finally count.
Speakit Gets a Name, a Look, and a Course Engine
The language tutor I started last week grew up: a real brand and design system across web and iOS, a structured course hierarchy with its own admin tool, and live AI calls deployed to the cloud.
Teaching an App to Talk Back: A New Language Tutor From Empty Repo to Live Voice
Spun up a new language-learning app from scratch, took it from auth to live AI voice calls, and chased a brutal audio-silence bug — plus billing on faceless-vid and a drip scheduler on Content Forge.
Counting the Cost: Adding Spend Tracking to AI Video Generation
Added cost tracking to Studio, fixed a chat persistence crash, and tightened up caption sync and export reliability in Content Forge.
Making Videos Sound Right: Music, Sound Effects, and Voice Selection
Added background music, per-slide sound effects via ElevenLabs, a proper voice picker, and polished the Studio export pipeline in Content Forge.
Studio Mode: Building a Video Editor Inside a Chat Interface
Shipped a full faceless video editor driven by chat, rewired MyFoodJournal's scan and favorites system, and replaced Leonardo with Gemini for image generation.
Filling In the Blanks: Documenting Six Years of Shelved Projects
Spent the week giving my failed projects their due — descriptions, tech stacks, timelines, and screenshots. Plus activity across VideoApp, MyFoodJournal, and sugar-app.
Shipping a Full Auth Migration, AI Design Tools, and a New Video Pipeline
A packed week — migrated ContentForge to Supabase, added AI-powered design generation, built a render worker, and started simplifying my iOS video app.




