Cairn Open the app

How it works

From a GPX file to a race plan

Cairn takes the course file your race organiser publishes and turns it into the three things you actually need before the start line: where the climbs are, how long they will really take, and when to eat. Everything below happens in your browser — the file never leaves your device.

The three steps

  1. Upload the GPX. Drag the course file onto the window, or use the upload button. Cairn reads the track points and their elevations and fits the map to the route.
  2. Read the profile. The route is coloured by gradient on both the map and the elevation chart, and split into a short list of climbs, descents and flats with distance, elevation change and average grade.
  3. Build the fuelling plan. Enter your weight, a target finishing time and how many grams of carbohydrate per hour you can stomach. Cairn returns a schedule tied to where you will actually be on the course.

Colour means the same thing on every course

The gradient scale is anchored to fixed grades, not stretched to each route's own range. Red is roughly +20% on every course you ever load, blue is about −20%, and green is flat. That consistency is the whole point: after a few courses the colour builds an instinct for how a section will feel underfoot, and a genuinely flat race reads as flat instead of being falsely dramatised into a mountain stage.

The smoothness slider changes the distance window used to measure grade at each point, from about 10 m to 1 km. A short window shows every GPS wobble; a long one shows the shape of the hill. It is a display control — it changes what you see, never the underlying data.

How climbs and descents are detected

Sections are found against a fixed 200 m grade window, deliberately independent of the smoothness slider, so the list does not reshuffle while you drag a display control. Anything averaging steeper than ±3% becomes a climb or a descent; the rest is flat.

The minimums scale with the course rather than being fixed. A section has to cover at least 2.5% of total distance and involve at least 5% of the course's own elevation range to earn a place in the list. Fixed thresholds cannot serve both a 10 km race and a 100 miler — 500 m is a meaningful chunk of one and noise in the other. Scaling them keeps the list about the same readable length whatever the race, instead of turning a long mountain course into forty fragments.

Why the fuelling plan is not evenly spaced

Running a kilometre uphill costs far more energy than a flat one, so dividing your target time evenly by distance puts your plan behind schedule on every climb and ahead on every descent. Cairn distributes target time by effort instead, using the energy-cost curve from Minetti et al. (2002) — the standard basis for grade-adjusted pace models. The curve is only fitted between −45% and +45% gradient, so steeper sections are clamped; anything beyond that is being scrambled rather than run.

From that timeline Cairn estimates the energy you will burn, converts your carbohydrate tolerance into a number of feeds of roughly 25 g each — about one gel, or a strong mouthful of drink mix — and spaces them through the race. It then pulls any feed that lands just before a climb about four minutes earlier, because carbohydrate taken at the foot of a climb is carbohydrate you are digesting while you are working hardest.

Expect the plan to cover well under half your estimated burn. That is normal and not a bug in the arithmetic: nobody replaces their full expenditure in a long mountain race, and the rest comes from fat and from glycogen you started with. The number to act on is the grams per hour, and the only way to find yours is to rehearse it in training.

What the 3D view is and is not

The terrain is real elevation data rendered as a backdrop, and the flythrough follows the course at a speed you choose. It is there to build familiarity with the shape of a course you have never run. It is not a data source: every grade, gain and loss figure comes from the GPX file's own elevation points, never from the terrain tiles. A course you were given and the terrain underneath it can disagree, and the file is what the organiser measured.

Common questions

How many carbs per hour should I take in an ultra?
Most runners work between 60 and 90 g/h, and some trained guts handle more. It is individual and has to be rehearsed in training rather than discovered on race day. Cairn asks for your figure rather than prescribing one, and shows what share of your estimated burn it covers.
Does Cairn upload my file?
No. It is parsed in your browser and never sent anywhere — no account, no server, no upload. Your last course is kept in your own browser's storage and only reloaded when you ask for it.
Where do I get a GPX file for my race?
Usually from the organiser's website, alongside the route map or the runner information pack. You can also export one from Strava, Garmin Connect, komoot or Ride with GPS.
Why doesn't the ascent match my watch?
Total ascent depends on how elevation is smoothed before it is summed, and every platform does it differently. Cairn reports what is in the file you loaded. A course recorded by barometric altimeter and one drawn on a map can differ by hundreds of metres over the same route.
Does it cost anything?
No. There is no account and nothing to buy.

Open Cairn and load a course