Inspiration
- The idea came from personal experience: a close family member of one of our teammates lives with Parkinson’s, giving our team firsthand exposure to the challenges caused by freezing of gait.
- We saw an opportunity to make existing research practical: rhythmic cues can help during FoG episodes, inspiring us to build a system that detects an episode and delivers the cue automatically when it is needed.
- Our goal became preserving independence: instead of requiring constant caregiver intervention, we wanted something patients could wear or carry that quietly supports them during everyday movement.
What it does
- Detects freezing of gait (FoG) from accelerometer data using FFT-based features, Freeze Index, logistic regression, and 5 safety gates to minimize false alarms.
- Delivers personalized rhythmic cues: haptic taps first, escalating to audio after 4 seconds, with tempo calibrated to 110% of the patient’s natural cadence.
- Runs on both Apple Watch and iPhone, with personal calibration, event labeling, clinician CSV export, study recording, and an identical Python/Swift detection pipeline.
How we built it
- Built natively with SwiftUI for iPhone and Apple Watch, using device motion sensors to continuously capture accelerometer data and detect changes in a patient’s walking patterns.
- Created a hybrid FoG detection pipeline combining motion-based heuristics with an on-device Random Forest model, allowing detection and cue triggering to run fully locally without requiring cloud connectivity.
- Designed a caregiver-first setup and patient-first experience: after initial configuration and calibration, the app operates autonomously and triggers customizable haptic/audio cues when a potential freezing episode is detected.
- Built an opt-in data feedback loop: users explicitly choose whether to contribute motion and episode data, which can be used to expand the training dataset, investigate false positives/negatives, and improve future model accuracy.
Challenges we ran into
- Debugged difficult iOS/watchOS issues, including silent UI observation failures, motion permissions, background sensing, HKWorkoutSession, and app versioning.
- Achieved cross-platform numerical consistency, reproducing NumPy FFT/percentile behavior in Swift and normalizing Daphnet sensor units against CoreMotion.
Accomplishments that we're proud of
- Achieved Python–Swift detector parity on real patient recordings, with identical outputs and 16 passing on-device tests.
- Shipped working iPhone and Watch detection, including live calibration, personalized thresholds, probability monitoring, and automatic FoG detection.
- Built a deterministic patient-data demo where real Daphnet freezes trigger cues at the recorded moment, backed by evidence documentation and a 17-item limitations register.
What we learned
- Observability beats guesswork: live diagnostics and logging uncovered issues that repeated code fixes had missed.
- Product metrics matter more than model accuracy: optimizing for false alarms per hour led to a conservative ~30% sensitivity at ≤0.5 false positives/hour.
- The real moat is data and personalization: published detectors can be replicated, while labeled wrist data and per-user adaptation create long-term value
What's next for Stride
- Moving forward, we plan to incorporate more data, exploring new angles beyond just rhythmic melodies. We are also looking to conduct more clinical trials with patients to make sure this is as effective as possible.
Log in or sign up for Devpost to join the conversation.