Method

How the rides are made

Every ride here is built from open map data by software, to rules I set. This page explains those rules, where the data comes from, and what it can't tell you.

What I want a ride to be

In a city: quiet streets, separated bike paths, parks and water, and a view or a café worth stopping for. Outside it: steady climbs rather than walls, big views, and the roads local cyclists love. A ride should fit the time you have, with time to stop, and match how you like to ride.

Those preferences become rules. Software then applies them to every street in a region, so a new city starts with good rides on day one, and every city is judged the same way. No one picks a route by hand to promote it.

Where the data comes from

I don't use data whose terms forbid it. That rules out, for example, the Strava heatmap. Each source and what its licence allows is kept on a list I check before adding anything new.

How each street is scored

Every rideable street and path gets a score from three things:

These three multiply, so any one of them can rule a street out: a smooth, flat road full of fast traffic is still a bad street. Shade from trees, green space nearby and signed bike routes can only add a little, never more than a fifth of the score, so they can't make a bad street look good.

How rides are put together

In a city, the software routes thousands of short trips across town along the most comfortable streets, not the shortest. The streets those trips share become the city's backbone, and rides to parks, along water and around loops are built on it. In Paris, trips routed this way spent 72% of their distance on separated bike infrastructure, against 22% for the shortest routes, for about 8% more distance.

Outside the city, rides follow mapped roads to named passes, lakes and villages, using the full slope profile of the route. Road rides avoid surfaces tagged as gravel or unpaved and unverified tracks; a road with no surface tag is assumed paved, and the ride page counts how much of a ride that applies to.

Each ride is then matched to how you ride. These are the starting assumptions:

PaceOn the flatClimbingTrafficSteepest sustained
Family & gentle12 km/h (7 mph)150 m (490 ft) an hourQuietest only5%
Casual16 km/h (10 mph)300 m (980 ft) an hourQuiet7%
Moderate21 km/h (13 mph)500 m (1,640 ft) an hourSome busier stretches10%
Sporty26 km/h (16 mph)700 m (2,300 ft) an hourAnyAny

An e-bike climbs about 1.8 times faster and handles slopes 3 points steeper; riding with kids keeps to the quietest streets and gentle slopes. Riding times are shown as a range, a little under to a fifth over the estimate, because these assumptions are guesses until real riding data tunes them. Your time budget is the whole outing, so it leaves room for stops.

Checking a ride can be ridden

Before a ride is published, every stretch of it is checked against the map's access rules: private roads, paths closed to bikes, and seasonal closures with dates. A ride that crosses anything restricted or unclear is held back. This is a check of the map, not of the road on the day.

Checking against real riders

Paris and Lyon publish counts from bike counters on their streets. I keep these out of the scoring and use them only as a check. The comfortable routes do pass the busier counters more often, a weak match in Paris and a moderate one in Lyon. But most counters sit on bike paths already, so they can't prove the scoring tells a good street from a bad one. I say so rather than call it validation.

Riders can now compare their own recorded rides with ours on Your rides: which of our rides and climbs they've ridden, and how long they take at their own pace. That happens on the rider's device and nothing is sent to me, so riders' rides do not yet shape the rides here. The next step is for riders who choose to send what their rides show (which rides and climbs, and their real riding times, never the tracks) so the rides and their timings can be checked and improved. I'll say so here when that has happened, starting with my own rides.

What the data can't know

So every ride is labelled as modelled until it has been checked, and you should check conditions before you go. How a ride is checked, and how to tell me about a mistake, is in the review policy.

Software and AI

The rides, their times and their descriptions come from the data and the rules above, not from an AI writing about places. I use AI assistants, mainly Anthropic's Claude, to help write the software and the site; I set the rules, and I review what ships. The photos are real and credited, never generated.