Product · Programming
A workout is not a calendar event.
Structure is what makes scores comparable, leaderboards honest, and progress visible. RxWOD treats programming as data — because everything downstream depends on it.
The problem
Text in a date cell.
Most gym platforms started as admin software — check-ins, invoices, class caps — built by teams solving a scheduling problem. The workout, when it needed a home at all, got the closest available field: a text box on a calendar day. Type what's happening, save, move on. A decade later the billing module has three payment integrations and a mobile app. The workout is still a text box.
The cost doesn't show up in the text box — it shows up everywhere downstream. "Thrusters 42.5/30, then chest-to-bar" is a sentence, not a structure. A sentence can't be scored against a target load. It can't be compared on a leaderboard, because "42.5" for one athlete and "45kg" typed by another are two different strings, not two numbers on the same scale. And it can't tell a coach this is the third heavy squat day in nine sessions, because nothing in the sentence says "squat" or "heavy" to a machine — only to the person who typed it.
Structure isn't bureaucracy layered on top of programming — it's what programming already is, made legible to software. A component has a type. A movement has an identity, and an equivalence to the movements it can stand in for. A load has a number and a unit. Scaling is a version of the workout, not a footnote under it. Store it that way, and the software can do more than display the plan — it can flag the imbalance, hold the history, and coach alongside the person writing it.
The board
A week is a shape you can see.
A week of programming is usually reconstructed by eye — flipping between class days, holding "is this too heavy too often" in your head. The board renders it instead: one swim lane per programming track, so a Tuesday and a Thursday sit close enough to compare. Drag a workout to move it, hold to copy it into a second track. A stimulus-balance row runs along the top — the week's shape, in one glance, before you commit to it. Tracks sourced from an outside program, CompTrain among them, sync on their own schedule and lock in place, so the source of truth stays with whoever wrote it.

Product design preview · fictional gym data
The designer
Inside the workout, the same discipline.
A component is one of six defined types — warm-up, strength, metcon, skill, accessory, cooldown — not a freeform paragraph pretending to be one. Movements come from a shared database, each with its equivalences on record, so a front squat and a back squat know they're related before a coach ever has to explain it. A rep scheme set once — 21-15-9, 5x5, an EMOM — cascades into every movement it touches, instead of being retyped per line. And because the whole thing is versioned, a coach can see exactly what changed between this Tuesday's plan and the one three edits ago.

Product design preview · fictional gym data
Closer look

Rx, Scaled, Foundations — programmed, not improvised.
The shortcut
The whiteboard photo is the API.
Most coaches already have a system: write it on the whiteboard, or paste it into a note. Asking them to abandon that and re-enter everything into a form is how "structured data" dies on contact with a real gym. So don't ask — paste the text, or snap a photo of the whiteboard. Vision parsing reads it and returns structured, scoreable components, each movement tagged with a confidence score. Anything it isn't sure about goes to a review queue instead of guessing silently. The coach approves it once; the movement library remembers the match next time.

Product design preview · fictional gym data
Specifics
6 — warm-up, strength, metcon, skill, accessory, cooldown
Equivalence graph, not a flat list
Rx / Scaled / Foundations
Paste text or a whiteboard photo
CompTrain, CrossFit — synced & locked
Every edit versioned
The list
Program a week in it.
We're not GA yet. Get on the waitlist, and you'll be programming inside RxWOD when the first cohort opens.