-
Notifications
You must be signed in to change notification settings - Fork 1
Three Model Platform
Zerm's defining idea: the whole experience is powered by three local AI models, each owned by the app, each installed and managed the same way, each able to run fully offline.
flowchart LR
subgraph dev[Your Mac]
direction TB
A[ποΈ Whisper<br/>Speech-to-Text] --> B[π§ Gemma<br/>Agentic layer]
C[Selected text] --> B
B --> D[π Kokoro<br/>Text-to-Speech]
A -. or paste .-> P[Cursor]
end
The middle model β Gemma β is the "agentic" layer that serves both sides: it cleans up speech-to-text output for accuracy, and it makes text-to-speech sound human instead of robotic.
| Speech-to-Text | Text-to-Speech | Agentic LLM | |
|---|---|---|---|
| Default model | Whisper (ggml) | Kokoro-82M | Gemma 4 E2B (Q4_K_M) |
| Engine | whisper.cpp |
sherpa-onnx |
llama.cpp |
| Approx size | 150 MB β 3 GB | ~330 MB | ~3.1 GB |
| Manager | WhisperModelManager |
KokoroModelManager |
LocalLLMModelManager |
| Stored in | β¦/WhisperModels/ |
β¦/TTSModels/ |
β¦/LLMModels/ |
| Cloud option | OpenAI, Gemini, Deepgram, β¦ | Deepgram, ElevenLabs, OpenAI, β¦ | Anthropic, OpenAI, Gemini, Ollama, β¦ |
All three live under ~/Library/Application Support/com.arcusis.zerm/, outside the app bundle, so they survive reinstalls.
Every model uses the same download UX (the manager classes are deliberate mirrors of each other):
sequenceDiagram
participant U as User
participant S as Settings card
participant M as ModelManager
participant FS as App Support
U->>S: pick model / "Download"
S->>M: download()
M->>M: URLSession download (progress %)
M->>FS: write to β¦/<Model>Models/
M-->>S: isInstalled = true
Note over M: runs fully offline thereafter
The card shows size, a one-tap download with a progress bar, an installed state, and delete β identical for the voice models and the LLM (LocalLLMModelCardView is shared between the AI Models screen and Read Aloud settings). See Model Management.
- Private β audio, text, and rewrites never leave the device on the local path.
- Fast & offline β no network round-trip; models are pre-warmed on launch.
- No keys β the recommended path needs no API keys.
Cloud providers remain first-class options for users who want them, configured per task.
See: Speech-to-Text Β· Read Aloud Β· On-Device LLM