Diamond Peak
← Back to tools
NUTRITION & PHYSIOLOGY

Race Fuelling Planner v1.8

Set up your race, select foods per leg, and auto-generate a fuelling strategy that respects how much your gut can actually absorb. Tracks carbs, fluid, sodium and caffeine, models glucose and fructose absorption separately, and reviews your plan against the sports-nutrition evidence. Your setup saves automatically in this browser.

1 Set up your race 2 Shortlist foods 3 Set targets & assign foods per leg 4 Optimise 5 Print race cards
Intake model: the graph uses a rolling 60-minute window: at any point the rate shown is total grams consumed in the previous 60 minutes. Colour zones track your transporter cap (glucose + fructose): green at or below the cap (fully absorbable), amber up to 30 g/hr over (needs a trained gut or expect backlog), red beyond that (GI risk). Default caps are 90 g/hr (60 glucose + 30 fructose); gut-trained mode raises them to 120 (72 + 48). The dashed blue line marks the tighter glucose cap alone – the combined line can look green while glucose is already over it.

Caffeine model: plasma caffeine is modelled using first-order pharmacokinetics: ka = ln2/20 min (absorption), ke = ln2/480 min (8 hr half-life). Peak plasma at ~45 min post-ingestion. Recommended race dose: 3–6 mg/kg.

Plan generation: the auto-strategy builds one simple repeating order per leg — e.g. every 12 min: ⅓ bottle → chew → water → repeat — sized so the sequence covers both the carb and fluid targets at once (max 6 actions per hour). Drink doses are ⅓ of a bottle; solids and gels are whole or half units. When a bottle runs out it drops from the rotation and water takes its slot; caffeinated drinks are capped by your caffeine target so they never become the default fluid. Breakfast is planned as a normal meal (porridge, toast, bagel… plus coffee), not race food. Sodium and caffeine top-ups are placed as separate low-frequency doses, crediting what the carb foods already contributed.

Bottle management: aid station pickups are based on whether you have enough fluid to reach the end of the ride, not just the next aid. If you do need to stop, only the minimum bottles are refilled to cover the deficit, with no unnecessary water weight.
Changelog:
v1.4: Moved the physiology maths (transporter caps, target formulas, plan-check thresholds) into a shared engine so the ClaudeCoach bot runs the exact same logic and the two never disagree. No change to the numbers.
v1.3: Aligned the Absorption Graph zones to the gut model. The green/amber/red bands now track your combined transporter cap (90 g/hr default, 120 gut-trained) instead of fixed thresholds, and a dashed line marks the tighter glucose cap so a plan that looks green on combined carbs but exceeds the glucose transporter is now visible. The two carb views are consistent.
v1.8: Stale-plan protection. Plans saved by older versions are detected and flagged in Plan Check (their old targets — e.g. 6 mg/kg caffeine defaults — were causing failing reviews), with a prompt to rebuild. Optimise now hard-caps total caffeine at 6 mg/kg however the targets are set, always includes aid-station water even if none is picked for the leg, and upgrades water doses to full bottles (noting any remainder in the pattern) rather than silently missing the fluid target. Bars and bananas picked for the run DO rotate — that stays the athlete’s call, with only the soft plan-check warning. Default bike setup is now 2×750 ml Maurten 320 CAF 1.5× mix, a 610 ml aero bottle with a single 320 sachet (new library entry), and a 400 ml frame water bottle, on the Ironman preset.
v1.7: The optimiser now passes its own Plan Check. Sodium and caffeine live on the same repeating grid as carbs and fluid (no more scattered top-up sips); dose sizes are searched against carb, fluid AND bottle-capacity constraints; carbs ease off in the last stretch of the bike and start 10 minutes into the run; doses are modelled as swallowed over ~5 minutes rather than instant boluses. Bike bottles are drunk one at a time in cage order — swappable/refillable bottles (new ♻ flag per cage) first, so cages empty in time for aid-station pickups; fixed aero bottles and concentrated mixes marked non-swappable are never replaced. Salt capsules take over when the electrolyte bottle runs out. Bike fluid target now includes recovering the swim’s sweat loss. Top tube sticker redesigned to the pro block format: the ride splits into one block per bottle, each showing its total kit once (×N counts, block totals) with a red arrow meaning “spread across this window”.
v1.6: Race start and wake-up time inputs. The breakfast window is now wake-up → 1h before the gun, with real clock times shown on the plan; the meal size scales with digestion time (1–2 g/kg), and if you are awake less than 1h30 before the start the breakfast leg disappears and carbs + coffee move to the final hour instead. Bike cage setup only shows when the race has a bike leg.
v1.5: Simpler plans. The strategy generator now builds one repeating order per leg (e.g. every 12 min: ⅓ bottle → chew → water → repeat) covering carbs and fluid together, shown on the leg and race cards. Breakfast is a normal meal (porridge, toast, bagel + coffee) instead of race food. Caffeine target is body-weight based (4 mg/kg default) and caffeinated drinks are capped by it, so no more endless caffeine-drink sips. Added Maurten 320 CAF 100 and 1.5× concentrated 750 ml mixes. Bike cages have editable names. Top tube card redesigned as a pro-team-style printable sticker with your name and ×N item counts.
v1.2: Engine upgrade. Added a gut/absorption model with separate glucose (SGLT1) and fructose (GLUT5) transporter caps and a "gut-trained" mode (90 → 120 g/hr), showing carbs actually absorbed vs unabsorbed backlog in the gut. New "Suggest targets" sets evidence-based carb, fluid, sodium and caffeine goals from race duration, body weight, sweat rate and sweat-sodium concentration. New Plan Check panel flags red flags: glucose over transporter cap, wrong glucose:fructose ratio, gut backlog, dehydration or over-drinking, under-replacing sodium, caffeine outside 3-6 mg/kg, fuelling gaps, and solids on the run.
v1.1: Usability update. Fixed a crash in "Optimise all legs" that left the loading overlay stuck. Setup now saves automatically in the browser (with Reset all / Clear plan buttons). Typing in number fields no longer loses focus; target sliders drag smoothly. Custom foods join the shortlist automatically. Schedule table scrolls horizontally on small screens. Added a step-by-step guide bar; switching preset now clears aid stations for disciplines the race no longer has.
v1.0: Initial release. Race fuelling planner with carb targets, fluid needs, and a practical fuelling schedule by duration and intensity.