Build 18 — Supersets

Pair exercises into supersets with one schema field: rounds alternate through the group with no rest between partners, and the full rest fires only after the round's last set. The runner auto-jumps between partners; the editor and the AI prompt both speak the new field.

← All changes

Supersets

  • One field in the JSON. Give adjacent exercises in a block the same supersetId (any string — "ss1") and they run as a group. Pairs, tri-sets, whatever the id spans. Old workout files are untouched; the field is simply absent for straight sets.
  • Rounds, not pages. Logging a set auto-jumps to the partner with no transition rest — A1 → B1 → rest → A2 → B2 → rest. The full rest fires after the round’s last set, and the runner parks back on the first exercise so the next round starts where you expect. Uneven set counts degrade gracefully: a partner that’s out of sets is skipped.
  • Visible, quietly. The exercise cartridge shows “SUPERSET · WITH …”, the Log button’s subtitle says where you’re headed next, and the up-next tile shows the partner instead of your own next set.
  • In the editor. A “Superset with next exercise” toggle per exercise; consecutive toggles chain into one group. The website’s AI prompt and the downloadable workout.schema.json both document the field, so a chatbot-authored program can prescribe supersets directly.

Fix

  • The in-app workout editor no longer strips muscleGroups tags on save — they now round-trip like every other field, keeping the muscle-volume view and Strava’s muscle map accurate after edits.