Speech-to-speech agent
Real-Time Voice Reservation Agent
A voice-driven hotel front-desk agent built on Amazon Nova Sonic. You speak to it like a receptionist: it verifies your identity, looks up your reservation in DynamoDB, and modifies it — and you can interrupt it mid-sentence.
- Amazon Nova Sonic
- AWS Bedrock
- Python asyncio
- FastAPI
- Next.js
- DynamoDB
Why speech-to-speech
Most voice agents chain three models — speech to text, a language model, then text to speech — and pay latency at every hop, typically two to three seconds before the caller hears anything. This one runs a single bidirectional stream: audio in, audio out, with no transcription step in the middle.
One core, two transports
A terminal client on a local microphone, and a browser client over WebSockets with a live transcript and a sanitized tool-call trace. The core never imports an audio library — it exposes exactly two seams, audio in and audio out, which is why a second transport could be added without touching agent logic.
Demo
A full conversation: identity check, reservation lookup, a date change read back before anything is written, and an interruption mid-sentence.