legwork Relay racing
Real relay courses, ready to run

No wait at the chute.

Legwork keeps your team on course for a smooth relay race.

iOS and Android. Every projection updates as the race moves.

Wild West Relay 2026
Van 1 · on course
Race so far 3 min fast
Start → Exchange 5 10:14 PM
On course
Theo Lindgren
Leg 6 · 5.9 mi
Estimated window
10:52 PM11:04 PM
Arrive by 10:40 PM
18min
Directions
Record Handoff
Departing · Leg 7
Nadia Haddad 11:04 PM
Race finish 3 min fast
Finish line 4:12 PM
Who built this

The arithmetic is simple. Three in the morning is not.

The hard part was never the running. It's the twenty minutes before a handoff, in a gravel lot with one bar of signal, when the van has to leave now and nobody agrees on what now means. Someone is holding a pace chart printed on Thursday. Someone else has a spreadsheet that stopped updating four exchanges ago. The afternoon came in hotter than the forecast, the last leg climbed more than it looked like it would, and the runner out there right now is quicker than the number anyone typed in back in July.

We have been that van. Twelve runners, more than a hundred years of relay racing between us, most of it spent learning one lesson from different directions: the arithmetic is simple, and getting it right when nobody has slept is not.

Legwork does the arithmetic while the temperature moves and the legs come in fast or slow. The van gets one time to be somewhere.

It started as the fix for our own team. It's ready for yours.

Arguments had in a moving van, more than once
  • Which exchange actually follows Leg 3.
  • Whether the van takes diesel.
  • Whether to just run on to the next exchange when the van is not there yet.
What the projection knows

Four things a pace chart cannot do.

Every leg time in Legwork is recomputed from the same four inputs, for every runner, every time something changes.

Live weather

Heat, tracked hour by hour

Legwork pulls an hourly forecast for the course and keeps refreshing it through race weekend, so a leg that runs at two in the afternoon is priced at two in the afternoon's heat, not at whatever the forecast said when your captain set the team up.

Heat cost fitted to real race data: roughly 0.5% slower per degree above 60°F.

Fitness aware timing

Your curve, not the average runner's

One recent race result per runner is the whole setup. From it, Legwork works out how much that runner's own pace drops as the distance grows, and applies it to the length of the leg they are actually assigned. Miles already run today count too, with credit back for the hours spent resting in the van.

Riegel extrapolation, banded by fitness and target distance.

Grade adjusted pace

Rolling legs are not flat legs

Climb and descent are costed separately across the leg, so a leg that gains 320 feet and loses 381 feet is never treated as flat ground. The curve comes from real GPS pace data: past about eight percent downhill, runners stop getting faster.

Empirical pace against grade, on elevation gain and loss.

Online and offline

Signal is optional

Relay courses run through long stretches with no bars. Phones in the same van sync directly to each other over Bluetooth, so the roster, the assignments, and every recorded handoff stay current in the dead zones. The two vans are never in range of each other, and both stay correct while they are apart: when they meet, the logs merge, with or without a server.

Unattended sync retries from one minute out to fifteen, and never stops.

The idea

Two numbers, each with one job.

Most relay spreadsheets give you a single time and ask you to guess how much slack to add. Legwork separates the question of when to drive from the question of when you finish, because they are not the same number and they are not used by the same person.

Arrive by

When the van leaves.

A conservative time with the buffer already built in, so your van is never the reason a runner is standing alone at a handoff. It feeds the countdown on the race screen and the directions button next to it.

Arrive by 2:47 PM · Exchange 16

Race finish

When you actually finish.

The unbiased projection, no padding, recomputed every time a real handoff is recorded. This is the number you send to the people meeting you at the beach.

Finish line · 11:38 AM

When times disagree

Two people tapped. Which one is the time?

Relay handoffs happen at a chute in the dark with several teammates standing there. More than one taps, so Legwork keeps all of them and takes the earliest. The captain gets the final say if runners don't agree. You can see every claim and who made it.

Nothing is silently overwritten, and nobody has to agree on who is the official timekeeper.

Leg 3 · Sam Okafor Projected 41–43 min · Ran 44 min

Recorded by 3 people

6:40 PMcorrected by Priya Nair, captain
6:39 PMtapped by Theo Lindgren
6:41 PMtapped by Elena Vasquez

Ranked by who said it and how deliberately, not by who said it last. The top row is the time every later projection is built on. The others stay.

Also in the app

The rest of race weekend.

Race day

One handed handoffs

Record Handoff sits between the arriving runner and the departing one, on the screen the whole time that exchange is live. One tap in a headlamp lit parking lot at 3 a.m., and several people can record the same handoff — the earliest of them is the one the race keeps.

Run sheet

The whole race, one scroll

Every leg in one list, with its distance and forecast temperature. Times sit half a row lower than the runners, interlocked on a seam, so a handoff time can never be read as the wrong runner's. A leg already run keeps the temperature it was run in, not today's forecast.

Team

Rosters, vans, and roles

Captain a race or join a team, then assign legs and vans before race day. Every phone already knows the plan when the wave goes off.

Night first

Designed for 3 a.m.

Night is the primary mode, not an afterthought, with a manual day and night switch. A van interior at 3 a.m. and the same van at 2 p.m. need different screens.

Courses

Verified leg by leg.

Every course is entered from the race's own published leg data and checked before it goes live.

Oregon

Hood to Coast

196.7 mi · 36 legs · 12 runners

Kentucky

Bourbon Chase

201.4 mi · 36 legs · 12 runners

Colorado

Wild West Relay

197.8 mi · 36 legs · 13,200 ft of climb

Colorado

Flaming Foliage

155.6 mi · 29 legs · 10 runners

Nebraska

Market to Market

73.6 mi · 19 legs · one van of 6

Washington

Rainier to Ruston

48.8 mi · 12 legs · one van of 6

Oregon

High Desert Relay

67.2 mi · 12 legs · one van of 6

More relays are being added. Tell us which one your team runs and it can be next.

Get your van on the same page.

On the App Store now for iPhone. Android is in closed testing, which runs by invitation.

iPhone

On the App Store

Legwork Relay Racing, free, iPhone on iOS 16 or later. Install it and you can create a team or join one from an invitation.

Android

In closed testing

The same app and the same sync, with a tester list in front of it. Google Play shows the app only to accounts on that list, so getting your van on it takes three steps.

  1. Send us the Google account email of each Android runner on your team.
  2. We add them to the list, and each one accepts the invitation — on their phone or from a computer.
  3. Install from Google Play.