Why We Built Offline Mode First
Sarah Mitchell
CTO • December 15, 2024 • 8 min read
When we started building Velocity, the conventional wisdom was clear: start with cloud-only, add offline later (if ever). Cloud is easier to build, easier to update, and easier to monetize.
We went the other way. Here's why.
The reliability problem
Voice dictation fails exactly when you need it most. You're on a plane drafting an important email. You're in a basement conference room with spotty wifi. You're presenting on stage with a captive portal login.
In all these scenarios, cloud-only dictation just... stops working.
The privacy problem
Not everyone is comfortable sending their voice to the cloud. Lawyers discussing client matters. Doctors noting patient information. Executives planning strategy.
For these users, "trust us" isn't good enough. They need a technical guarantee that their voice never leaves their device.
The latency problem
Even the best cloud connection adds latency. Round-trip to the server, processing time, round-trip back. It's noticeable, and it breaks the flow of natural dictation.
Local processing eliminates network latency entirely.
How we did it
We integrated Whisper, OpenAI's open-source speech recognition model, directly into the Mac app. The model runs on Apple's Core ML framework, taking advantage of the Neural Engine on Apple Silicon Macs.
The result: - **400MB download** – One-time, happens automatically - **100% local** – Nothing ever leaves your device - **Surprisingly fast** – Real-time on M1 and newer
The tradeoff
Offline mode isn't perfect. Cloud transcription (Deepgram Nova-3) is more accurate, especially for technical terms and proper nouns. It also supports more languages.
That's why we offer both. Cloud when you can, local when you need it. Velocity switches automatically based on your connection and preferences.
Lessons learned
Building offline-first was harder than cloud-first. But it forced us to think carefully about the entire user experience—from first download to daily use.
The result is an app that works everywhere, for everyone, all the time. That's worth the extra engineering effort.