Coming soon - this page is live, the connection to it isn't yet

Fuel Strategy App

The team's own live pit-strategy tool for iRacing endurance racing, built and run in-house. Every teammate runs it during a race; whoever's driving feeds it telemetry, and everyone - driving or not - sees the same numbers on their own screen.

What it does

There's no way to read a teammate's fuel level from the iRacing SDK - fuel only exists for the car you're currently driving, and iRacing deliberately delays telemetry for team members who aren't in the seat, fuel included, as an anti-cheat measure. So the app runs on every teammate's machine, and whoever is actually driving publishes to a shared hub; every browser, including the ones not currently driving, reads from that hub instead of trying to read fuel that was never there to read. Since a team event is one car and one tank, the record stays continuous straight through driver swaps.

Fuel Strategy App dashboard: live status bar, hero fuel-to-add number, and consumption tiles

Live status, the headline "add this many litres" number, and the tank/consumption tiles underneath it.

What it shows

Even split (primary)

Divides the fuel still needed equally across every remaining stint. Equal stints mean equal tyre life and no splash-and-dash finish - and for a given stop count, an even split is already the time-optimal way to carry the fuel.

Fill to max (comparison)

The classic alternative: brim the tank every stop, run to the reserve. Shown alongside the even split so it's obvious the moment the two disagree on stop count.

Per-driver consumption

Every lap is tagged with who drove it, giving each driver their own running average and a delta against the team. Assign drivers to upcoming stints and each one is sized off that driver's own rate - a thirstier driver automatically gets a shorter stint on the same fuel.

Optimal strategy

Searches stop counts against a full-race time model, weighing the fuel-weight time penalty against pit loss, to say which stop count actually covers the most distance - and flags any stint that falls under the tyre-change "crossover," where a smaller fill buys no time at all.

Baseline library

Reference numbers per car, track and condition - dry, damp, wet - learned in practice and carried into the race, so lap one is already planned off real data instead of a generic default.

Auto-fuel (opt-in)

The one deliberate write-back to iRacing: dials the next stop's fuel request into the sim's own pit menu automatically, the same action a driver takes from F12. Only from the car that's actually driving, never on pit road, and re-armed every session.

Even split and Fill to max strategy plans shown side by side, stint by stint Optimal strategy panel: stop count search weighing fuel weight against pit loss

Even split vs. fill to max, and the stop-count optimiser that decides which one should actually win.

Why it's worth trusting

Fuel per lap is measured from the actual drop in tank level between lap crossings, never from iRacing's instantaneous FuelUsePerHour, which is meaningless across a lap that includes a pit entry or a lift-and-coast phase. Laps that would corrupt that average - a pit lap, a refuel, an implausible time - are excluded and greyed out rather than silently blended in. The whole plan is rebuilt from scratch every lap, so it self-corrects after a safety car or a driver who ignored it. And it's backed by 111 automated tests against synthetic telemetry, covering the exclusion rules, both strategies, the optimiser's ranking, and the baseline library's fallback chain - no sim required to verify it.

Baseline library panel showing stored car/track/condition reference rows

The baseline library - per car, track and condition, editable by hand in a plain text file.

Standalone, not a data pipeline

No Kafka, no gRPC, no external service. It never writes anything to iRacing beyond the one opt-in auto-fuel command above - it gives you a number, you make the call.

This site is built to receive a race summary from this app after the event. That connection doesn't exist yet, which is what "coming soon" refers to above: the app works today, it just doesn't publish here yet.