Your media stays on this device
Video, decoded frames, pose keypoints, and report snapshots are not uploaded or saved by the app. Analysis and PDF/MP4 creation happen in this browser. Only the derived session summary is saved in this browser after you select Save Session. Browser storage can be cleared, is not a medical record, and does not sync to another browser or device.
Simple and Advanced
Simple (default)
Choose the joint, add one video, and the analysis starts on its own. The affected side is set to Auto-detect, so the limb facing the camera is measured; pick Left or Right only if it chooses the wrong one. You get the headline range numbers, the top focus areas, the annotated video, and a PDF report. Nothing is stored between visits.
Advanced
Switch with the toggle in the header. Advanced adds the pose model choice, trimming and analysis rate, the manual Angle line and Angle tools, the full movement detail (angle trace, repetition table, every measure with guidance), Save Session, and the device-local recovery profile and timeline with a surgery date. The choice is remembered in this browser.
What to upload
1Record one clip
- One MP4, MOV, or WebM at 30 or 60 fps. A short clip with a single slow repetition is enough to measure; three repetitions give steadier timing and variability numbers.
- Normal speed—do not use slow motion, time lapse, edits, or scene changes.
- Include a neutral starting view at both ends of the clip when you can.
- Show one person and the full joint chain required for the assessment.
2Set the camera
- Use a fixed, level camera or tripod, the 1× lens, and no digital zoom.
- Place it perpendicular to the requested movement plane, about joint height.
- Use bright, even lighting, a plain contrasting background, and fitted contrasting clothing.
- Keep every required joint visible; avoid occlusion by clothing, furniture, or the other limb.
3Perform the protocol
- Select the assessment before upload; leave the side on Auto-detect unless both limbs are in view and you want a specific one.
- Use slow, comfortable repetitions with brief endpoint holds.
- Use the same camera location, chair, support, clothing contrast, and movement instructions at every recovery session.
4Review before saving
- Check the pose overlay and landmark coverage throughout the clip.
- Trim only if extra footage surrounds the required movement, then analyze the complete selected range.
- Fewer repetitions than recommended is noted, not treated as an error: range values still come from the best repetition or the whole clip, and only the timing and variability measures wait for more repetitions.
- Low landmark coverage remains reviewable and saveable, but keeps its warning in history and reports.
Fixed assessment protocols
Knee
View: side view with the affected leg closest to the camera. Sit on a stable chair and bend, then straighten the knee for 3 slow repetitions, briefly holding each endpoint. Keep the hip, knee, and ankle visible.
Reports maximum flexion, extension deficit, and total active arc.
Hip
View: side view with safe, stable hand support. Move the affected leg through supported standing flexion to extension for 3 controlled cycles. Keep the shoulder, hip, knee, and ankle visible and the camera perpendicular to the motion.
Reports maximum flexion, maximum extension, and total excursion.
Shoulder
View: front-facing, full upper body and both hands visible. Elevate both arms out to the sides and return for 3 controlled repetitions. Avoid turning toward either side.
Reports affected-side elevation, bilateral symmetry, and elevation arc.
Elbow
View: side view of the affected arm. Keep the upper arm still while bending and straightening the elbow for 3 slow repetitions, briefly holding the endpoints. Keep shoulder, elbow, and wrist visible.
Reports maximum flexion, extension deficit, and total arc.
General assessment
View: side view of a stable chair and the full body. Perform a clinician-cleared 5× sit-to-stand at a comfortable pace using the same permitted support each time. Begin seated, finish seated, and keep shoulder, hip, knee, and ankle visible.
Reports completion time, completed repetitions, functional knee and hip ROM, and peak trunk lean.
Pose model choices
MoveNet Thunder
The default and simplest starting point. It balances speed and stable 17-landmark tracking for clear, single-person recordings.
YOLO26
Choose n through x with the speed/accuracy slider. Larger variants may improve detail but take more memory and time. Models are loaded from the IRSRI local model bundle.
BlazePose Heavy
Provides a denser 33-landmark pose. It is slower and may download model resources from its provider, although your selected video is never sent there.
The report records both the requested model and the model actually used. If a model cannot initialize, the app may fall back to MoveNet Thunder and labels that change. Recovery comparison lines require the same assessment, side, protocol version, and actual model.
Results, manual checks, and exports
Headline cards use confidence-filtered, smoothed traces and stable endpoints instead of a single raw frame. Open Review details for the synchronized video, trace, repetitions, timing, velocity, variability, endpoint stability, compensation measures, representative frames, and coverage.
Angle line is a two-point unsigned 0–90° angle to horizontal. Angle is a three-point acute/obtuse check. These pause-frame drawings are review-only: they are not saved and do not appear in exports. Automatic pose and ROM overlays do appear in the full silent MP4.
The branded PDF and annotated MP4 are generated locally. MP4 export requires browser H.264/WebCodecs support; there is no upload fallback. If export is unsupported, use a current desktop browser or download the PDF instead.
Safety and measurement limits
Perform only movements cleared by your surgeon or clinician. Stop for pain, dizziness, instability, or any symptom that concerns you. Use appropriate supervision and stable support.
This tool measures visible 2D camera-plane motion. It does not diagnose recovery or replace clinical judgment. It does not measure pain, swelling, strength or torque, joint stability, tissue healing, true loading, scapular motion, forearm rotation, hip or shoulder rotation, or other out-of-plane motion. Perspective, camera movement, occlusion, clothing, lighting, and pose-estimation error can change values.
The fixed-plane scope is informed by published work on video-based shoulder ROM and 2D sagittal/frontal gait measurements. These sources do not validate every result or recording condition in this app.
Troubleshooting
Pose jumps or disappears: improve light and contrast, show the full required joint chain, remove occlusions, and keep one person in frame.
Angle looks reversed or implausible: confirm the affected side and requested camera view, then inspect the overlay at the endpoint. Repeat with the camera perpendicular and level.
Every number shows N/A: the measured side is probably the one away from the camera. Set the affected side to Auto-detect, or pick the limb that is actually in view, and analyze again.
Fewer repetitions than recommended: range values are still measured. Include the starting position and complete slow cycles with short endpoint holds if you also want steady timing and variability numbers.
Video will not open: try a standard H.264 MP4 or browser-supported WebM. Keep clips short and close other memory-intensive tabs.
Repeat sessions do not compare: comparisons intentionally break when assessment, side, protocol version, or actual pose model changes.