Inspiration
My grandmother had Parkinson's disease. Her neurologist saw her for 15 minutes every 3 months. That's an 45 minute a year to understand a disease she lived with every hour of every day.
Tremor monitoring technology exists, but it's locked behind expensive hardware. Apple's Movement Disorders API requires a $400 Apple Watch. Clinical accelerometers cost $10,000+.
For the millions of Parkinson's patients who are elderly and on fixed incomes, these tools might as well not exist.
I asked: what if AI could change that? MediaPipe's neural network tracks 21 hand landmarks in real time, in the browser, on any device, for free. I built TremorTrack to prove that clinical-grade tremor monitoring doesn't require expensive hardware, just the right AI and the right signal processing.
What it Does
TremorTrack replicates the MDS-UPDRS Part III postural tremor test, the exact assessment neurologists use, in 15 seconds, using just a webcam. Hold your hand up toward the screen and the app measures tremor frequency in Hz and scores it on the clinical 0–4 scale.
But the individual score isn't the product. The daily tracking chart is.
Over days and weeks it reveals the medicine's ON/OFF cycles tremor rising before each dose, falling after it kicks in, rising again as it wears off. This pattern is invisible to most care teams. Now it's visible at home, every day, for free.
TremorTrack is not a diagnostic tool. It does not replace a neurologist. It gives patients better data for the conversation they already have
How I Built It
MediaPipe Hands runs a neural network in the browser to track 21 hand landmarks at ~30fps. Raw landmark positions go through a signal processing pipeline I built from scratch:
- Fast Fourier Transform (FFT): decomposes position over time into frequency components. Peak in 3–6 Hz = tremor frequency
- Detrending: removes arm drift, not tremor
- Uniform resampling: corrects irregular frame timing for FFT accuracy
- Hann windowing: eliminates spikes for the FFT leakage so the frequency peak is clean
- Coherent gain correction: recovers the 50% amplitude lost by the Hann window
- Hand-size normalization: divides by wrist-to-fingertip distance, making scores camera-distance independent
Challenges
MediaPipe was built for gesture recognition, not sub-pixel motion analysis. meaning real tremors can appear artificially dampened or even disappear. I spent hours thinking the FFT was broken before realizing the input signal was being smoothed before it even reached our pipeline.
FFT accuracy required a lot of precision. Every step detrending, windowing, resampling, gain correction exists because skipping it produces a specific, measurable error.
What's Next
- Phone accelerometer mode: Using Phone to measure tremors. Same pipeline, 10x better sensor
- Clinical validation study: testing against standard accelerometry in real patients.
Ten million people worldwide have Parkinson's. Most of them have a webcam. None of them should have to wait three months to know if their medication is working.
Built With
- fft.js
- javascript
- mediapipe-hands
- react
- recharts
- tailwind-css
- vite
Log in or sign up for Devpost to join the conversation.