Skip to content
All projects
HackathonAI

MedVoice

A real-time voice triage assistant on Gemini Live, built for the Gemini Live Agent Challenge.

Role
Hackathon entrant
Year
2026
Illustration of a voice conversation producing a triage card with urgency levels

What it is

Talk to MedVoice in the browser and it asks follow-up questions by voice, then produces a structured triage summary. It runs on Google Cloud Run.

The problem

A voice agent must stream audio both ways with low latency and let the user interrupt it, while still producing structured data a system can use.

Architecture

Requests flow left to right. Hover a component for its role.

MedVoice architectureaudio streamvoice and textReact and Web AudioReact and Web AudioWebSocket: 16 kHz in, 24 kHz outWebSocketFastAPI on Cloud RunFastAPI on Cloud RunGemini LiveGemini LiveTriage extractor: structured resultTriage extractor
Solid line: synchronous callDashed line: through a queueDashed box: external or infrastructure
  • React and Web Audio client
  • WebSocket edge, 16 kHz in, 24 kHz out
  • FastAPI on Cloud Run service
  • Gemini Live ai
  • Triage extractor service, structured result

Key decisions

  • Structured output inside a conversation

    The agent speaks naturally but emits a tagged JSON triage block that the server extracts, so the conversation produces usable data.

Highlights

  • Handles the user interrupting the agent mid-sentence.
  • Containerised and deployed to Cloud Run through Artifact Registry.

Stack

Python 3.12FastAPIGoogle Gemini LiveReact 18Web Audio APIWebSocketDockerGoogle Cloud Run
MedVoice architecture diagram from the hackathon submission
MedVoice architecture diagram from the hackathon submission