Inspiration

Healthcare in America is hard for everyone. It's terrifying for immigrants. The wrong choice between urgent care and the ER can mean a $5,000 bill instead of a $50 one. Insurance jargon is opaque to people who grew up here, and if you don't speak English fluently, none of the symptom-checker apps actually work for you.

We built Prana for the family member who answers the phone at 9pm because grandma feels weird and doesn't know if it's serious.

What it does

Prana is a voice-first, anonymous healthcare navigator. Three ways in — voice on the web, video clip from your phone, or a Telegram message — in English, Spanish, or Mandarin. In under a minute you get:

  • An urgency level (emergency, urgent, routine, wellness) with a clear next step
  • A plain-language summary of what you described
  • Care path recommendation: doctor, pharmacy, mental wellness, alternative medicine, or self-care
  • Cost ranges per option, insured vs. uninsured, with a note that community clinics serve uninsured patients regardless of documentation status

For actionable paths, our agent network takes over: pharmacy agents search CVS, Walgreens, and GoodRx in parallel; doctor agents hit Healthgrades and Solv. A ranker picks the best option under budget. One Stripe checkout closes the loop and auto-credits an anonymous deductible tracker.

The whole experience syncs across devices — speak on your phone, watch results appear on your family member's laptop in real time.

How we built it

  • Frontend: Next.js + Tailwind. LiveKit voice intake with animated orb. Phone-to-laptop sync via Page Visibility-aware polling. MediaRecorder for video intake. Mapbox 3D for the alternative medicine globe.
  • Backend: FastAPI + SQLite. Each session creates a run tied to a verified World ID nullifier hash. Stripe webhooks credit the deductible idempotently.
  • Agents: Nine Fetch.ai uAgents on Agentverse — CareFlow (orchestrator), Budget, Ranker, three pharmacy sellers, two appointment sellers — communicating via Chat Protocol and Payment Protocol.
  • Web automation: BrowserUse v3 with Playwright fallback and per-site mock fallbacks so the demo never blanks.
  • Video understanding: Twelve Labs Marengo indexes user clips and routes to a doctor or alternative-medicine expert based on visual evidence.
  • Identity: World ID v4 verify API on developer.world.org, server-side validation, nullifier hash as anonymous primary key.
  • Integrations: Composio for Google Sheets (every intake archived), Calendar (appointments auto-logged), Reddit (anonymous community posts), Gmail (summary email).
  • Voice: LiveKit + Deepgram + ElevenLabs + Whisper. GPT-4o-mini for triage routing, profile-aware without leaking insurance member ID to the LLM.
  • Telegram bot: python-telegram-bot with language detection, MarkdownV2 replies, persisted to the same SQLite.
  • OmegaClaw: A SKILL.md that lets compatible coding agents generate realistic healthcare test fixtures by routing to CareFlow.

Challenges we ran into

World ID 4.0 is in preview, and we found it. Our integration was clean, but our App ID had a bridge mismatch with IDKit v1.5 that took two hours and a visit to the World engineers' booth to fix. Action identifier had to be exact-match: prana-verify not prana_verify.

Scope vs. story. We started with a generic "AI medical advisor" concept and kept building features until we realized our pitch had drifted from the user. We cut features that didn't serve the immigrant story and added cost transparency, language filters, video intake, and Telegram. The story got sharper as the feature list got tighter.

Multi-agent orchestration on a deadline. Coordinating nine agents through Agentverse meant fighting async dispatch, race conditions, and schema mismatches between the FastAPI app and the agent bureau. We rewrote the orchestrator twice and consolidated DB init so agents can boot before the API.

Cost containment. Live browser automation burned through our budget. We added per-site mock fallbacks and a Playwright path as a free local alternative.

Accomplishments we're proud of

  • Real World ID validation. Not a stub or UI badge — server-side verification against the v4 verify API, each triage run cryptographically linked to a verified human.
  • Closing the loop end-to-end. Voice in, agents reason, browsers search, ranker picks, Stripe charges, deductible updates, Calendar logs. Most "AI healthcare" demos stop at the recommendation. Ours pays for it.
  • Multi-tradition perspectives without overclaiming. Users opt in to alternative traditions, with a Western safety check that always runs underneath. Emergency overrides fire even if the user only selected TCM.
  • Real-time multi-device sync without WebSockets. Phone-to-laptop history via 3-second polling and the Page Visibility API.

What we learned

The product gets better when the user gets more specific. "AI for healthcare" is a feature list. "Maria's son has a fever and she doesn't know if it'll be $50 or $5,000" is a product.

Multi-agent orchestration is more about message contracts than agents themselves. Define your RoutingDecision shape early. Don't change it.

What's next for Prana

  • Scheduled voice check-ins. Outbound calls via Twilio + LiveKit for elderly users who don't open apps.
  • More languages, real ones. Next: Tagalog, Vietnamese, Korean, Armenian — real localization, not just LLM translation.
  • Family caregiver mode. Shared sessions where a daughter helps her mom describe symptoms and both see the response.

Built With

  • agentverse
  • browseruse
  • composio
  • deepgram
  • elevenlabs
  • fastapi
  • fetch.ai
  • idkit
  • livekit
  • mapbox
  • next.js
  • odesseyml
  • openai
  • playwright
  • python
  • sqlite
  • stripe
  • tailwind
  • telegram
  • twelve-labs
  • world-id
Share this project:

Updates