HRya2
Inspiration
My uncle — active, late 70s — had a cardiac arrest this week and got a bypass surgery. After a few weeks of supervised rehab, he'll be on his own. HRya2 is the coach that keeps him moving!
What it does
An AI coach calls you on the phone and works out with you, pacing a gentle high-knee session to your live Fitbit heart rate. Adaptive cardio music and a 3D figure keep you moving; it checks for symptoms up front, keeps you in your prescribed HR zone, wraps up warmly after a minute, and sends your cardiologist a one-page report.
How we built it
Twilio ConversationRelay for the call, a streaming OpenAI coach (with safety logic kept deterministic, so the LLM only phrases it), live Fitbit heart rate over Bluetooth, and a FastAPI backend with an event bus feeding the UIs over SSE. Patient monitor in three.js + Web Audio; clinician intake/report app in FastAPI + SQLite.
Challenges we ran into
BLE on macOS silently hangs under uvloop (fixed by forcing asyncio); the Fitbit only shares HR once enabled and uses a 16-bit format; stopping the coach from talking over itself; running voice on the phone and music locally at once; and demoing a real call on a trial Twilio account (so we built a mock mode).
Accomplishments that we're proud of
A real end-to-end call: the phone rings, an AI coach guides exercise while reacting to your actual heartbeat, music and a 3D guide keep you moving, and it ends by generating a clinician report — on real hardware, with a safety-first architecture.
What we learned
Keep the clinically-important decisions deterministic and let the LLM handle phrasing. Real hardware and telephony are where the time goes — build mock paths early so you can iterate for free.
What's next for HRya2
More exercises, richer clinician dashboards, EHR integration, and clinical validation — turning a daily rehab session into a triage layer for chronic heart care.
Log in or sign up for Devpost to join the conversation.