macOS runtime
Python modules
Swift modules
Mobile architecture
Flutter owns app shell, onboarding, history, modes, model management, settings, clipboard flow, and deterministic text cleanup. Native iOS owns microphone recording, WhisperKit/Core ML, Apple SpeechTranscriber, and keyboard extension behavior. The Apple SpeechAnalyzer core is shared with the macOS helper. Native Android owns microphone permission/status, WAV recording, app and input-method settings intents, keyboard status, haptics, and input method behavior. Flutter-side sherpa-onnx handles Android transcription after native recording returns the local WAV path.Long sessions and recovery
Recordings longer than five minutes use the chunked pipeline. Each VAD segment is transcribed, grammar-corrected, and persisted to~/.whisper/current_session.jsonl before the next chunk runs. If a crash happens mid-session, completed chunks are recovered on next boot.
The LaunchAgent uses KeepAlive={SuccessfulExit=false} with ThrottleInterval=10. Crashes restart. Clean stops do not hot-loop.