Why bracket notation trips up most scanning tools
Bracket notation is shorthand built for coaches, not for optical character recognition. A circled "3" next to a bracket means "three rounds of everything inside," but a generic scanner just sees a number near some other numbers. It has no idea that the circle changes the number's meaning from a distance to a multiplier.
This is the core problem. Handwritten workouts pack meaning into position and symbol, not just digits. The same "3" means something completely different depending on whether it's circled, boxed, written after an "x," or sitting alone as a distance. A tool that reads swim workouts well has to understand structure, not just characters.
The notation conventions worth knowing
Most club coaches use some version of these conventions. If you write consistently, both your swimmers and any tool reading your card will interpret it correctly.
- Brackets
[ ]or braces{ }group a repeated segment. Everything inside repeats as a block. - A circled number before a bracket sets the round count.
③ [4x100 @1:30]means three rounds of that whole 4x100 set — 1200 total, not 400. xbetween numbers separates reps from distance:4x100is four reps of 100.@marks the interval or send-off:100 @1:20.- Arrows (
↑build,↓descend) modify pace within a set:4x100 ↓1-4. - Slashes mark alternating gear or stroke:
50 free/50 kick. - A boxed total at the end of a set (often underlined twice) is the coach's own math check — useful for verifying total volume when reading the card back.
Nested brackets are common and legitimate: ② [ [4x50 @:50] + 200 pull @3:00 ] means two rounds of a 200-yard block that itself contains a 4x50 sub-set. Any reader — human or app — needs to resolve the inner bracket first, multiply it out, then apply the outer round count.
A worked example
Here's a main set as it might appear on a deck card:
③ [ 4x100 free @1:25
+ 200 pull @2:50
+ 4x50 build @:55 ]
Reading this correctly means:
- Inner block volume: 400 + 200 + 200 = 800
- Outer multiplier: 3 rounds
- Total: 2400, at three different paces and two equipment changes
A tool — or an assistant coach — that just reads numbers left to right might total this as 4+100+200+2+50 and produce garbage. The circled 3 has to be recognized as a structural operator that scales everything inside the bracket, not as another quantity to add.
Why phone cameras make this harder
Even when your notation is clean, the photo often isn't. A few things consistently break scanning accuracy:
- Faint pencil or thin marker loses contrast against a wet or glare-lit whiteboard.
- Circles drawn over numbers rather than around them make the digit unreadable.
- Glare on laminated cards wipes out a corner of the set, usually the interval column.
- Cropped photos that cut off the bracket's closing mark, leaving the grouping ambiguous.
- Multiple sets crammed onto one card with arrows connecting them across the page, which a straight top-to-bottom read misinterprets.
If you want your handwritten sets to be usable later — by yourself next season, by an assistant, or by any reading tool — write for contrast and completeness. Use a dark marker, close every bracket you open, and keep the circle clearly outside the digit rather than looping through it.
What a good reader actually needs to do
To turn a photo like the one above into something coachable, the process has to:
- Separate structural marks from content. Brackets, circles, and arrows are grammar. Distances, times, and stroke labels are content.
- Resolve nesting from the inside out, the way you'd read a math expression with parentheses.
- Apply multipliers correctly — a circled number in front of a bracket multiplies volume and repeats the interval pattern, it doesn't add a new leg to the set.
- Preserve rest and pace context across the whole block, since
@1:25on line one usually still applies to everything below it unless a new@appears. - Output total volume and estimated main-set time, so you can sanity-check the read against what you intended to write.
That last step matters most. If the read-back total doesn't match the number you scribbled in the corner box, something got misparsed — usually a missed bracket close or a circle read as a stray zero.
A quick habit that pays off
Before you photograph a card, do a five-second pass: confirm every open bracket has a close, every circled multiplier is clearly separated from the distance next to it, and totals are legible. This same discipline that makes your card easy for an assistant coach to run off a clipboard is exactly what makes it easy to digitize later.
SwimIQ was built around this exact problem — it reads a photographed or handwritten set, resolves the bracket structure and circled round counts the way a coach would, and turns it into a structured workout with volume and zone breakdowns you can check against what you intended to write.