Inspiration

Hospital intake breaks down when patients cannot describe symptoms in English. Translators are not always available, front-desk staff are overloaded, and important symptoms can get lost before a nurse sees the patient.

We wanted intake to feel natural: the patient should just speak in their own language, and the hospital should still get structured, actionable information immediately.

What it does

intake is a voice-first hospital front-desk kiosk.

A patient taps Start Intake and speaks naturally in their own language. An ElevenLabs conversational agent detects the language, asks short medical intake follow-ups, and captures the transcript. The transcript is analyzed with GPT-4o into a structured English triage object: urgency tier, symptom summary, estimated wait, and suggested next step.

The patient is redirected to a live queue page with their spot in line, a QR code to follow updates on their phone, and a triage card to show the desk. Staff see every intake appear live in an admin dashboard, sorted by urgency, with the raw transcript, AI analysis, and controls to override tier or update status.

No patient has to type. No staff member has to manually translate. Convex keeps the patient and staff views updated in real time.

How we built it

We built intake with Next.js 16, React 19, Tailwind CSS, ElevenLabs Conversational AI, OpenAI/GPT-4o, the Vercel AI SDK, Convex, and Zod.

ElevenLabs powers the multilingual voice intake. GPT-4o performs structured triage analysis from the transcript. Convex stores intake records and powers live patient queue pages and the staff dashboard. Zod validates the triage schema so the UI always receives a predictable object.

Challenges

The hardest part was coordinating three moving pieces under hackathon time pressure: voice collection, realtime backend state, and AI triage analysis. We kept the boundaries clean: ElevenLabs collects the conversation, GPT analyzes it, and Convex stores and broadcasts the result.

We also had to avoid scope creep. We cut patient history, real EHR integration, staff accounts, and real hospital wait-time integration so we could ship one end-to-end intake flow.

What we learned

Voice AI is most useful when it disappears into the workflow. This is not a translation app with a separate translation step. The patient just speaks, and the front desk gets the information they need.

We also learned how well Convex fits realtime operational workflows: the patient queue and admin dashboard update without refreshes, which makes the demo feel like a real front-desk system.

Built With

  • convex
  • cursor
  • elevenlabs
  • next.js
  • openai
  • react
  • tailwind
  • zod
Share this project:

Updates