VoiceHotKey

Overview
VoiceHotKey turns speech into text anywhere you type. It ships as an iOS app and a custom keyboard, so you can dictate into any app, in any of the supported languages, and use AI to transcribe and rewrite text without leaving the keyboard.
My role
I built the app and the keyboard end to end for the client, from the transcription pipeline and AI actions to subscriptions and localization.
Hardest part
Custom keyboard extensions get a fraction of the memory a normal app gets, and iOS kills them the moment they go over. Recording audio, uploading it, and rendering AI output all had to fit inside that budget.
I kept the keyboard lean by sharing recordings and state with the main app through an app-group file service instead of holding them in the extension, and by releasing language resources on memory warnings.
Transcription reliability was the second problem: the backend runs a pool of load balancers that come and go. The client keeps its own list, retries the next balancer on failure, and caches the list locally with a timed refresh, so transcription keeps working even when the main API is unreachable.
Architecture & stack
Swift with SwiftUI for the main app and UIKit for the keyboard, MVVM throughout, and the Fleksy SDK as the keyboard engine.
Moya for networking with JWT auth, AVFoundation for recording, an app-group shared file service as the bridge between app and extension, StoreKit for subscriptions, Lottie for animation, and localization across 18 languages.