← All articlesOps

The volunteer roster problem: race-day coverage without ten phone calls

Eighteen volunteers, six water stations, three marshal points. Two days out, the coordinator is re-asking the same question in three different group chats and still doesn't have a real headcount.

The RunOS teamJanuary 15, 20264 min read

A club's biggest event of the year needs eighteen volunteers covering six water stations and three marshal points. Two days before race morning, the coordinator sends essentially the same message into three different group chats — the core team chat, the general club chat, and a direct text to the four people who bailed last year — asking who's still confirmed. Half don't answer until Saturday morning, if they answer at all.

The group-chat scramble has a deadline it can't hit

This isn't a communication failure so much as a format failure: a group chat is built for conversation, not for tracking coverage. There's no single view that says, as of right now, which of the nine posts are actually staffed — just a scroll of messages the coordinator has to mentally reconcile into a headcount, redone from scratch every time someone new replies or drops out.

No-shows get discovered at the worst possible moment

Because there's no live view, the gap isn't found by the coordinator — it's found by a runner. The water station at mile four is empty and a runner texts a friend about it mid-race. The marshal never showed at the dangerous road crossing and someone improvises with a cone. By the time the coordinator hears about either, the race is already happening around the gap.

  • A water station discovered empty by thirsty runners at mile four, not by anyone with the authority to fix it.
  • A marshal no-show at an unguarded road crossing, found out only because someone posted about it afterward.
  • Three volunteers who each thought they were covering the same aid station, and none covering the next one.
  • Nobody sure who has the radio, the cones, or the extra water — because "who has what" lived in a text thread, not a list.

What race morning looks like with one live roster

The fix isn't a better spreadsheet sent out earlier — spreadsheets go stale the moment someone's plans change. It's a roster volunteers check into at their actual post, live, the same way runners check in at a finish line: idempotent QR scans that update one shared view instead of one more text nobody's sure landed. A coordinator watching that view on race morning sees exactly which of the nine posts are covered right now, and can redeploy a floating volunteer to a gap before a runner ever reaches it.

A spreadsheet planned on Tuesday says nothing about who's actually standing at mile four on Saturday.

That's the actual job on race morning: not planning coverage, which the club already did weeks ago, but knowing in real time whether the plan held.