How a running route becomes spoken corners

Short answer

A curated running route is a line on a map, and a line does not know where its corners are. Turn instructions can be computed from the shape itself by measuring how far the direction of travel changes at each point, which is a different thing from navigation, because nothing recalculates a path when you leave the route. That difference decides what a route can promise you before you start running it.

A route file is an ordered list of coordinates. Nothing in it says corner. For a voice to tell a runner where to turn, something has to read the shape and decide which points are decisions.

What a curated route actually contains

Two things, under a row of labels. A shape, and a list of turns derived from it. The estimated duration in that row is the route's distance multiplied by an assumed pace, and no one's run was measured to produce it. Treat it as a label, not a target.

What is stored at each level of a curated route
LevelWhat it holds
RouteName, region, distance, estimated duration, difficulty, surface, loop or not
ShapeAn ordered list of coordinate pairs, simplified to a 5 m tolerance
TurnOffset from the start, coordinate, direction, bearing in, bearing out, announce distance

Where the route shapes come from

OpenStreetMap, under the Open Database Licence. The shapes come from there and are credited to OpenStreetMap contributors. The OpenStreetMap copyright page states the condition plainly: you are free to copy, distribute, transmit and adapt the data, as long as you credit OpenStreetMap and its contributors, and it separately requires that the licence be made clear and that derived data be distributed under the same licence. Fetched 2 August 2026. Any product built on that data has to carry the same credit, which is one quick way to tell where a route you are handed actually came from.

Detecting a corner from geometry alone

A corner is a sustained change in the direction of travel. Runflake computes the turn list from each route's own shape before the route is published. Nothing is written by hand, and nothing comes from a navigation provider. The angle between two neighbouring points is never used, because on a dense line it is mostly noise.

  1. Step back and look forwardAt each point, take the bearing from 35 m behind it to the point, and from the point to 35 m ahead. The difference is the change of direction.
  2. Require a real bendUnder 55 degrees the line is curving, not turning. The window spans 70 m of path, and a 70 m arc that swings 55 degrees sits on a circle of about 73 m radius, so the threshold is really a statement that anything wider than a 73 m bend is a curve you run through without deciding anything.
  3. Measure it again, widerRepeat over a 56 m window. The change must still reach 55 degrees and lean the same way. A line that steps around a building and back reads 61 degrees narrow and 26 degrees wide, because the way ahead never changed.
  4. Merge what belongs togetherCandidates within 40 m of each other are one corner spread over several points, and they collapse into a single turn at the sharpest point.

Six phrases, and nothing else

The measured angle picks the phrase. Its sign decides left or right.

Measured change of direction, and the phrase it produces
Angle bandPhrase
55 to 75 degreesBear left, or Bear right
75 to 160 degreesTurn left, or Turn right
Above 160 degreesMake a U-turn
No band produces itKeep straight

Six values are allowed in the stored direction column, but the detector emits five.

That 75 degree boundary matters. An older version put it at 100, so a genuine right angle was announced as a bear, and a runner who hears bear right at a square corner runs past it.

Turn instructions are spoken by the phone's own voice, not the recorded voice pack. The guidance distances fall outside the range of numbers the pack holds. Which lines are recorded is covered in what a running app says out loud.

When each corner is announced

  1. 400 m out, on screenThe next turn appears on the display long before anything is spoken. A screen you choose to look at cannot interrupt you.
  2. 120 m out, spokenThe warning fires at the announce distance stored with the route, 120 m on every curated route, clamped between 40 m and 300 m so odd data cannot make the timing meaningless. It sounds like: In 100 meters, turn right.
  3. 25 m out, spoken againThe reminder drops the distance: Turn right. It is skipped when the first warning already landed closer than 50 m.

Spoken distances are rounded down, never up: to the nearest 50 m, to the nearest 10 m below 100 m, or the nearest 50 ft in imperial units, because rounding up names a distance that has not arrived, and that is why you never hear an odd figure like 117 meters.

At the start of a course run nothing is announced until the app has seen 60 m of forward progress. Until then the screen says it is working out which way you are running.

The opening stretch of a loop looks the same whichever way round you go, and a turn call made on that guess would be pointing at the wrong junction.

Routes with no corners at all

Two routes have none. The Seine Left Bank Quays in Paris and Gyeongui Line Forest Park in Seoul: neither shape ever holds a 55 degree change across both windows. Gyeongui Line Forest Park runs 1.96 km along a decommissioned railway line, and the whole length is one shallow arc, so nothing in it reaches the threshold. The app treats zero as a fact, not a fault: this course has no turn guidance, follow the route on the map. A route whose turn list failed to load gets a different sentence saying exactly that, because failing to read something is not the same as knowing there is nothing to read.

Turn count is the number to read when you are choosing between routes, and it does not track distance. Central Park Full Loop is 9.89 km with two announced turns. Richmond Park Tamsin Trail is 11.57 km with nineteen. Under two kilometres apart in length, an order of magnitude apart in how often something has to speak.

Leaving the route, and why the app waits before saying so

Corridor width is not fixed. The corridor is 2.5 times the accuracy the phone itself reports, floored at 45 m and capped at 80 m, so it widens when the phone admits it is unsure. Off route is declared only after 12 continuous seconds outside, or 40 m of route progress while outside.

Coming back takes 8 continuous seconds inside a narrower band.

While you are off route the run keeps recording, and the app tells you how far off you are and that guidance resumes when you are back on it. It does not point you back. A gap of up to 5 seconds between usable fixes does not reset that evidence, and turn cues are not pushed forward while course judging is suspended, so a lapse in signal cannot make the app skip a corner. More on that in what to do when the signal drops mid run.

Running a course backwards switches turn cues off completely rather than mirroring them, and the screen says why. The stored directions are written for one direction of travel, and bear left and a U-turn do not come out right by swapping left for right, so a wrong instruction at a junction is worse than none.

Why this is not navigation

Nothing recalculates.

There is no new path when you leave the line, no arrow pointing back to it, and no second route home. Products that do reroute say so in their own documentation.

Automatic re-routing if you go off track

komoot, Features page, fetched 2 August 2026

That line is on the komoot features page, alongside offline maps. RunGo, built around voice directions, says on its own product page that it works offline with no data plan required and tells runners to download the route in advance, fetched 2 August 2026.

Behaviour claimed by each product's own documentation
BehaviourRunflakeDocumented elsewhere
Recalculates a path when you leave the routeNokomoot lists automatic re-routing if you go off track
When the route reaches the phoneAt the countdown, on the run you are about to startRunGo tells runners to create and download routes in advance
Starting a route run with no connectionNot possible, the route has to arrive firstRunGo describes working offline with no data plan required
Connection needed after the run has startedNone for following the routekomoot lists offline maps with no signal needed

The route here is fetched at the countdown and copied to the phone only once the run has begun, so a crash mid run does not silently drop course following, and if it does not arrive the countdown holds on Loading the course, then says the route did not arrive and nothing was recorded.

So if you plan to improvise, corner announcements on a fixed line are the wrong tool. If you want to run a known line and hear its corners coming, the cost is that a start with no signal is a start with no course.

The cities covered so far

The curated set covers Barcelona, Chicago, Hong Kong, London, New York, Paris, San Francisco, Seoul, Singapore, Sydney, Tokyo and Vancouver. What separates them is not the city. It is how much of each route is a decision.

Announced turns against distance on eight curated routes
RouteDistanceAnnounced turnsTurns per km
Gyeongui Line Forest Park, Seoul1.96 km00
Seine Left Bank Quays, Paris3.45 km00
Central Park Full Loop, New York9.89 km20.2
Stanley Park Seawall, Vancouver7.97 km50.6
Imperial Palace Loop, Tokyo5.07 km40.8
Richmond Park Tamsin Trail, London11.57 km191.6
Lake Merced Loop, San Francisco7.01 km152.1
East Coast Park Coastal Run, Singapore4.07 km92.2

That last column is the other two divided, and it is a better guide to what a route asks of you than difficulty or distance. Below one turn per kilometre you can run and think about something else, and above two the route is a sequence of decisions and you will be looking at the screen whatever the voice does. Both Seoul routes sit at the quiet end of that scale, and they are covered in running routes in Seoul. The wider picture is in what the app is.

None of this needs an app. With a GPX file of a route you run often, take the bearing 35 m either side of each point, keep the changes that survive a wider window, and merge the ones sitting on top of each other. What falls out is the list of places you have to think.

Common questions

How is a corner on a running route detected from the shape alone?
By comparing the direction of travel a fixed distance before a point with the direction the same distance after it. If the change is large enough in a narrow window and still large enough over a wider one, the point is a corner rather than a curve.
Why would turn cues be switched off when you run a route in reverse?
Stored directions are written for one direction of travel and they are not simple mirror images. A wrong instruction at a junction sends you down the wrong street, so silence with an explanation on screen is safer.
How far in advance should a turn be announced while running?
Far enough to react, close enough to be about this corner and not the next one. On the routes described here the spoken warning lands 120 metres out, with a shorter reminder 25 metres from the corner.

Keep reading

All articles