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.

  1. Predicts episodes 2 minutes early. An ML ensemble (RandomForest + GradientBoosting + Logistic Regression) analyzes heart rate, HRV, and electrodermal activity from a wearable sensor.
  2. Voice-powered episode logging. Grok AI listens to disoriented patients describe what happened, asks about symptoms, and logs structured data automatically.
  3. 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

Share this project:

Updates