On 17 July I ran the KBL — 110.2 km across the Sudetes, 4360 metres of climbing, 18 hours and 36 minutes on my feet. For me it was one more start in a long ultra history. For UltraFlow it was something else: a full cycle the system went through alongside me — from the plan, through the route prediction and each morning’s readiness, all the way to the post-race reckoning.
This post is not about the fact that I finished. It is about what the system saw — and why what it saw in me would make no sense for someone else.
Fog, ribbons and a maze of stone
We started at five in the afternoon — not in full sun, but in full daylight. The first hours led into the Table Mountains: still light, still no fog. I ran from marker to marker — the organiser’s ribbon on every turn — and between one and the next there was only my route and my legs. That is the paradox of every well-marked ultra: kilometres of tape lead everyone down the same path, and still each of us runs a completely different race.
On Szczeliniec the markings lead into a maze of stone — the path narrows to a crack wide enough for one person. Still daylight, still no fog; but rain had fallen and the sandstone turned slick, every hold and every step counted. The organiser put the arrows exactly where they belong. But it is not the arrows that decide what that section costs you. What decides is how your legs hold on wet rock, how your fatigue builds, whether the descent still carries you or only hurts. The same route. Hundreds of different races.

Just past Szczeliniec the route went through the Rock Mushrooms — a forest of sandstone blocks carved into stone hats, as if someone had placed giants between the trees. And that is exactly where the storm caught us: thunder bouncing off the rock, rain coming down like a wall, and those mushrooms standing unmoved — as they have stood for millions of years and will stand long after us. I ran soaked to the bone, and still with that silly grin every mountain runner knows. Because this is exactly what you come here for.
Lower down an aid station waited in Wambierzyce — and that peculiar silence of a pilgrimage town, before the route climbed again. The most atmospheric part was the crossing of All Saints Mountain: wayside shrines, old forest, then a descent down stone steps worn smooth by generations — straight into Słupiec. Places like that are not in the roadbook; they stay in your legs and in your head long after the finish.
Only then, past Słupiec, did real night fall — and fog moved onto the route. In places so thick that a ribbon surfaced out of the milk and went out behind my back, and my headlamp beam died a metre in front of my face. This is the section where your head starts arguing with your legs, and the world shrinks to three metres of damp air.
Past the bridge came Srebrna Góra — and there that festival atmosphere hit me, the reason these races get organised at all. People, lights, cheering in the place where, at night on the course, you expect it least. I came in half-drained and left with the batteries topped up.
At the seventy-third kilometre, in Bardo, with the night only just letting go — the drop-bag tent. A volunteer who has stood there for eight hours in the damp cold hands you a cup of hot tea, throws in a handful of gels and says “go on, you have a big chunk of work behind you”. He does not know you. He carries you on anyway. That cup at kilometre 73 can matter more than a whole week of training.
The fog lifted, and the night with it — and suddenly beautiful weather for the run up to Kłodzka Pass. The last act went through the Golden Mountains: the steep trail on Ptasznik, one of those places where you stop for a second despite the clock — because at dawn the birds are singing and for a moment this is not a race but a fairy tale. And then those views down to Orłowiec, before all that was left was the charge downhill to the finish.
Kilometres of tape and a cup of hot tea
Before any of us stood on the start line, someone had walked that entire route earlier and tied every ribbon on every turn. Hundreds of markers — each exactly where night fog could lose you, where the path forks in the dwarf pine, where leaving the ridge is easy to mistake for a drop-off. That does not happen by itself. Someone who is not running did their work beforehand so that you could run safely.
The most valuable thing on the course is not in anyone’s drop bag — it is the people running alongside you. Fantastic ultrarunners, passed in the same night — a nod in the dark, a single “you’ve got this” thrown over a shoulder, shared silence on a climb where neither of us has breath left for words. You are not racing them — you are flowing in the same current, each at your own pace, and the mere fact that someone else is still out here at three in the morning keeps you moving. That is the other, quieter ultra family: the ones who understand without explanation, because they happen to be exactly where you are.
And there is pride in it — in belonging to a community like that at all. To mountain running, to people who at three in the morning, in rain and fog, choose the ridge over their bed. It does not surprise me in the slightest that year after year this community grows stronger — because anyone who lives through a night and a dawn like that, in company like that, comes back. And is proud to have been there.
This is the invisible infrastructure of ultra: dozens of people who stay in one place so that hundreds can pass through. Marking that does not let you get lost. Aid stations that do not let you fall apart. Safety cover you only think about once it is missing. The KBL organiser deserves to hear this plainly: the route was marked impeccably, and the aid stations kept us on our feet through an entire foggy night in the Sudetes.
For kilometres of tape tied in advance and for every cup of tea at three in the morning — for the people who did not run so that we could finish. Thank you.
And one thing has to be said clearly. The organiser gives everyone the same, superbly prepared route and the same care — and does it masterfully. UltraFlow does not compete with that for a second. UltraFlow deals with the rest — with what happens between the ribbons, which is between you and you alone.
Prediction against what actually happened
Before the start the route analyser showed a map of effort: where the pace should settle, where a climb will take more than the distance suggests, where a descent is not a “rest” at all but a bill you pay in the fourth tenth of the race.

And this is where the loop closes. Since the analyser knows every section separately — its duration, temperature, terrain and how much pack you carry on it — the optimal fuelling plan, computed for this route and for me, falls out of that same analysis. Not a flat rate of “a gel every forty minutes”, but exactly as much carbohydrate, sodium and water as this particular section will take — kilometre by kilometre.

After the finish the system put that prediction next to what actually happened — splits, run/hike phases, the moment of the crisis, the fuel balance. Not in order to hand out a grade. In order to make the next prediction wiser by one KBL of mine. Every race adds a point to my durability curve — to how my power holds up over hours rather than minutes. It is a curve nobody can lend you. I built mine with seven ultras longer than 70 km. Someone else builds their own, from zero — and UltraFlow does not pretend to know it in advance.
Why the same plan for two runners is a mistake
Physiology is individual down to a level that a generic plan sweeps under the rug. Your threshold, your resting heart rate, how fast fatigue sets in over a long run, whether descending wrecks your quads after kilometre 60 or only after 90 — these are all different numbers in different people. A plan that averages them is not “universal”. It simply belongs to nobody.
“The same five hours. A completely different distance.”
— dlaczego plan UF liczy czas, a kilometry przelicza pod CiebieThe plan in UltraFlow is built on time, not on kilometres. A session is “two and a half hours on trails”, not “25 kilometres” — because five hours of running for an elite athlete is a completely different distance than five hours for someone starting out.
So when the app shows how much of the planned run you have already done, it does not convert your time through somebody else’s pace. It learns yours — from the average of your own runs. At the start it uses a sensible reference point, and the more you run, the more the number on the completion ring becomes yours.
⚡ Four places where UltraFlow counts you, not an average
None of these signals can be bought in a “one size fits all” version. Each is about you — or it is useless.
Rigour without the hand-waving
UltraFlow stands on hard science — the cost of running uphill and downhill, critical power, research on durability under prolonged effort. But I will not show you the formulas or the thresholds. Not because it is a secret for secrecy’s sake — because a formula without your data is not an answer anyway. The number that matters is not a coefficient in the engine. It is your pace, your curve, your morning today.
I finished the KBL on my own legs — wet from the night fog past Słupiec, battered on the wet sandstone of Szczeliniec. But it was settled by a system that spent the whole cycle counting one specific person — me. Your ultra will be counted just as precisely. And it will count you.
