Pit & strategy logic — how it works
What this dashboard does
Apex Timing broadcasts the live classification, but in endurance karting the on-track order lies: a team that still owes mandatory pit stops is not really ahead of you. This pit wall records the whole feed, detects pit stops and stints per kart, and corrects the standings for stops still owed — so you can make pit calls on real information.
Pit detection — a 4-signal ladder
Venues configure their feeds differently, so stops are detected from four signals, strongest first. Every detected stop carries a badge showing which signal produced it:
- Feed signal feed — the venue publishes a pit/status column (pit-in and pit-out markers). Most reliable; used whenever present.
- Driver-name change inferred — in endurance, a name swap on a kart is a near-certain pit stop. If no feed signal preceded it, a stop is recorded ending at the moment of the swap, with duration estimated from the minimum pit time.
- Lap-time spike inferred — a lap much slower than the kart's recent median (threshold: median + max(60% of min pit time, 20 s)) is treated as a lap containing a pit stop. Duration is estimated as the excess over the median.
- Manual manual — the Pit IN / Pit OUT buttons on the My Team panel. Manual marks always win and can correct anything the automatic signals got wrong.
Signals are de-duplicated: if a stop was already recorded within the last ~3 laps, a second signal (e.g. the spike out-lap after a feed-detected stop) won't create a duplicate. Treat inferred stops with judgement — confirm critical calls with your own eyes.
Stints
Each detected stop closes the current stint and opens a new one. Per stint you get: driver name, lap count, average and best lap, consistency (σ, standard deviation of clean laps), and duration. Out-laps and pit laps are excluded from the averages so a stop doesn't poison a driver's pace numbers. The Stint comparison table puts your stints next to your rivals'; the Kart detail panel shows any kart's full stint, pit and lap history.
Adjusted standings (Adj Pos / Adj Gap)
For every kart: stops owed = mandatory stops − stops detected. Each owed stop is worth at least the minimum pit time, so adjusted gap = current gap + owed × min pit time. Karts are re-ranked by that number. When the feed reports a gap in laps rather than time, it is converted using the leader's recent average lap and flagged with ~ — treat those as approximate. The columns appear in the classification table (toggleable via Columns).
My Team panel & pit window — the exact logic
The panel activates when "My kart" is set. Time is measured in the feed's time domain, so it stays correct after a refresh (rebuilt from recorded timestamps) and during replays.
Foundations used by every tile:
stint start— the moment of your last pit-out (feed signal, inferred, or manual). Your first stint starts when the kart first appears in the session.race end— the feed's live countdown when the venue sends one (most do); otherwiserace start + race durationfrom your setup. The race clock in the session header uses the same value.stops owed = max(0, mandatory stops − stops detected)— so a missed detection makes you look worse, never better. Fix miscounts with the manual buttons.- If no minimum pit time is configured, 60 s is assumed for estimates; adjusted standings and owed-stop math need "mandatory stops" to be set.
While on track:
- Current stint —
now − stint start, plus laps completed this stint. - Must pit in — countdown to
min(A, B)where:
A = stint start + max stint length(the legality deadline), and
B = race end − stops owed × min pit − 1 min margin(the last moment your remaining mandatory stops still physically fit before the flag; only applies while you owe stops).
Colours: amber under 5 minutes, red under 2 minutes, OVERDUE in red once passed. The margin covers pit-lane transit, which timing loops don't measure. - Min stint until — shown only while
now < stint start + min stint length, i.e. while boxing now would be an illegal short stint. Disappears once you're clear.
While in the pit lane:
- IN PIT — stationary time since pit-in, red until the minimum pit time is served.
- Min pit release —
min pit − stationarycounting down, flipping to GO at zero. Releasing on GO loses the least possible time; every second past it is free time given away.
Always: stops done vs required (3 / 5), track position vs adjusted position side by side, and your last pit's duration with its detection badge. The Pit IN / Pit OUT buttons record manual events at the current moment: Pit IN closes the stint immediately, Pit OUT starts the next one — use them the moment your kart crosses the pit entry if the venue publishes no pit signals, or to correct a wrong inference. Manual events take precedence over every automatic signal.
Reading the pit window like a strategist: "Must pit in" is a deadline, not a recommendation — the ideal stop is usually earlier: pit when the pit lane is empty (watch rivals' PIT badges), when your driver's pace drops below the next driver's expected pace, or to break out of traffic. The rival watchlist's owes N markers tell you who will still lose N × min pit — if a rival ahead owes more stops than you, you are effectively ahead; defend the adjusted gap, not the track position.
Race setup
Enter your event's rules: race duration, mandatory stops, minimum pit time, min/max stint length, your kart and rival karts. Saving shares the setup with every connected screen and stores it with the session recording — a refresh or a second device gets it automatically. All strategy math runs off these numbers, so set them before the green flag.
Recording, refresh & replay
The server records every feed message per session. On every (re)connect the browser rebuilds the full race from that recording with original timestamps — refreshing mid-race loses nothing, and extra screens see identical data. Recording continues ~10 minutes after the last screen disconnects. Past sessions can be replayed from the picker (1×–300×, scrubbable). Connect before the green flag: Apex never re-sends past laps, so history starts when the recording starts.
Race-day checklist
- Dry-run against your venue's practice feed beforehand; open Feed health → Show messages to see whether they publish pit/status columns (feed detection) or you'll rely on inferred signals + manual buttons.
- Connect and enter race setup before the start; verify "My kart" matches your number in the Kart column.
- During the race, watch Must pit in and the rivals' owes N markers — that's the real race.
- If a stop was missed or misdetected, fix it live with Pit IN/OUT — manual entries override everything.