Build a race course page
The same waypoint table, with every column a race publishes and the service filter wired. Reach for it when runners need to read the course rather than browse it.
Give formatCutoffAt an explicit timeZone, or a cut-off prints in the reader's own zone instead of the course's.