Inspiration

The hardest part of recovery and mental health isn’t always knowing what to do — it’s doing it in the moment you need it most.

People leaving treatment are told to “call your sponsor” or “reach out to someone.” Crisis lines exist. But at 2am, alone, with urges building or panic setting in, finding the right person and explaining what’s happening is often too much. The support network is there. The bridge to it isn’t.

We built My Circle around a simple idea: your choices about who supports you should still work when you’re least able to execute them yourself. The patient defines their Circle — sponsor, family, peer, case manager — and an AI agent handles the rest when they press one button and speak.

What it does

My Circle is a mobile-first web app that helps someone in distress reach trusted human support quickly.

  1. Set up your Circle — Add the people you trust, with name, relationship, and phone number. Drag to set call order.
  2. Hold for Help — Press and hold, say what’s going on. No forms, no typing. AI stays with you — Grok Voice listens, offers brief grounding, and decides whether to escalate.
  3. Your Circle gets called — Twilio rings your supporters with context. They press 1 to connect; you get a callback.
  4. Live status — The app walks you through each step: contacting → calling → delivered → waiting → connected.
  5. The agent is a coordinator, not a clinician — no diagnosis, no medical advice, no pretending to be emergency services. It reduces the time between “I need help” and “a trusted human is on the phone.”

How we built it

Next.js on Vercel — mobile-first UI, deployed with public webhooks for Twilio Grok Voice (xAI Realtime API) — voice coordinator over WebSocket, with a notify_circle tool for escalation Web Audio + AudioWorklet — PCM capture and playback at 24 kHz in the browser Twilio — outbound calls, TwiML scripts, press-1 gather flow, sequential or parallel dialing based on urgency libSQL (Turso) — persistent storage for Circle members and escalation session state @dnd-kit — drag-and-drop to reorder who gets called first Flow: browser gets a short-lived session token from our API → opens realtime voice session with Grok → agent calls notify_circle when escalation is needed → backend creates an escalation session and places Twilio calls → supporter confirms → Twilio bridges the callback to the member’s phone.

Challenges we ran into

Escalation orchestration. Sequential vs. parallel calling, canceling other rings when one supporter picks up, and keeping the UI in sync with call status across multiple Twilio callbacks. Scope discipline. It’s tempting to build “AI therapist.” We kept the agent focused: listen, triage, mobilize the Circle, stay present.

Accomplishments that we're proud of

End-to-end live demo — hold button → voice conversation → real phone rings → press 1 → connected Patient-defined support network — not a generic crisis line; your people, your order Urgency-aware calling — sequential for relapse risk and distress; parallel when immediate danger is detected Voice-first, one gesture — built for the moment when typing or navigating an app feels impossible Clear safety boundaries — the agent knows what it is and isn’t; escalates to humans and points to emergency services when needed Shipped something real in a day that we’d actually want to show a friend What we learned Patient agency isn’t always dashboards and data. Sometimes it’s “I already decided who I trust — just make that work at 3am.” AI in healthcare works best as a bridge, not a replacement — autonomous coordination toward human connection, not autonomous diagnosis. The demo moment matters. A phone actually ringing in the room lands harder than any architecture diagram. Voice + telephony + realtime AI is a fun stack — and surprisingly finicky. Every layer has its own failure mode. Constraints help. Not being a therapist forced us to build something focused and shippable.

What's next for My Circle

HIPAA-ready storage and proper auth for real clinical adjacency Care team onboarding — discharge programs pre-configure a patient’s Circle Escalation history — optional log the patient owns and can share with providers Smarter Circle defaults — time-of-day routing, backup contacts, quiet hours Outcomes tracking — time-to-contact, connection rate, patient-reported “felt supported” (for pilots, not prizes)

Built With

Share this project:

Updates