Back to BlogEngineering

Why We Built Offline Mode First

SM

Sarah Mitchell

CTODecember 15, 20248 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.