PoseFlow Studio overview
PoseFlow Studio is a no-code authoring tool. A trainer stands in
front of a camera, names some phases, drops a few measurement
presets, and the Studio writes a .pose file that any consumer of
the SDK can run unchanged.
The Studio ships as package:pose_flow_studio.
What you get
- A live camera surface filling the screen, with the pose engine skeleton + diagnostic overlays drawn on top.
- A floating-panel UI: Phases (left), Measurements + Conditions
- Camera angles (right), Test player (bottom). Trainers expand / collapse each to declutter while moving.
- A measurement library: every channel the SDK can compute is one tap away. Curated presets (“knees deep”, “stance wide”, “hands above head”) drop full conditions in one click.
- Live preview: the same
MovementTrackerthat runs in production drives the test player. Rep counts tick on the chip; active phases light up; form-rule feedback flows through the toast deck. What you author is what the user gets. - A camera-angle detector: the chip in the top bar shows the live-detected bucket (Front · Hip / 45° Left · Head / etc.). The picker grid lets you author against multiple buckets.
- Save: a single button writes the
.posefile to yourStudioPersistencebackend (Firebase, Drift, in-memory).
What it doesn’t do
- The Studio is authoring only. It doesn’t ship runtime tracking; consumers integrate the SDK directly.
- The Studio is storage-agnostic. It doesn’t know about
Firebase or any specific database. You wire the
StudioPersistenceports to whatever backend the host uses. - The Studio is CMS-agnostic. The package has zero host- or
cloud-specific code in
lib/. Any Flutter host, a managed CMS, a trainer dashboard, a desktop tool, can drop it in as a single screen.
How it ships
One screen widget:
import 'package:pose_flow_studio/pose_flow_studio.dart';
StudioScope( persistence: yourPersistence, child: const PoseFlowStudioScreen(),)StudioScope is an InheritedWidget that exposes the persistence
bundle + a few optional host hooks (asset base path for web,
metadata panel builder). PoseFlowStudioScreen is the route.
The full host-integration guide: building a Studio host.
The trainer’s workflow
- Add phases, usually 2 (Up / Down for most strength moves), sometimes more (Stand / Squat / Plank for burpees, Left / Right for lateral shuffles).
- Pick measurements, open the Measurements panel; either tap a preset chip or tick a row from the channel catalogue.
- Set conditions, for each measurement, set a range. Either type the numbers, or tap “Snap to current” to capture the live value as the centre + default tolerance.
- Author bucket variants (optional), for view-dependent measurements, tap a different bucket in the Camera angles panel and re-tune. The runtime auto-picks based on where the user stands.
- Test, squat in front of the camera. The rep counter ticks. Adjust. Repeat.
- Save, top bar, “Save” button. The dropdown next to it has Save & Publish, Export .pose (download), Import .pose, Import image/video for marker-based authoring.
See authoring workflow for the full step-by-step.
The pieces
| Panel | Purpose |
|---|---|
| Metadata (left, top) | Host-provided. The CMS uses it for body parts, muscle groups, imagery. Optional. |
| Phases | Phase list + sequence editor + live progress stepper. |
| Overlays | Diagnostic overlay toggles (skeleton, CoM, sway, lean, etc.) + form feedback severity filter. |
| Camera angles | 16-bucket picker grid + live-detected chip + per-bucket authoring target. |
| Measurements | Channel catalogue with kind grouping + preset chips. |
| Conditions | Per-phase, per-channel range editor. The dial + ball indicator visualises live compliance. |
| Test player (bottom) | Rep counter + detected phase pill + compliance summary. |
| Top bar | Movement name (read-only, edit in Metadata) + settings menu + record button + save + dropdown. |
Authoring vs runtime parity
Every move you make in the Studio is reflected in real time by the
SAME MovementTracker that runs in production (wrapped in
ShowcaseTracker). When the studio rep counter ticks, the consumer
app will tick on the same input. This is enforced by the
parity test contract.
Read next
- Authoring workflow, the full step-by-step.
- Phases, Measurements, Conditions, the individual editor surfaces.
- Phase sequences, for multi-path reps (left + right lunge as one rep).
- Camera buckets, authoring across angles.
- Persistence, wire the storage ports.
- Building a Studio host, the host integration guide.