Methodology
How precise are our recipes?
For every product we have a DIY recipe for, our build matches the brand's formulation spec-by-spec — carbs, glucose-fructose ratio, sodium, and (for drinks) powder weight per serving. The table below is generated live from the same engine that powers the Builder, so the precision claim is checkable against the shipping code, not a static screenshot.
Drinks — spec-by-spec match
Each row compares the brand's published label to the recipe the engine generates when asked to replicate that product. Carbs, ratio, sodium, and powder weight should be visually identical — that is the precision claim, made testable.
| Product | Carbs (label / DIY) | Ratio (label / DIY) | Sodium (label / DIY) | Powder wt (label / DIY) |
|---|---|---|---|---|
Science in Sport Beta Fuel Powder | 80 g 80 g match | 1:0.8 1:0.8 match | 460 mg 460 mg match | 82 g 84.1 g |
Maurten Drink Mix 320 Alginate-pectin hydrogel matrix not replicated. | 80 g 80 g match | 1:0.8 1:0.8 match | 200 mg 200 mg match | 80 g 82.8 g |
Tailwind Nutrition Endurance Fuel | 25 g 25 g match | 2:1 2:1 match | 310 mg 310 mg match | 27 g 28.1 g |
Skratch Labs Sport Hydration Drink Mix | 20 g 20 g match | 2:1 2:1 match | 380 mg 380 mg match | 22 g 22.1 g |
Gels — spec-by-spec match
Same comparison for gels. Powder weight is omitted because the commercial serving size includes the gel's suspending fluid (water, glycerin, thickeners) which the engine doesn't model — the chemistry of the carb load is what governs absorption.
| Product | Carbs (label / DIY) | Ratio (label / DIY) | Sodium (label / DIY) |
|---|---|---|---|
GU Energy Roctane Energy Gel 1.4 g free-form amino-acid blend (BCAAs, histidine, taurine) not replicated. | 25 g 25 g match | 2:1 2:1 match | 125 mg 126 mg |
Precision Fuel & Hydration PF 30 Gel | 30 g 30 g match | 2:1 2:1 match | 0 mg 0 mg match |
Neversecond C30 Energy Gel | 30 g 30 g match | 2:1 2:1 match | 200 mg 200 mg match |
How we know their formulas
The precision claim above only holds if our reference numbers are right. Each spec we use sits at one of five confidence tiers — laid out below, then applied product-by-product, with the two known approximations called out at the end.
The precision hierarchy
| Tier | Source | Used for |
|---|---|---|
| Tier 1 | Exact (FDA-required nutrition label) | Total carbs and total sodium — every product, every row of the precision table above. |
| Tier 2 | Brand-published | Carb ratio for products that disclose it (Maurten, SiS, Skratch, Neversecond, Precision, GU). Sodium source for products listing a single salt in the ingredient list. |
| Tier 3 | Computed from disclosed composition | Carb ratio when the brand prints ingredient percentages on the label (e.g., SiS's “Maltodextrin 57%, Fructose 42%”), or when the listed carb sources plus the total carb count make the ratio derivable from chemistry (e.g., Tailwind's dextrose + sucrose at 25 g total). Used as a cross-check when tier-2 also exists, or as primary when it doesn't. |
| Tier 4 | Inferred from ingredient order | FDA-style labels list ingredients in descending mass order, so it's possible to bound a ratio when neither tier 2 nor tier 3 is available. We avoid this category — no featured product currently relies on it. |
| Tier 5 | Documented heuristic | Sodium-source gram split when an ingredient list contains both NaCl and sodium citrate (engine uses a fixed 60/40 citrate/NaCl default). Trace-ingredient simplifications (e.g., a product using mostly citrate plus a small amount of sea salt is treated as pure citrate). See the two approximations below. |
Per-product source breakdown
Total carbs and total sodium are tier 1 for every product (label-exact), so they aren't repeated below. Each card lists the tier behind the two specs that vary in confidence: carb ratio and sodium source split.
Science in Sport Beta Fuel Powder
Full teardown →- Carb ratio
- Tier 2Brand-published 1:0.8; the label-stated 57% maltodextrin / 42% fructose split independently confirms it (tier 3 cross-check).
- Sodium source
- Tier 1Negligible sodium (4 mg) — no source ambiguity to resolve.
Maurten Drink Mix 320
Full teardown →- Carb ratio
- Tier 2Brand-published 1:0.8.
- Sodium source
- Tier 2Sodium chloride only, per ingredient list.
Caveat: Alginate-pectin hydrogel matrix not replicated.
Tailwind Nutrition Endurance Fuel
Full teardown →- Carb ratio
- Tier 3Computed from the published carb sources (sucrose + dextrose). Sucrose is 1:1 by chemistry; dextrose is 100% glucose; the proportions yield the stated 2:1 at 25 g total carbs.
- Sodium source
- Tier 5Treated as pure sodium citrate. The trace sea salt in the ingredient list is small and the gram split isn't disclosed — see approximation #2 below.
Skratch Labs Sport Hydration Drink Mix
Full teardown →- Carb ratio
- Tier 2Brand-published 1:1 (cane sugar contributes 1:1 directly; the small dextrose addition nudges glucose slightly higher, but the published ratio rounds to 1:1).
- Sodium source
- Tier 5Both sodium chloride and sodium citrate appear in the ingredient list; the gram split isn't disclosed. Engine uses the 60/40 citrate/NaCl default — see approximation #1 below.
GU Energy Roctane Energy Gel
Full teardown →- Carb ratio
- Tier 2Brand-published 2:1 (the GU default across the line).
- Sodium source
- Tier 2Sodium chloride only, per ingredient list.
Caveat: 1.4 g free-form amino-acid blend (BCAAs, histidine, taurine) not replicated.
Precision Fuel & Hydration PF 30 Gel
Full teardown →- Carb ratio
- Tier 2Brand-published 2:1 maltodextrin + fructose.
- Sodium source
- Tier 1Zero sodium by design — Precision decouples electrolytes into separate tabs.
Neversecond C30 Energy Gel
Full teardown →- Carb ratio
- Tier 2Brand-published 2:1 (co-founded by Asker Jeukendrup, the dose-rate framework's author; formula is openly published).
- Sodium source
- Tier 2Sodium citrate only, per ingredient list.
The two approximations we make
1. The 60/40 sodium-source blend default
When a product's ingredient list contains both sodium chloride and sodium citrate (Skratch Sport, for example), the brand almost never publishes the gram split between them. The engine uses a fixed 60% sodium citrate / 40% NaCl default, defined in src/lib/engine/recipes.ts under the addSodiumIngredients “blend” case. Total sodium milligrams match the label exactly because we back-solve from the label number; the gram split between the two salt powders is the part we can't verify. The actual brand could be 80/20, 50/50, or anything in between — the physiology is identical (sodium is sodium), only taste and trace mineral profile differ.
2. Trace-ingredient curation simplifications
A handful of products list a primary salt plus a small amount of a secondary salt — e.g., Tailwind's ingredient list reads “sodium citrate, sea salt” with the sea salt small enough to be incidental. We curate these as single-salt sources in the product database to avoid invoking the 60/40 heuristic when the brand is effectively single-source. The total sodium dose stays label-exact; the engine just doesn't add the few hundredths of a gram of NaCl that the brand probably uses for trace mineral or flavor reasons.
Worked example: DIY SiS Beta Fuel
The table above gives you the answer per product. This section shows the arithmetic for one of them, end to end, so you can verify the precision by hand. SiS Beta Fuel is the cleanest example because every step is checkable against a sachet on the shelf.
Inputs
- Target carbs: 80 g per serving
- Glucose : fructose ratio: 1 : 0.8
- Mix type: drink, 500 ml water
- Sodium: 4 mg (matching the SiS label — layer electrolytes separately)
Split 80 g of carbs by ratio
ratioTotal = 1 + 0.8 = 1.8
glucoseCarbs = 80 × (1 / 1.8) = 44.4 g
fructoseCarbs = 80 × (0.8 / 1.8) = 35.6 gSiS’s own label declares 44 g glucose-source carbs and 36 g fructose. Same arithmetic, same answer.
Convert glucose target to maltodextrin grams
maltodextrinGrams = glucoseCarbs / carbPct
= 44.4 / 0.95
= 46.7 gMaltodextrin is 95% carbohydrate by weight (the rest is moisture and ash) — you need slightly more powder than the carb target.
Convert fructose target to fructose grams
fructoseGrams = fructoseCarbs / 1.00 = 35.6 gFructose powder is 100% carbs — what you weigh is what you absorb.
Sum the powder weight
dryWeight = 46.7 + 35.6 + (negligible salt) ≈ 82.3 gThe SiS sachet weighs 82 g. Our recipe weighs 82.3 g. That delta is the maltodextrin moisture content rounding through the math — functionally a match to the gram.
Compute the in-bottle concentration
concentration = totalCarbs / (dryWeight + volumeMl) × 100
= 80 / (82.3 + 500) × 100
= 13.7%13.7% is well above the 8% gastric-emptying threshold. SiS Beta Fuel is deliberately a high-energy drink that trades gastric comfort for fuel density — our DIY replica inherits that exact tradeoff. To dilute, mix in 750 ml (≈ 9.6%) or 1000 ml (≈ 7.4%).
Final recipe
46.7 g maltodextrin + 35.6 g fructose in 500 ml of water. Total powder weight 82 g, identical to the sachet. Same ratio, same concentration, same osmolality, same transporter loading. The arithmetic is the formulation.
For the live cost comparison and ingredient sourcing on this exact recipe, see /diy/sis-beta-fuel.
What we don't claim equivalence on
Three things our recipes deliberately do not match. Calling them out is what makes the precision claim above credible.
Hydrogel matrix and other proprietary processing
Maurten's alginate-pectin hydrogel and any brand-specific gel suspension or encapsulation chemistry isn't modeled. The carb load and ratio are identical; the physical format is not. (For what it's worth, the independent matched-dose literature reviewed in Podlogar & Wallis 2022 has not reliably reproduced a hydrogel performance benefit — see /diy/maurten-320.)
Proprietary additives outside the carb + electrolyte profile
Free-form amino-acid blends (GU Roctane's 1.4 g BCAA / histidine / taurine), proprietary flavor systems, and brand-specific sweetener stacks. The chemistry of the fuel matches; everything that lives outside the fuel doesn't.
Your individual sweat rate and gut tolerance
Our sodium defaults are environment-based population midpoints; your actual sweat sodium can be 2–5× higher or lower. The 60 g/hr SGLT1 and 45 g/hr GLUT5 transporter ceilings are population values; trained guts handle more, new guts handle less. Override sodium in the Builder; gut-train carbs over weeks before racing. Math equivalence is not gut equivalence — nothing new on race day, even a DIY mix that's mathematically identical to your usual.
Build a mix using the same engine
Every recipe in the table above is what the Builder produces by default. Open it to replicate any of them — or design your own.