--
setup
fill
--
headroom
--
tilt
--
Start the camera to measure your setup.
No routine
--
PICK A ROUTINE
Open settings to build one, or start the suggested full-body routine.
--
STEP INTO POSITION
--
0
Life mode
Desk
loading schedule...
Local time
--:--
auto schedule
Heart
♥ --
sensor off
Blood pressure
--/--
vitals loading
Queue guardian
0 ready
NOW
EMPTY
NEXT
--
RESERVE
--
Portal
Start show
Honest judge
Judge asleep
Ghost duel
Ghost waiting
Dancescore the routine
Curlsleft + right
Sit-upstrunk flexion
Chin-upsdoor-bar setup
Plankhold for time
Head bangsto the beat
Shadow boxcount every punch
Reactionleft / right cues
Corner Fight60-second exchanges
Routineyour whole workout
Now playing
--
--
0:00no routine0:00
--
Accuracy
READY
avg -- / best --
TEMPO
--
camera off
pose --
sync --
overlay 0
Plank
0.0s
Current move
--
Shadow boxing
Guard up
Bring both hands up, then punch and return to guard.
Camera: slightly above eye level · angle down · keep head, waist and both hands in frame
Calibration
Framing
STEP
Title
Body
MOVE LAB
Dance accuracy & exact rep counting
C settings  ·  1 dance  ·  2 curls  ·  3 sit-ups  ·  4 chin-ups  ·  5 plank  ·  6 head bangs
7 shadow box  ·  8 reaction  ·  9 corner fight  ·  Space start drill
T tap tempo  ·  R reset counts  ·  M mirror  ·  G ghost  ·  H head

Move Lab

Calibration

Master calibration
Not measured yet.

On-screen panels

Rep counts, the coach line and framing warnings are never hidden.

Look

Theme
Smoothing
Picture brightness 66%
Picture colour 72%

Camera

Device
Model
Mirror view
Show ghost
Show skeleton
Show head
Show head facing arrow

Fight performance

For the fastest punch tracking, deactivate the other OBS/camera source first. Hiding it may not release the camera. Solo Fight tests real delivered camera FPS and pose FPS, then remembers the winner.
Not measured yet. Capture FPS and pose FPS are different.

Life mode

Follow time of day
--
Each scene can remember its own camera angle.

Live health sensors

Direct Bluetooth. The device talks to this browser; no camera frame or sensor reading goes through a vendor cloud.
Reconnect remembered sensors
Save two-reading BP average
Show live heart rate in OBS
The first Bluetooth pairing always needs a click. After that, Move Lab reconnects remembered devices. Blood pressure stays off the stream; only heart rate is optionally published.
No health sensor connected.

Training arc

Weekly coverage uses the current ACSM baseline: every major muscle group at least twice, with about 10 sets per group for muscle growth.
Next movementloading...
--

YouTube companion

Paste one link, a playlist, or a messy block of links. Move Lab saves the queue immediately and restores it after a restart.
Use video audio
Always keep audio running
Volume
Save this run
Saved deck
Add links, then press Start show once.

Phone remote

Sit-up calibration cannot be driven from here - you have to be on the floor, and the prompts are on this screen. Open this on your phone; it mirrors the instructions and the countdown.
URL--
PIN--
Only the remote is reachable from the network, and only with the PIN.

How to do it

Exercise

Framing

--

Calibration health

Watches what your body actually does and compares it with the thresholds in force. It reads the movement straight from the angle trace, not from what the counter counted, so it can disagree with the counter - which is the only way it can catch a bad calibration.
Fit--
Keep calibrating forever
With this on, thresholds follow your real range as it changes, by at most 1.5 deg per update - fast enough to track a session, far too slow for one odd set to wreck it.

Rep calibration

Thresholds are derived from YOUR range of motion. Until an exercise is calibrated it uses generic angles and the count is a best effort rather than exact. Curls always use the fatigue-friendly Simple Curls window: calibration can make them easier, but can never make later reps harder. An inconsistent calibration is refused instead of saved.

Workout routine

Nothing planned yet.

Dance routine

Loaded
--
Recording captures the pose track against the song position, so the reference and the live run measure the same way and any pipeline latency cancels out.

Tempo & beat

Spotify no longer exposes tempo to apps, so BPM is worked out here: either read from the movement in a recorded routine, or tapped in by hand. Tapping wins, because a person tapping along is the real answer for where the beat sits.
Gridnone
BPM
Beats per bar

Sync

Offset ms
--

Validate the counter

Replays a recorded clip with a known rep count through this exact engine and reports the real accuracy.
Clip

Log