On an ultra it is not tiredness that stops you — it is your stomach. Here is how Cailloux helps you not fall apart at km 52 thinking “huh, odd”.
Over 2 000 products from 95 brands: gels, bars, drinks, fruit purées, savoury purées, chews. Search, filters by brand and by type, sorting. Every sheet carries its carbohydrates, its calories, its sodium, its caffeine.
The catalogue is shared by everyone. What you correct helps everybody, and the other way round.
Before filling in anything, you set what you are aiming for: a carbohydrate range in g/h and a hydration range in ml/h, per block of hours since the start.
Because you do not eat the same way in the 2nd hour and in the 12th. Early in a race the stomach copes; after 8 hours, far less — the strategy follows that reality instead of denying it.
| From | To | Carbs g/h | Hydration ml/h |
|---|---|---|---|
| 0 h | 4 h | 70 – 90 | 500 – 700 |
| 4 h | 9 h | 60 – 80 | 400 – 600 |
| 9 h | 15 h | 50 – 70 | 400 – 550 |
You give an interval between intakes — 30 minutes, say — and the app generates the right number of rows for the whole expected length of your race. All that is left is to pick what to eat each time, from your favourites.
The start, the finish and the resupply points place themselves among the rows: 🔋 aid station, 💧 water only, 👥 crew access. They appear at their worst-case time — because a plan built on your best day is not a plan.
Between 2 resupply points you are self-sufficient: that is a section. Each one has its drink, its plain-water rate and its drink rate in ml/h. A “drink only” row marks the end of a section where there is no solid food left to take.
And if filling in 40 rows puts you off: ✨ the Pebble-Dropper does it for you. It picks your ⭐ favourites and places them along the race aiming for the middle of your ranges, never serving you the same thing twice — not even 2 purées — in a row. 4 sliders say what you prefer at the start and at the finish: sweet or savoury, liquid or solid. Because by the 12th hour it is not the same person eating. What it lays down stays a starting point, editable cell by cell — and what you chose yourself, it never touches.
It now has 2 buttons. ✨ Fill my plan builds the ideal plan, with all your favourites — the one you take to the shop. 🗄️ With what I have builds the one you can prepare tonight without going out: it only draws from your Cupboard, never more units than are left, and it says what the stock costs — a slot with nothing to place is where you are short of something.
It also remembers what went down badly: what your food reactions have ruled out leaves the draw, and the summary says what, and why. And if you allow it — a box, Allow half intakes —, it places halves: the fine step it lacked when a window is already well fed. Its summary then says how many it placed, and why.
½ Half intakes. Every row of the plan has a ½ box: a half brings half the carbs, sodium and caffeine — the plan no longer promises what you do not swallow. A capsule is never cut: it is swallowed whole with the intake. And in your ziplocks, 3 half purées make 2 purées to carry: nobody carries half a pouch.
Every row, every section and the race total show their g/h and their ml/h, compared with your strategy. One glance is enough:
| Section | Carbs | Gap | Hydration |
|---|---|---|---|
| Start → Bonnezue | 76 g/h | ✓ | 610 ml/h |
| Bonnezue → Engreux | 94 g/h | ▲ | 580 ml/h |
| Engreux → Mormont | 38 g/h | ▼ | 340 ml/h |
The g/h are worked out as a rolling 2-hour average, not intake by intake. What counts is what the stomach receives over time — one isolated gel means nothing.
Your Feed tab runs through the plan in order, with your checkpoints in their proper places. You see what to take, and when.
Your intakes tick themselves off. During a race there is no time to tick: an intake counts as taken at the time of the next one, and you only untick what you did not eat. What you untick never comes back, and an intake whose time passes while the app is closed is caught up when you reopen it. Each tick keeps its real time: that is what fills in, afterwards, the debrief of your route planner.
The intakes stay anchored to your elapsed race time, not to the time of day. Whether you are ahead or behind, the running order does not move: your stomach does not care whether you are on schedule.
The reminders to eat are on by default: your phone rings on time, signal or not, and the server takes over when the app is closed. The 🍎 Nutrition alerts button stays there to say no — and a declared withdrawal switches them off on its own.
You work with a dietitian or a coach? Open your race to them, if you like: their pro account only touches the parts set when it was opened — for a dietitian, the nutrition strategy. They see your starred products and your food reactions above the plan, and suggest their changes in purple, with a note saying why. Nothing moves until you have said yes. The detail is in the pros guide.