Inspiration
POTS patients face two problems. Their symptoms are invisible, so doctors dismiss them as anxiety. And
syncope-alert service dogs that warn before fainting cost $20,000-$30,000 with multi-year waitlists. As
lead researcher and a POTS patient myself, through collected clinical physiological data through an
IRB-approved study to prove that ML could predict an episode before it happens. All data is de-identified, and not available to public as of now.
What it does
Tilt Tracker is a real-time POTS vasovagal syncope prediction and patient advocacy system.
- Predicts episodes 2 minutes early. An ML ensemble (RandomForest + GradientBoosting + Logistic Regression) analyzes heart rate, HRV, and electrodermal activity from a wearable sensor.
- Voice-powered episode logging. Grok AI listens to disoriented patients describe what happened, asks about symptoms, and logs structured data automatically.
- Clinical evidence reports. Generates printable medical documents .
How we built it
- Real wearable biosignal data (BVP 64Hz, EDA 4Hz) collected under IRB24-0205 at UIUC with Qualtrics symptom journals
- Python ML pipeline (pandas, scipy, scikit-learn) with per-minute HR, HRV, EDA features and temporal train/test split
- Next.js, React, Recharts, Tailwind CSS frontend with real-time chart streaming and prediction alerts
- Grok Voice (xAI) via LiveKit for voice-based symptom logging
- Deployed on Vercel
## Challenges we ran into
- Patient journal entries had inconsistent dates, misspelled triggers, and mixed formats. We needed to build a parser.
- Coordinating the voice agent, LiveKit room, and frontend polling to detect logged episodes before timeouts fired.
Accomplishments that we're proud of
- A better way for patient's to avoid getting injured while fainting.
- Built entirely on real clinical data, not simulated or synthetic
- Voice agent parses natural speech ("I got dizzy walking upstairs, heart was racing") into structured symptom logs without any forms
- Full prediction demo runs in under 30 seconds, visually showing detection before the episode occurs. From a real life syncope event from a patient.
## What we learned
- Voice is the right modality for post-episode logging. Patients genuinely cannot type after a presyncope event. Blurry vision, and other physical impairments make it hard to
- Real patient data is messy. Robust parsing matters as much as the ML model itself.
## What's next for Tilt Tracker
- Per-patient models that adapt to individual baselines over time
- Push notifications to patients and emergency contacts
- Clinician dashboard for doctors to review trends and predictions
Built With
- claude
- grok
- javascript
- node.js
- python
Log in or sign up for Devpost to join the conversation.