| ID | STASH | PRODUCT | KIND | CARB G | FLUID ML | NA MG | CAF MG | LABEL |
|---|---|---|---|---|---|---|---|---|
| 100 | Maurten GEL 100 | GEL | 25 | — | 40 | — | READ | |
| 101 | Maurten GEL 100 CAF 100 | GEL | 25 | — | 40 | 100 | READ | |
| 102 | Maurten DRINK MIX 320 | DRINK | ~79 | 500 | 210 | — | UNREAD | |
| 110 | SIS GO Isotonic gel | GEL | ~22 | — | — | — | UNREAD | |
| 111 | SIS Beta Fuel gel | GEL | 40 | — | 25 | — | READ | |
| 112 | SIS Hydro tab | TAB | ~0 | 500 | 350 | — | UNREAD | |
| 113 | SIS electrolyte | DRINK | ~11 | 500 | 300 | — | UNREAD | |
| 120 | Precision PF 30 gel | GEL | 30 | — | 10 | — | READ | |
| 121 | Precision PH 1000 | DRINK | ~0 | 500 | 500 | — | UNREAD | |
| 122 | Precision PH 1500 | DRINK | ~0 | 500 | 750 | — | UNREAD | |
| 130 | Amacx Energy gel | GEL | ~40 | — | 50 | — | UNREAD | |
| 131 | Amacx Turbo Gel | GEL | 27 | — | 100 | — | READ | |
| 132 | Amacx Turbo Gel Caffeine | GEL | 27 | — | 100 | 75 | READ | |
| 133 | Amacx Drink Gel Orange | GEL | 30 | — | 200 | — | READ | |
| 140 | PowerGel Original | GEL | ~27 | — | 90 | — | UNREAD | |
| 150 | Sponser Sports drink | DRINK | ~35 | 500 | 320 | — | UNREAD | |
| 900 | Water | DRINK | 0 | 640 | — | — | READ | |
| 901 | Sponser drink, 80 g per 640 ml bottle | DRINK | 80 | 640 | — | — | READ |
Ids are stable and never reused; a reformulated product takes a new id so historic rides keep their true carb value. Rows in amber have never had their label read — their numbers are estimates and every surface renders them as such. Editing happens in shared/products.json through the generator, nowhere else.