What we build with it

Whisper turns a form field into something a user can talk to instead of type into. We wire it in two different ways depending on where the input lives.

Behind a web frontend, audio is recorded in the browser, sent to a transcription endpoint on the existing backend, and the text comes back into the field it was recorded for. Inside a Flutter app, we bundle Whisper directly into the binary — a GGML build running through FFI — so transcription happens on-device: no upload, no round trip, and it keeps working with no connection at all.

Where we have shipped it

Formtastic is where this landed first. Its web app calls into a new transcription endpoint on the existing Django backend rather than a separate service, since Django already owns the request's auth and storage. Its Flutter apps carry the model itself, so filling out a form with no signal works exactly the way it does on wifi.

When we recommend it

Whisper is worth reaching for wherever a form has long free-text fields — notes, reports, open-ended answers — that are slow to type on a phone and natural to say out loud.

Which integration makes sense depends on the client. A web app that already has a backend gains little from carrying model weights to the browser, so a server endpoint is the smaller change. A mobile app benefits from the on-device path specifically when it has to work offline or when sending audio off the device isn't acceptable — the trade-off is a larger app bundle and app-level compute, in exchange for zero network dependency and nothing leaving the device.

Audio is captured where the user is typing, transcribed by Whisper, and the resulting text is placed back into that field. Where it runs — a backend endpoint or on-device in the app — depends on the client.
On-device transcription keeps working with no connection and never sends audio off the phone. We use it in Flutter apps via a GGML build running through FFI, at the cost of a larger app bundle and using the device's own compute.
Formtastic's web app transcribes through an endpoint on its existing Django backend; its Flutter apps bundle Whisper on-device, so forms can be filled out by voice even with no signal.