Tap muscles to spotlight them. With Show EMG activation on, each highlighted muscle is colored by its live activation (only highlighted muscles show EMG color). The EMG values are simulated for now but come through one swappable input layer, so real Bluetooth/Wi-Fi sensor data can replace them without touching the visuals. Your selection also carries to Form Check as a pulsing ring.
Muscle balance
Muscle size
Bicep0% difference
L 0%R 0%
Quad0% difference
L 0%R 0%
Shoulder0% difference
L 0%R 0%
Mock data — three sensor pairs simulated (six virtual sensors). Real bilateral comparison needs one sensor per side per muscle, which is more hardware than the original 3-sensor plan covers. See the README for what that means for your build.
Record movement
Records your camera with the live skeleton overlay. When you stop, you choose whether to save the clip — saved clips are timestamped and land in your History with that session's stats.
Label this session
Compare against (YouTube)
The tutorial plays here beside your camera so you can mirror it. In-video pose analysis of the pro isn't available yet — this is a visual side-by-side for now, with a hook left in the code for future automated comparison.
Body calibration
The avatar places muscles from your body's real proportions. Calibrating measures those proportions so limbs sit where they should instead of using rough defaults. Stand back so your whole body is in frame, then follow the poses — about a minute.
Step 1 / 4
T-pose
3
Get into position
✓ Calibration complete
Note: pose tracking is 2D and front-facing, so calibration tunes limb proportions and sizing — it can't recover true front/back depth. The side and back steps mainly confirm your framing. See the README for detail.
Get in frame
Stand facing the camera
⚠
Balanced
No significant left/right asymmetry detected
Ready to record
00:00
Save this recording to your history?
EMG signals
mock data — no sensors connected
CH1 · bicep0%
CH2 · forearm0%
CH3 · trapezius0%
Workout calendar —
Progress over timelast sessions
Average left/right asymmetry per session — lower is more balanced.
Good-form time per session — higher means more of the session was in good form.
All sessions0 logged
Professional reference — —
Pick a time range of the professional's movement, then Analyze — the app runs pose detection across that range, estimates muscle engagement, and saves a reference muscle-avatar for the selected workout. Form Check then compares your movement against it, muscle by muscle. You can use a YouTube link (analyzed via a one-time screen-share) or an uploaded file (most accurate).
Reference source — YouTube link
— or upload a file (most reliable) —
Start 0:00End 0:00
Analyzing a YouTube clip needs a one-time screen-share: when you press Analyze, choose This Tab so the app can read the video's pixels (YouTube forbids direct pixel access to its player). The clip plays through your selected range while it samples frames. An uploaded file skips the screen-share and is more accurate.
Generated reference avatar
Analyze a clip to generate the reference muscle-avatar.