Voice AI is more than generation quality. The product needs consent controls, streaming delivery, background processing, observable infrastructure, and a path for evaluation.
What had to work beyond the model.
Enrollment flow includes consent enforcement, liveness, and anti-spoofing concerns.
Real-time synthesis is designed around WebSocket streaming alongside REST APIs.
The repository includes background jobs, structured logging, metrics, tracing, and deployment configuration.
How the pieces connect.
- 01Client surface
A React/Vite client guides enrollment, consent-aware actions, and the operational interface.
- 02API boundary
FastAPI exposes HTTP endpoints for request/response work and WebSockets for streamed synthesis events.
- 03Async processing
Celery and Redis keep long-running enrollment, synthesis, and evaluation work out of the request path.
- 04State + observability
PostgreSQL/pgvector, object storage, a model registry, logs, metrics, and traces support the service boundary.
Choices that make the system usable.
- 01
Separated routes, service logic, data access, ML integrations, and worker tasks so the system can evolve without becoming a single inference script.
- 02
Reserved WebSockets for streamed synthesis while long-running enrollment and evaluation work moves through background workers.
- 03
Made consent tokens, rate limiting, audit logging, liveness, and anti-spoofing concerns explicit at the enrollment boundary.
- 04
Treated quality evaluation and observability as product requirements, with a documented container, migration, health-check, and tracing path.
How the work can be inspected.
- Health endpoints, migration commands, and container configuration make the local service topology inspectable.
- Structured logs, metrics, and tracing hooks are included so failure modes can be investigated rather than guessed at.
- The repository documents separate worker and API responsibilities, which makes asynchronous behavior visible in review.
The repository describes a production-minded path, but this case study does not claim measured voice quality, uptime, or a customer deployment.