Inspiration

My father is approaching 60, and as he gets older, I’ve started thinking more about the small changes in health and mobility that often go unnoticed until they begin affecting everyday life. My grandfather lived with Parkinson’s, so the condition has always felt personal to me. I’ve seen how gradually losing control over something we normally take for granted - a steady hand, a clear voice, or simply the confidence to take the next step - can affect not only a person’s mobility, but also their independence.

What stayed with me most is that Parkinson’s doesn’t exist only during a doctor’s appointment. People live with it every hour of every day, facing challenges with movement, speech, coordination, and independence in moments when a doctor or caregiver may not be there.

That led me to a different question: What if the technology already in our pockets could do more than track health - what if it could actually support someone through those everyday moments?

That question became the inspiration for Steady.

For me, Steady isn't about replacing doctors or claiming that a phone can treat Parkinson's. It's about using technology to help preserve something much more human: The confidence to keep moving, communicating, and living independently.

What It Does

Steady is an all-in-one daily companion designed to help people living with Parkinson’s track motor changes, support everyday movement, and understand their patterns over time.

1) Daily Assessment Checks

A quick 2-minute daily check establishes a personal baseline across three key areas:

  • Hand Stability - Uses the iPhone’s accelerometer and gyroscope to measure movement and tremor RMS.
  • Finger Control - Measures tapping speed, precision, rhythm, and interval variance.
  • Voice Stability - Analyzes sustained phonation for changes in pitch and voice stability.

Results are tracked over time, allowing users to understand 7-day and 30-day trends rather than relying on a single measurement.

2) Steady Walk - Rhythmic Cue Engine

An active walking companion that provides rhythmic auditory, haptic, and visual cues designed to support a more consistent walking rhythm.

For some people living with Parkinson's, walking can become difficult when starting to move, turning, passing through narrow spaces, or during episodes associated with Freezing of Gait (FoG). External rhythmic cues can provide a predictable beat for the user to focus on and synchronize their steps with.

How this helps the user

Instead of asking the user to consciously maintain a walking rhythm, Steady provides a continuous external reference:

Hear the beat → Feel the haptic → Follow the rhythm → Keep stepping

This can be especially useful when:

  • Starting to walk
  • Maintaining a consistent walking pace
  • Walking rhythm becomes irregular
  • Approaching turns or transitions
  • The user feels hesitant while stepping
  • Walking through environments where movement feels more difficult

Steady does not claim to prevent falls or Freezing of Gait. The feature provides an additional rhythmic cue that users can incorporate into walking strategies recommended by their healthcare professional.

Users can choose between:

Standard Click · Wood Block · Synth Bell · Tick-Tock

The Rhythmic Cue Engine (RhythmicCueEngine.swift) combines real-time audio synthesis with high-precision background timers to deliver these cues consistently.

1. Mathematical Sound Synthesis (Zero-Latency Audio)

Instead of loading audio files for every beat, Steady generates its cue sounds mathematically inside PCM buffers (AVAudioPCMBuffer) during initialization.

Using AVFoundation at a 44.1 kHz sample rate, it creates four sound signatures using frequency oscillators and decay envelopes:

  • Standard Click - A sharp 1000 Hz sine wave with rapid decay (e⁻²⁵⁰ᵗ) for a clean metronome click.
  • Wood Block - A lower 650 Hz resonance with a slightly slower decay to mimic natural percussion.
  • Synth Bell - A higher 1200 Hz tone with a longer decay (e⁻⁸⁰ᵗ) to create a ringing cue.
  • Tick-Tock - Alternates between low and high-frequency clicks to create a familiar pacing rhythm.

Because these sounds are prepared in memory, the engine can trigger them immediately without repeatedly loading audio assets during a walking session.

2. High-Precision Dispatch Timers

A walking cue needs to maintain a predictable rhythm.

Instead of relying on Timer.scheduledTimer, the engine uses a GCD DispatchSourceTimer running on a dedicated high-priority serial queue:

app.steady.rhythmicCueEngine

The interval between cues is calculated directly from the selected BPM (Beats Per Minute):

Interval (seconds) = 60 / BPM

For example:

90 BPM → one cue approximately every 0.67 seconds

This keeps the pacing signal consistent even while the interface is updating.

3. Tactile, Auditory & Visual Synchronization

Every beat coordinates three forms of feedback:

  1. Audio Pacing - The pre-synthesized PCM buffer is scheduled on an AVAudioPlayerNode.
  2. Haptic Pacing - UIImpactFeedbackGenerator provides physical rhythmic feedback so users can feel the rhythm while holding or carrying their iPhone.
  3. Visual Pacing - An onBeat callback synchronizes the visual pacer animation with the same beat.

Together, this creates a simple multimodal experience:

Hear it → Feel it → See it → Follow it

This is particularly useful because users are not forced to depend on a single type of feedback. Someone can follow the audio while walking with the phone in their pocket, use haptics as an additional cue, or watch the visual rhythm before beginning to move.

4. Dynamic Cue Adaptation

Steady can combine motion information from the iPhone's accelerometer and gyroscope with the Rhythmic Cue Engine.

The app can observe changes such as:

Regular movement → slowing → irregular movement → movement pause

and use this information to adapt the cueing experience while maintaining a predictable rhythm.

Steady does not diagnose these events as clinical Freezing of Gait. Instead, they are treated as movement patterns that may help determine when additional rhythmic support could be useful.

Why Steady Walk matters

Steady's Daily Assessments help answer:

"How has my movement been changing over time?"

Steady Walk addresses a different question:

"Can my phone help me while I'm moving right now?"

This makes Steady more than a passive symptom tracker. It combines long-term motor monitoring with an immediate, on-device assistive experience designed around everyday movement.

3) Gait & Motor Interactive Suite

Five purpose-built interactive exercises turn motor assessments into short, engaging activities:

  1. 🥁 Rhythmic Audio Trainer - Measures how accurately users synchronize taps with a rhythm.
  2. 👆 Alternating Hand Tapper - Tests alternating hand coordination and response consistency.
  3. 🎙️ Voice Pacing Coach - Uses the microphone to measure sustained pitch and volume control.
  4. 🎯 Tremor Holding Target - Measures hand stability by translating device motion into an on-screen cursor.
  5. ⚡ Reaction Sprint - Measures visual reaction and response times.

4) AI Companion

A conversational assistant that helps users:

  • Understand their Steady measurements and trends
  • Learn about Parkinson’s and common symptoms
  • Explore general exercise, movement, nutrition, and lifestyle guidance
  • Prepare questions and observations for healthcare appointments
  • Get everyday support through natural conversation

The assistant complements Steady’s tracking features without replacing professional medical advice.

5) Clinician Reports

Turn weeks of daily measurements into something useful at the next appointment.

Users can generate 7-day or 30-day PDF reports containing:

  • Motor assessment trends
  • Hand, finger, and voice measurements
  • Daily tracking statistics
  • User-written notes and observations

Reports can then be easily shared with a healthcare professional.

6) Designed for Accessibility

Steady is designed around users who may experience reduced fine-motor control.

  • Extra-large controls
  • High-contrast mode
  • Reduce Motion support
  • System, Light & Dark themes
  • Large, glass-inspired interface cards
  • Simple navigation with minimal precision gestures
  • Local daily reminders

7) One App, Two Goals

Track long-term changes. Support movement today.

Steady combines daily motor monitoring, rhythmic walking support, interactive exercises, AI assistance, and clinician-ready reports into one accessible Parkinson’s companion.

Results

Steady became especially meaningful for me because I built it to help my father. It gave him a simple way to check his movement through short daily activities and understand how his hand stability, finger control, voice, and walking were changing over time. The rhythmic cues in Steady Walk also gave him an additional way to maintain a consistent walking rhythm when movement felt difficult. More than just collecting measurements, Steady helped my father become more aware of his day-to-day movement and gave our family something concrete to look at and discuss together. It gave us greater confidence in understanding what he was experiencing between appointments and helped him feel more supported in his everyday life.

How we built it

  • Swift & SwiftUI: Hand-crafted native iOS interfaces utilizing modern sheets, grids, and charts.
  • SwiftData & CloudKit: Configured private iCloud database synchronization
  • CoreMotion: Utilized raw accelerometer and gyroscope data streams to measure tremor magnitudes and calculate step cadence.
  • AVFoundation (AVAudioEngine & AVAudioPlayerNode): Programmed real-time metronome wave synthesis and audio streaming.
  • RevenueCat: Handled billing logic and entitlement syncing for Steady Pro subscriptions.

Challenges we ran into

CoreMotion Recognition Delays: iOS's CMMotionActivityManager is highly power-optimized and can take up to 10 seconds to recognize walking. We solved this by developing a custom fallback algorithm that computes moving standard deviations over raw accelerometer vectors, recognizing walking strides in under 0.8 seconds.

Accomplishments that we're proud of

  • Instant Pacer Feedback: An audio metronome that kicks in immediately when the user takes their first step.
  • Offline-First & Private: A setup where all raw microphone data and sensor baselines stay on the user's phone or private iCloud container.

What we learned

  • Accessibility First: Designing for people experiencing motor fluctuations requires specialized touch target sizing, high-contrast visual cues, and haptic feedback.

What's next for Steady

  • WatchOS Companion: Integrate with Apple Watch to allow hands-free rhythmic pacing and tremor logging directly from the wrist.

Built With

Share this project:

Updates

Submission history