Routing that respects the terrain.
A pedestrian profile with a hiking difficulty cap, bicycle costing that knows gravel from tarmac and how you feel about hills, and elevation profiles that return null rather than a guess.
Built for apps where the route is the experience.
Fitness and adventure apps live or die on route quality. These knobs are in the engine, not on a roadmap.

Costing that knows your bike
Road, hybrid, gravel or mountain: bicycle type, surface tolerance and hill appetite all shape the search. A real route, Bakewell to Monsal Head on a hybrid with quiet-road preferences: 5.4 km, 18 minutes. Where a road-surface survey covers the ground, its graded readings feed the same costing: our router already uses them to pick smoother cycle routes.
Surface-scored cycle routing →
A difficulty cap, not a disclaimer
The pedestrian costing takes a maximum hiking difficulty on the SAC scale, so a family walk never quietly includes a scramble the map has graded. Where a path carries no SAC grade there is nothing to cap, and it comes back walkable. It also takes a lit-street preference, so a walk home after dark can favour the streets the map records as lit, and the rationale says when that preference is what changed the route.

Profiles that never guess
Elevation along any route, with a null where there is no coverage rather than an invented number. Climb totals your users can trust.

An answer when riders ask why
Request the rationale and the response names what shaped the route: a surface avoided, a difficulty cap binding, a hill preference applied.
The map works where the signal does not
Signed territory packages carry tiles, search and routing fully offline. The summit photo uploads later; the route home should not have to.

Route-planning agents, grounded in the engine
Every costing knob is callable through the hosted MCP server, so an AI coach can plan a flat 40 km gravel loop and mean it: the constraint runs in the engine, not the prompt.
There is no 3D terrain or hillshade rendering today, and elevation coverage is not global; where data is missing the API returns null, never a guess.
Name the activity and a region.
We build the route planner around your costing preferences, with elevation profiles and your own map style, and our AI agents do the building.
What you are actually being offered.
On the page, not in the small print: the scope, the deliverable, the timetable and how the money works, before you spend an hour on a call finding out.
- Who it is for
- A fitness, cycling or adventure app where the quality of the route is the product.
- What is in scope
- Name the activity and a region. We build the planner around your costing preferences, with elevation profiles and your own map style.
- What you get
- A route planner tuned to your activity, with the hiking difficulty cap, surface and hill preferences wired up, and elevation that returns null rather than a guess where coverage is missing.
- How long
- Days rather than months, with the date agreed on the call.
- What it costs
- Scoped on the call. Routing and elevation calls are metered on the published rate card.
- Next step
- Name the activity and the region, and we will build the planner on it.
Automotive
MapMap in the vehicle: a full navigation stack you host and control.
Trucking & Logistics
The router that refuses the bridges the map records, before your driver sees them, with dispatch-grade optimisation built in.
Fleet Optimisation & Dispatch
Plan the whole shift against skills, windows, capacities and rest, then follow it without handing anyone your drivers' positions.