Features

Four things, described at their real size.

SwimScript is a practice planner, not a training platform. Four things, each described at the size it actually is.

The parser

A practice is written, not filled in. SwimScript reads the line the way a swimmer reads it and turns it into repeats, distance, stroke, equipment, effort and a send-off — then leaves everything it did not recognise in the description, verbatim, rather than dropping it.

Parsed One line from the sample practice, and what each part of it becomes.
4 *
repeats
75
distance
@ 1:15
send-off
50 Swim/ 25 Kick
what to do
(o) smooth (e) build
the note

300 yards added to the section and the running total a repeat leaves every 1:15, which is what the duration is built from

What it understands

  • 4 * 75

    Multipliers, however you write them

    4 * 75, 4 x 75, 12*50 with no spaces, and 200 pull on its own as a single repeat.

  • @ 1:15

    Send-offs and rest

    @ :30, on the 1:30, every 1:30, spelled-out intervals, an option list like @ :30/:40 with every alternative kept, and rest written as @ :20 sr, R10s or a line of its own reading 1 MR.

  • 3 * ( … + 50 easy )

    Compound rounds

    3 * (150- Str/Free x 25; desc.1-3 + 50 easy) @ 3:30 is read as a round of two swims with a send-off on the round, not as one long string.

  • (build

    The bracket that never closes

    In these documents ( introduces an instruction rather than enclosing one — 48 unclosed to 107 closed across the twelve reference practices — so a note that runs to the end of the line is read as a note. (o) and (e) stay odds and evens.

  • w/fins

    Equipment, in the words you use

    Over forty spellings — zoomers, P&F, w/pb, drag sox, stretch cord — including a heading's equipment note applying to the sets under it, and (fins off) taking it back off again.

  • desc.1-3

    Effort and emphasis

    ↓, neg split, afap, build — and the bold and underline you put on 25 FAST, which survive into the printed sheet because you meant them.

  • (650/1450)

    Your own arithmetic

    Where a document has totals typed in, SwimScript compares them with what it works out and flags the difference. Three of the twelve reference practices disagree with themselves; one is out by a hundred yards.

  • UWK

    Shorthand it has never seen

    SWOLF, Mntn — unknown tokens are carried through to the sheet untouched rather than swallowed. The parser is built to degrade, not to reject: whatever it is given, it does not fail.

Where it stops

  • -or- stays as text. SwimScript knows Pull -or- Kick is a choice well enough not to price the equipment into an estimate, but there is no model of "the swimmer picks one".
  • Composition inside a repeat — the x 25 in 150- Str/Free x 25 — is kept in the description, not broken out.
  • Rounds do not nest more than one deep. Across twelve documents none does; that is an observation, not a guarantee.
  • Course is set in the editor, not read from the practice.

The printed sheet

The sheet is the point. It is read on a pool deck, wet, from a metre away, so it has to look like the document the team already knows.

  • Letter, portrait, 16pt. Measured from the source documents rather than chosen — 1,704 of 1,735 runs in the twelve practices are Times New Roman at 16pt, with 0.19in at the top and 0.5in at the sides.
  • Metrically compatible type. The sheet is set in Tinos, which has the same advance widths as Times New Roman, so a line that fit your page fits ours and breaks in the same place. A merely similar serif would reflow the whole thing.
  • A real preview. The preview and the paper are driven by the same rules, so they cannot drift apart, and the header tells you the size it settled on.
  • What it authored prints; what it derived does not. Your headings, notes, emphasis and totals go on the page. Energy-zone labels and pace estimates stay off it: no coach in the reference set writes EN2 on a practice, and putting the tool's vocabulary on the sheet would make it somebody else's document.
Shrink to fit, with a floor. A practice too long for one page at the coach's own 16 pt is set down a step at a time until it fits. All twelve reference practices come out on one side, at 14.1 pt or larger. The fitter stops at 12 pt; a practice that still overruns there is given a second page rather than being shrunk past legible.

Reading your practices

Drag a Word practice onto the page and it is opened, read and counted. The fastest way to find out whether SwimScript handles your notation is to try it on your own document, before there is an account involved.

  • .docx only A .doc, an RTF or a Google Docs export gets a message telling you to resave, rather than a shrug.
  • A hundred at a time Drop twenty in one go and the one PDF among them does not stop the other nineteen being read.
  • You see it before it saves Sections, sets, totals and anything the parser disagreed with are all on screen before anything is written down.
  • Or start from nothing Paste a practice in as text instead, or open an empty one and type.
  • No export back to Word There is a plain-text copy in the parser's own notation, and an account export of everything you have written as Markdown and JSON.

Teams

A team workspace holds one squad's practices and shows them to its members and to nobody else. Teams are set up by arrangement rather than self-serve — ask and one will be made for you.

  • One squad cannot see another

    Every practice, section and set is bound to the workspace it belongs to, so a practice cannot be read out of the wrong team even if a request asks for it by name.

  • Viewers, coaches and admins

    A viewer reads, a coach writes, an admin also manages who is in the team. Your role can differ from one team to the next.

  • Your own workspace as well

    Everyone has one of their own, visible to nobody else, and the switcher moves you between it and any teams you belong to.

Your account

An account is worth having once you want your practices on more than one device. Nothing about it is a trap: everything you write stays yours and stays retrievable.

  • Try it first

    Three practices, kept in your own browser, with no account. Make one later and they move across with you.

  • Export everything

    A zip of Markdown and JSON — one file per practice, in notation that pastes straight back in.

  • Delete the account yourself

    Thirty days to change your mind before the data goes, and one email undoes it.

  • Installable

    SwimScript can be added to a phone or tablet home screen. It is not a native app and there is nothing in an app store.

Not in it

Said here so you do not have to find out later.

  • No roster or attendance

    No swimmer records of any kind. A practice is a document, not a squad list.

  • No deck timer or run mode

    It plans the session and prints it. What happens on the deck is yours.

  • No shared links

    Nothing you write is public, and there is no way to make it so.

  • Nothing to pay

    There is no price and no card. If that changes you will be told before it does.

The duration estimate

Against the twelve reference practices it lands between 73 and 84 minutes for sessions the coach runs in about 75 to 80 — close enough to catch a set that has made the session too long, which is what it is for. It reads your send-offs and applies one built-in pace to the lines that carry none, so treat it as a sanity check rather than a clock.