Nobody fixes the map on the way home

Forty kilometres in, the route turns off the road onto something the planner drew as a thin confident line. It is loose gravel over ruts, it goes on for three kilometres, and you are on 32mm tyres. You get through it. You are annoyed at the router.

The router does not deserve it. It read a way tagged highway=track with no surface on it at all, and did what every router does with a missing value: it guessed, using the average of everything else tagged that way. The guess was wrong here. It will be wrong here tomorrow, for the next person, in exactly the same way, because nothing about riding it changed the data it was drawn from.

That is the part worth sitting with. The error is not random and it is not transient. It is a stable property of a map that nobody corrected.

The fix is thirty seconds and it never happens

OpenStreetMap is the only general-purpose map you are allowed to fix. Adding surface=gravel to that way is a few taps. There is no ticket, no review queue, no company to convince. In under a minute the next router to download the region routes differently, for everybody.

So why is the tag still missing?

Because the person who knows is never the person at a keyboard. You learn the surface at the worst possible moment for doing anything about it — mid-ride, tired, navigating, phone at twenty percent. The knowledge is perishable. By the time you are home and showered, you can remember that something was bad somewhere after the long climb, which is not enough to find a way in an editor and not enough to tag it honestly if you did.

Every tool we have gets this backwards. The planner knows where you are and what you are riding, and it can only talk. The editor can change the map, and it has no idea you were just there. The gap between them is where the correction dies, and it dies quietly, thousands of times a day, which is why the same tracks stay untagged year after year while the number of people riding them goes up.

Two things, in one place

Arana is an attempt to close that loop, and it is really only two ideas.

Show the work. When the router picks a line, you can see the tags it picked it from — surface, smoothness, tracktype, and what it assumed where those were missing. "Why did it send me here" stops being a guess about a black box and becomes a readable answer. That matters on its own: most people never suspect the map is the problem, because nothing ever shows them the map.

Then let you fix it, right there. If the surface is wrong, you correct it in the same view, signed in with your own OpenStreetMap account. The edit is yours, under your name, in the real database — not a private correction layer that helps one app and leaves the map exactly as broken as it was. No context switch, no separate editor, no remembering it later.

Those two together are the whole bet: that the reason riders do not fix the map is not apathy but distance, and that closing the distance is enough.

The part tags cannot carry

There is a second problem underneath, and it is harder. surface=gravel is true of a hardpack forest road and of forty millimetres of loose stone, and you would happily ride one and not the other. The tag is accurate and it is not an answer to the question you actually have, which is whether you would enjoy it, on the bike you own.

That is subjective, so it has to be learned rather than tagged. Arana asks for ratings on segments people have actually ridden and fits an ordinal model over them, and what comes out is not a score shown in the UI — it is the weighting the routing engine uses. Your sense of what a good road is becomes the thing that picks your next one.

Where this is

Pre-launch. One person building it. There is a working planner, the tag inspector, the edit flow and an early version of the ratings model, and none of it is open for sign-ups yet.

I have written down what finished looks like, and it is deliberately small: twenty people outside my own circle who plan a route, and at least one of them submitting an OpenStreetMap edit through Arana. Not twenty thousand users. One edit that would not have existed, from a person who found out the map was wrong and, for once, had somewhere to put it.

This is where I will write about the rest of it — the routing engine, the tags OSM does not have and we derive anyway, the things that break. Starting here, with the reason.