ParkinPal
A phone web app that measures hand tremor and voice changes for people with Parkinson's, and turns a week of tests into a summary for a doctor visit.
Watch the demo on YouTube
Tremor test
Thirty seconds of accelerometer data from the phone's DeviceMotion API, high-pass filtered, then checked for energy in the 4 to 6 Hz band typical of Parkinsonian tremor. The result is a score from 0 to 10 and a severity band.
Voice test
A seven-second recording of a fixed sentence through the Web Audio API. The app measures speaking time, pauses of 0.3 s or longer and volume variance, and scores them from 0 to 10. If speech recognition hears fewer than 7 of the 9 words, it asks for a retake rather than scoring a bad recording.
Raw audio and motion never leave the phone. Only aggregated scores go to the model that drafts the report.
Data and the report
Every entry lives in the browser's local storage. For the doctor report, the app sends seven days of daily scores, averages, ranges, standard deviation, trend and the correlation between tremor and voice to a language model through a serverless proxy, and shows a template summary if the model is unavailable.
Limits
DeviceMotion needs HTTPS and a tap to grant permission on iOS, and speech recognition varies by browser. The scores are hackathon heuristics built in a weekend. They track change for one person over time; they are not a clinical measure.