Shipped an iOS App [ Tonota ] in 9 Days — in My Spare Time

From first line of code to launch: 9 days. Tonota v1.4 went live on the Apple App Store yesterday.
My first app, back around 2016, took two of us working full-time for months. This time it was just me, in my spare time: started building on the evening of May 31, TestFlight on June 1, submitted v1.4 on June 4, live on June 9. Somewhere in between I also did a hackathon and shipped a different app. Tonota v1.6 is already on the way.

Yes, it’s another voice memo app. But this one runs fully on-device. WhisperKit does the transcription on the Neural Engine, so your audio and text never leave the phone. No account, no cloud, works offline — on a plane, or on the U-Bahn here in Germany, where “no signal” is basically a feature of the network. An offline app was honestly the only option.
I’m a backend/AI engineer, never did iOS seriously. Most of the boilerplate came from agents: Codex writes code, Claude writes specs and reviews them, and I mostly play scheduler between the two. The hard parts were still mine though — architecture, getting on-device ML to actually work, and saying no to features. CloudKit sync was an easy no. If privacy is the whole point, why upload anything.

Two years ago you couldn’t realistically run Whisper on a phone. Now you can. That, plus AI coding tools, is what turned months into 9 days.
Fair warning: v1.4 has no onboarding yet (coming in v1.6), so you’ll be dropped straight into the app. It’s simple enough that you’ll figure it out — but if anything confuses you in the first 5 minutes, that’s exactly the feedback I need.
Free on the App Store, iOS 17+, iPhone 12 or newer.
👉 https://apps.apple.com/app/tonota/id6775595589
🌐 https://janewu77.github.io/Tonota/

What’s the fastest you’ve ever shipped something? 👇
#iOS #OnDeviceAI #BuildInPublic #WhisperKit #Privacy #VoiceMemo
夜雨聆风