I. Stakes

Telehealth physical therapy has a blind spot: patients prescribed home exercises do not have a clinician watching. Form drifts, drift causes reinjury, and reinjury sends the patient back to the PT weeks later. A paper exercise sheet offers no feedback at all. PhysioRise asks whether the phone propped against the wall can do the watching: checking every rep, correcting form in under a second, and reporting results back to the PT who prescribed the routine.

II. Constraints

  • PrivacyPT data is health data; every frame stays on the phone
  • BackendNone. HIPAA video infrastructure is beyond an indie iOS app
  • ComputeiPhone Neural Engine, via CoreML and the Vision framework
  • FeedbackSub-second cue, mid-rep, offline-capable
  • AudiencePatient at home; licensed PT reviewing the cohort

III. Decisions

The whole pipeline runs on the phone

PT data is health data. Streaming video to a server requires HIPAA infrastructure that an indie iOS app cannot support.

Apple's Vision and CoreML stack runs the entire pipeline on the Neural Engine, which makes inference free, private, and offline-capable. The camera never streams anywhere. Four stages, all on-device:

  • 01 · CaptureAVFoundation · front camera, 30 fps
  • 02 · DetectVNDetectHumanBodyPose · 17 keypoints, on-device
  • 03 · ClassifyPT_Model_InfinityAI.mlmodel · action classification per exercise
  • 04 · CoachSwiftUI overlay · skeleton + form cue

One Action Classifier per exercise

For each prescribed exercise, squat, lunge, glute bridge, plank, PhysioRise loads a different Create ML Action Classifier. The model takes a sliding window of pose frames and outputs both the recognized exercise and a confidence-weighted form score. A single multi-class model gets confused between similar movements, lunge against split squat, so the per-exercise models won: they are smaller, faster, and easier to retrain when a PT requests a new prescription type.

PhysioRise training pipeline: synthetic exercise data on the left, Create ML Action Classifier UI on the right showing 88.8 percent training accuracy and 79.4 percent validation accuracy across 220 iterations
Fig. 02 — Synthetic training data, and the Create ML Action Classifier session. 88.8% training accuracy, 79.4% validation, at iteration 220.

A second app for the person who prescribes

PhysioRise Dashboard is where a licensed PT closes the loop: prescribe exercises, set rep targets, review session-level adherence and form scores. Patients see their progress; PTs see the cohort. This is the feedback channel a paper exercise sheet never had.

IV. What shipped

Two apps, one ML pipeline. PhysioRise, the patient app, generates personalized warm-ups and runs the live form coach. PhysioRise Dashboard, the clinician app, syncs prescriptions and results over CloudKit.

SurfaceAudienceStack
PhysioRisePatient, at homeSwiftUI · Vision · CoreML · AVFoundation
PhysioRise DashboardPhysical therapistSwiftUI · CloudKit sync

V. Results

Validation moved outdoors, away from the training distribution: pushups, squats, and superman holds in an uncontrolled setting, on a real phone, in real light.

Outdoor testing photos showing PhysioRise classifying pushups, squats, and superman exercises with green borders for correct classifications and red borders for those needing correction
Fig. 03 — Field validation, outdoor session on iPhone. Green borders classified correct; red flagged for review.

The money result

1st place at Synopsys SCVSEF, and the Castro Family Award for Best Physical Science Project.

The project also qualified for the California State Science and Engineering Fair and drew a nomination for the Thermo Fisher Junior Innovators Challenge.

1stSynopsys SCVSEF · Castro Family Award
CSEFState fair qualifier
JICThermo Fisher nominee

The honest boundary: this is field classification and fair judging, not a controlled patient study. Nobody has measured whether PhysioRise reduces reinjury. The evidence shows a classifier holding up outside its training set, and two shipped apps that never upload the patient's camera feed.

VI. What I learned

  • Privacy is an architecture decision, not a checkbox. Choosing on-device first deleted whole problem classes, no backend, no HIPAA exposure, no network latency budget, and the product got faster because of the constraint rather than despite it.
  • Small specialized models beat one clever one. A lunge and a split squat look alike to a general classifier; a model that only knows squats is smaller, faster, and honest about what it does not recognize.

Colophon

  • 1st Place & Castro Family Award, Best Physical Science ProjectSynopsys SCVSEF
  • California State Science and Engineering Fair, qualifierCSEF
  • Thermo Fisher Junior Innovators Challenge, nomineeJIC