Signal is optional
Here is the uncomfortable truth about a navigation app for adventure riding: the better the road, the worse the coverage. The places worth going are exactly the places your phone gives up.
So this fortnight we made the phone stop needing us.
Routing, on the device
Valhalla now runs on the phone. Not a cached route, not a downloaded corridor — the actual routing engine, with the actual tiles, computing an actual route with no server in sight. Lose signal mid-ride and navigation simply continues, including a full recompute if you miss a turn.
Getting a C++ routing engine onto a phone is less glamorous than it sounds. The tiles install per region rather than as one monolith, so adding Austria does not mean re-downloading France, and the engine is bridged natively rather than run through a JavaScript shim that would melt the battery.
Spoken navigation came with it, and the rider picks the language and voice independently of the app's interface language. Your phone can be in English while the directions are in Italian, which sounds like a small thing until you are in Italy trying to match a spoken street name to a sign that spells it differently in your head.
The Trans Euro Trail, bundled
The TET augmentation pipeline landed, and it is not a map overlay. The trail data is folded into the routing graph itself, so the router knows a trail is rideable rather than drawing a line over roads it would rather use. That is deployed to the EU server and available offline through baked bundles: import a country, ride it without a connection.
The difference shows the first time you ask for a route that ends on a trail. An overlay gives you a pretty line and directions to the nearest tarmac. An augmented graph takes you down the trail.
Speaking eleven languages
Full Italian and Spanish translations shipped with an in-app language picker, on top of the i18n groundwork. A rider in Palermo and a rider in Bergen should get the same app, not the same app in someone else's language.
Also this month
Multi-user accounts arrived, with a password policy enforced on every path that touches a credential. Siri phrases and App Intents mean you can start a ride without touching the screen. The capture workflow was rebuilt around an explicit Idle → Recording → Paused shell, and then audited four times over — thirteen bug fixes in one pass, orientation handling in another.
That last part is not glamorous. It is also why the app will still be recording when you get back.
Next
Offline is not a feature you finish. It is a promise you keep extending: maps, then routing, then search, then everything else. We are two steps in.
Dig deeper: offline data covers what downloads and when, and the developer docs have the manifest format if you want to build against it.
