What it does
Physico is a mobile-first physiotherapy assistant that uses your phone's camera to guide you through recovery exercises in real time. It tracks your body movements using MediaPipe pose detection and gives instant feedback — telling you if your arms are straight, if your shoulder rotations are big enough, or if your neck tilts are deep enough. It also provides a structured 12-week recovery program with weekly workout plans, daily exercise checklists, and progress tracking.
How we built it
We built it as a React + Vite web app styled for mobile (390px phone layout). The camera tracking uses MediaPipe Tasks Vision with a pose landmarker model running in VIDEO mode. We built three exercise components — ArmTracker, ShoulderRotation, and NeckTilt — each with real-time angle and movement detection. The weekly workout system uses a day-by-day checklist with localStorage persistence. We used Git feature branches throughout to keep each component isolated.
Challenges we ran into
Getting the pose detection to run smoothly in real time without dropping frames was tricky. Calculating meaningful angles and movement thresholds that work across different body sizes and distances from the camera took a lot of tuning. We also had to carefully manage the camera and animation loop cleanup to avoid memory leaks between page navigations.
Accomplishments that we're proud of
We built a working real-time pose detection system from scratch with no ML experience going in. The three exercises each use different detection techniques — angle calculation, wrist history tracking, and nose position normalization — and they all give meaningful live feedback. We also shipped a full end-to-end app flow from onboarding through to weekly workout tracking.
What we learned
How MediaPipe landmark coordinates work and how to normalize them to be camera-distance independent. How to structure a React app around a camera loop without causing performance issues. The importance of Git branching when multiple people are working on different features at the same time.
What's next for Physico
Connecting the camera exercises directly into the weekly workout plan so completing an exercise in the tracker marks it done in the checklist. Adding rep counting so the app can automatically track sets and reps. Expanding to more body parts beyond the arm and shoulder. A backend with user accounts so progress syncs across devices rather than staying in localStorage.
Built With
- html
- javascript
- python
- react
- supabase
Log in or sign up for Devpost to join the conversation.