ProjectBuild an AI Voice Receptionist: the explanation · Module 18: Watching calls live · part 20 of 23
Part 20 · Module 18: Watching calls live

Module 18: Watching calls live

23 min read·
About 40 minutes · Needs: Module 14 (the live call session), Module 15 (PII masking), Module 6 (staff roles) · Code: backend/app/observability/metrics.py, backend/app/observability/tracing.py, backend/app/services/events.py, backend/app/api/routes/desk.py, backend/app/api/routes/calls.py

Where this fits

WHERE THIS FITS The Medilane voice receptionist this module CLIENT React API LAYER FastAPI SAFETY SPEECH IN BRAIN LangGraph SPEECH OUT KNOWLEDGE AND DATA pgvector OPERATIONS Langfuse, Prometheus Caller app browser mic Staff app desk and admin REST API staff, sessions Voice socket audio both ways Auth + RBAC staff roles, voice tokens Guardrails emergency, PII VAD Silero, turns Whisper speech to text Language en, hi, Hinglish Agent tools, confirm Open models Groq: gpt-oss, Qwen Kokoro TTS en + hi voices Retrieval multilingual Ingestion clinic documents PostgreSQL clinic, calls, vectors Redis events, limits Front desk live events, hand-offs Observability traces, metrics Evaluation WER, safety, latency
This module (blue) is the Operations layer: traces and metrics for engineers, a live event stream through Redis for the front desk, and masked call records in PostgreSQL behind the staff app.

A receptionist that nobody can watch is a receptionist nobody can trust. This module opens the "Operations" layer: what the system records about every call, how engineers see slow turns, and how front-desk staff see a caller in trouble within a second.

The rest of this project is yours to keep

This project is bought on its own, once, and stays readable afterwards, including the parts added to it later.

Or open everything with a plan