The challenge
What the system needed to solve
Make voice and transcription convenient without uploading recordings or transcripts to a third-party speech service.
The build
Engineering decisions
Deployed a reusable faster-whisper API with an ephemeral, re-downloadable model cache rather than treating model files as precious state.
Built a standalone transcription lab for file uploads and a voice HUD for conversational interaction.
Integrated the same service with Open WebUI and the local agent workstation.
Protected browser surfaces with two-factor authentication and constrained the internal API with network policy.
Architecture
How the pieces connect
- 1Browser microphone or uploaded media
- 2Authenticated voice/transcription UI
- 3Shared faster-whisper API
- 4Local transcript consumer
Results
What changed
- Audio and transcripts stay on infrastructure under the operator's control.
- One speech service supports multiple interfaces without duplicating heavy model state.
- The model cache can be recreated after failure while user-provided files remain ephemeral.
