Inspiration
Healthcare pricing is opaque by design. If you're uninsured, you avoid care because you can't price it: you don't know what a visit costs, what a medication costs, or whether the pharmacy is steering you toward a kickback-inflated option. Meanwhile, the most accessible interface in the world already exists — a phone number. No app to download, no account to create, no smartphone required. We built Clara so that anyone in Manhattan can call a real number, describe their symptoms, and hang up knowing what to take, what it actually costs, and where to go.
What it does
This AI Agent was deliberately designed for Arya Health, call it at +18482491409. Clara is a voice AI care line for people without insurance. You call a real phone number and describe what's wrong — say, a sore throat. Clara answers with real data, not vibes: an over-the-counter suggestion, its actual cash price, and the nearest low-cost or sliding-scale clinic that takes patients without insurance.
Safety comes before conversation. A deterministic triage check runs on every single utterance before the AI model ever sees it. Say "chest pain" and "my arm is numb" and you get an instant, scripted 911 escalation — the model is never in the loop on emergencies. For urgent-but-not-911 situations, Clara offers to connect you directly to a telehealth professional and warm-transfers the live call — a real doctor, without the ER bill.
Call back tomorrow and Clara remembers you. She greets you by name and follows up on that sore throat, with a caller profile keyed to your phone number.
How we built it
The pipeline: a Twilio phone number feeds a Vapi voice layer (speech-to-text, text-to-speech, turn-taking), which talks to our custom TypeScript server exposed as an OpenAI-compatible endpoint — so the "model" Vapi sees is actually our whole guardrail-first pipeline. Inside it, a deterministic safety triage gates every turn before the LLM (Claude by default, behind a provider-agnostic gateway) generates a response. Grounded answers come from a care-API tool layer: real cash prices for medications, a low-cost clinic finder, a care knowledge base, and housing checks. Caller memory is a profile keyed by phone number, giving Clara continuity across calls.
Challenges we ran into
Making safety deterministic in a system built around a probabilistic model. Emergency detection couldn't be a prompt — it had to be code. So the 911/988 path never touches the LLM: scripted escalation fires before the model sees the utterance. And because the guardrail depends on data, we added a keyword fail-safe that keeps the emergency path working even if the care API is completely unreachable. The rule we kept coming back to: the model gets to be smart everywhere except where being wrong is fatal.
Accomplishments that we're proud of
A live phone line you can actually call — end-to-end voice, telephony, and tools working together, not a demo video of a mockup. A safety architecture where the emergency path is provably model-free. Every answer grounded in real cash prices and real clinics, not hallucinated. And a care line that remembers you between calls, like a person would.
What we learned
Voice is a brutal, honest interface — latency, turn-taking, and interruptions expose everything a chat UI hides. Guardrails work best as infrastructure, not prompts: putting deterministic triage in front of the model instead of inside it made the system both safer and simpler to reason about. And grounding matters more in healthcare than anywhere else — a confident wrong answer about medication is worse than no answer.
What's next for Clara
Prescription price-shopping. After a telehealth visit, Clara transcribes the call, extracts the prescription, and finds the lowest real price for it online — what it actually costs, versus kickback-inflated options.
SMS follow-up. When there's too much to convey by voice, Clara texts the caller Google Maps links to the clinic and other useful resources.
OTC product photos. For over-the-counter recommendations, Clara texts a product photo — so you can find it in the aisle at Walgreens or show it to the person at the counter.
Built With
- claude
- elevenlabs
- node.js
- twilio
- typescript
- vapi
Log in or sign up for Devpost to join the conversation.