Swim workout steps — support stroke type, drill and equipment

Hi David,

I coach swimmers and triathletes and build all structured workouts in
Intervals, which then push to Garmin. One gap keeps forcing us out of the
platform for swim sessions.

Garmin’s own swim workouts carry three per-step attributes that Intervals
currently has no field for:

  • stroke type (freestyle, backstroke, breaststroke, butterfly, IM, drill)
  • drill type (e.g. kick)
  • equipment (kickboard, paddles, pull buoy, fins, snorkel)

These are standard FIT fields, not Garmin extensions — workout_step.equipment
(field 9) and target_type = swim_stroke (value 11) are both in the FIT
profile, and Garmin devices already read and display them. Garmin’s built-in
Triathlon Coach plans use them extensively, so the watch-side behaviour is
proven.

Today a step like “4x50 catch-up drill with kickboard” reaches the watch as a
distance step with a pace target and a free-text name. The athlete has to
remember what the label means, the watch cannot show the stroke or the
equipment, and the completed activity carries no record of which drill was
prescribed.

The equipment field is the one that matters most to us, and for a concrete
reason: paddles and a pull buoy shift pace by roughly 5-10% by design. Since
the prescription cannot say “this rep is with paddles”, our compliance logic
has to infer equipment from the pace deviation itself — we are reverse-
engineering a number that could simply have been declared.

What would help, in rough order of value:

  1. equipment on a swim workout step
  2. stroke type on a swim workout step
  3. drill as a first-class step attribute rather than only a name

Even just persisting the fields through the workout model and emitting them
on the Garmin push (and in download-workout.fit) would be a big step — the
workout builder UI could follow later. We write workouts through the API, so
we do not need builder support to benefit.

And if typed swim fields don’t fit the workout model, a generic per-step
passthrough would solve our case almost as well: any free-text or key/value
field on a workout step that Intervals stores and carries through to the FIT
on export and on the Garmin push. workout_step.notes (field 8) already exists
in the FIT profile for roughly this purpose and is currently not emitted.
That would let us round-trip the information without you having to model swim
semantics at all — less elegant than typed fields, but it unblocks us.

Happy to test against a real account and share example FIT files from
Garmin’s own swim plans if that helps.

Thanks for the platform.

Just giving this a bump. If it helps, even the ability to just record a drill as a drill (instead of breaking down which type like on Garmin), would be such a game change or at least a great start. We could always just write the instruction with text, which is what I do now for me and athletes, but currently missing ant single arm or kick work data, so I’m having to write my sessions into garmin with drills (and so are my athletes).

There are loads of great additions across all sports to be fair to the team, but thought I’d just give this one some new life!

2 Likes

yep - Intervals is a great platform overall, but really swimmers need some love here

2 Likes