Single bidirectional model
One model, streaming both ways.
Northline is our home-services example. We built it to show how a voice agent can book, move and cancel service visits from a live schedule, quote fees, handle a caller who changes their mind, and take a message when nothing fits. The agent answers as Ellie and runs on a single bidirectional, speech-to-speech model, Google’s Gemini 3.8 Live, which hears the caller, reasons, calls tools and answers out loud in one continuous stream.
Google Gemini
Google ADK
Twilio
Google Cloud
Resend
The architecture
Rings the demo number from any phone.
Twilio streams the call to our service on Google Cloud Run, which pairs it with the live screen.
One live session, audio in and out at once.
- Look up services and fees
- Fill in the service request
- Check the schedule
- Book a visit
- Move a visit
- and 3 more tools
Businesses this architecture works for
This one answers for a home-services company, but the same build suits any phone line where callers interrupt, change their minds and want something booked. A few ideas:
- Plumbing, HVAC and electrical
Books repair visits from the live schedule and flags emergencies to the on-call tech.
- Roofing and contractors
Qualifies storm-damage and quote calls and books the inspection.
- Dental and medical clinics
Books, moves and confirms appointments, and takes messages for the front desk.
- Salons, spas and barbers
Books the right service with the right person and fills last-minute cancellations.
- Restaurants
Takes reservations, answers hours and menu questions, and passes on large-party requests.
- Auto repair shops
Books service slots, explains drop-off and answers “is my car ready?” calls.
- Property management
Logs maintenance requests and puts urgent ones straight through.
- Veterinary clinics
Books visits and sends “is this urgent?” calls to the team right away.
- Gyms and fitness studios
Books classes and intro sessions and answers membership questions.
The stack
A native-audio model: sound goes in and sound comes out, with no separate transcription or voice step.
Defines the agent and its tools once, and runs the live session.
Schedule, services and fees, bookings and messages. Fictional data, real logic.
Answers the number and streams the call audio both ways in real time.
Bridges the call to the engine, runs the tools, keeps the records and pairs the call with the live screen.
Sends the confirmation email from fixed templates, with limits so a public line can’t be misused.
What this architecture does well
Audio streams in and out over one live connection. Nothing is handed from a transcriber to a reasoning model to a voice, so replies start almost as soon as the caller stops.
The caller can cut in mid-sentence. The model hears it, stops, and picks up from what was actually said, the way a person would.
Because it listens to the audio itself, it picks up tone and hesitation as well as words, so a worried caller gets a calmer answer.
Gemini 3.8 Live can call backend tools while the stream keeps flowing. Each tool is set to wait for its result or run in the background. Ellie’s booking tools wait, so she never says “booked” before the system has booked it; ending the call runs in the background after the goodbye.
What the demo shows on a call
- 01Understands the problem
What’s wrong, where, and how soon. If it sounds dangerous, safety comes first.
- 02Checks the real schedule
Only times the schedule actually returns. No guessing, no double-booking.
- 03Reads it back
Day, time, address and fee, and she waits for a yes.
- 04Calls the tool
Books, moves or cancels the visit, or leaves a message for the team.
- 05Confirms it
The schedule updates on screen and a confirmation can go out by email.
Guardrails in the demo
- Offers only times the live schedule returns
- Reads the details back and waits for a yes before booking or changing
- Moves the same visit rather than double-booking
- For gas, sparking or flooding near electrics: leave and call 911 first
Trade-offs
- Voices come from the model’s built-in set rather than a voice designed from scratch.
- Less control over exact wording than when a separate text model writes every reply.
- Hearing, reasoning and speech all come from one provider.
The other two architectures
There’s no single right way to build a voice agent. Each demo shows a different one, and we choose per business. See them side by side.
Building for a different kind of business?
Tell us how your calls go. We’ll recommend an architecture and explain why.