A constraint-driven bike route and loop planner
Pick a rider profile (with kids, relaxed, or anything), set your surface and separation constraints, and Trazo plans an A to B route or a distance-targeted loop on a stress-aware map. It runs entirely in the browser, with turn-by-turn directions and GPX export. Live today in three regions: Fort Collins, Hilton Head, and the Triangle (Raleigh, Durham, and Chapel Hill).
Most bike directions optimize for fastest. Almost none optimize for how safe or pleasant the ride actually feels. Trazo plans around traffic stress, surface, and separation, so the route fits the rider, not the other way around.
Trazo started with us. We are newly biking parents, and when we went looking for safe, varied routes for family rides, we could not find a planner that thought about the things that actually decide whether a ride is comfortable: traffic stress, surface, and how far you are from moving cars.
Open any mapping app, ask for cycling directions, and you get the fastest line from A to B. That answer is fine if you are a confident commuter on a road bike. It is the wrong answer for a parent towing a kid trailer, a relaxed weekend rider, or anyone who would rather add a mile than share a lane with 45 mph traffic.
The information that actually decides whether a ride is comfortable is mostly invisible in those apps. Is this a protected path or a painted line next to moving cars? Is the surface paved or loose gravel? Does this trail actually connect, or does it dump you onto a busy arterial halfway through? And sometimes the goal is not a destination at all. It is a loop: "give me a pleasant 10 miles that brings me back home."
The real question for many riders is not what is the fastest way there. It is what is the calmest way there, on the surface I want, and can you bring me back if I just want to ride.
That gap is where Trazo began. The first city was Fort Collins, Colorado: a flat valley with an unusually connected web of trails, which made it the perfect place to prove that a comfort-first route planner could be genuinely useful.
Trazo turns those invisible factors into the inputs you plan with. You tell it who is riding and what you will tolerate, and it does the rest.
One tap picks the comfort level: With kids (only the calmest, separated paths), Relaxed (low-stress streets and trails), or Anything (the network is yours). The profile reshapes every route Trazo returns.
Choose how far you want to stay from cars (off-street only, quiet streets, or busy roads OK) and which surfaces you will ride (paved only, or paved plus gravel and dirt). A "prefer flat" toggle favors a gentler climb.
Plan point-to-point with optional waypoints and a there-and-back option, or switch to Loop mode, set a target distance, and Trazo generates a ride that comes back to where you started. Loops are the answer to "I just want to ride for a while," not "get me somewhere."
Every route comes with turn-by-turn directions, an elevation profile, and busy-crossing alerts. Export the route as GPX to take it onto a head unit or another app, or follow it in-app with voice cues.
The whole map is colored by stress, surface, and separation, so you can read the city at a glance. Filter it down to "show me only the paths I would actually ride," and the noise disappears. Pit stops (water, restrooms, bike shops, cafes) and featured local spots ride along.
Each market is its own bundle. Fort Collins, Hilton Head, and the Triangle all run live on the same architecture, and new cities slot in without forking the app.
The hard part of Trazo is not drawing lines on a map. It is encoding what "comfortable" means into data, then routing on it fast enough to feel instant. A few decisions shaped the product:
A routing graph that knows how a road feels. A build pipeline takes OpenStreetMap data and classifies every edge by surface (paved or soft), facility type, separation (off-street, roadside, or on-road), and a Level of Traffic Stress rating (LTS, the bike-planning field's standard 1 to 4 comfort scale). That classification is the product. It is what lets a "with kids" route differ from an "anything" route over the exact same streets.
Comfort-first routing, owned end to end. Routing uses a custom Dijkstra engine weighted by that stress and surface data, plus loop generation for distance-targeted rides. Trazo does not lean on a third-party routing service, because the comfort weighting is the whole point. Owning the engine means tuning our own knobs, not someone else's.
A colored overlay from open city data. The stress-and-surface map you read at a glance is rendered from the routing graph, enriched with city GIS open data for bike facilities and trails. The result is a map that explains itself before you have planned anything.
Static hosting, one app per city by path. Trazo is a MapLibre GL web app served as static files on Cloudflare Pages, with a path-based per-city structure so a new market is a new bundle, not a new codebase. No app store, no install, no signup to plan a ride.
The most important design decision in Trazo is not a feature. It is what the product refuses to claim.
The stress and separation ratings are inferred from open data, not field-verified. Trazo says so, plainly. It is guidance, and you verify safety yourself. A route planner that quietly implied "this is guaranteed safe" would be making a promise it cannot keep, especially to the parent it is trying to serve.
Plenty of apps will draw a bike route. The difference is what they optimize for.
They will happily route a kid trailer down a four-lane arterial because it shaves two minutes. They do not know, or care, whether a segment is a protected path or a painted line beside moving traffic. Trazo treats that difference as the whole point.
Heatmaps and segments are great for athletes chasing times. They do not answer "what is the calmest way to get my family across town," and they assume you already know where you are going.
Pick who is riding, and every route is filtered by traffic stress, surface, and separation. Ask for a distance-targeted loop and it brings you back home. No account, no subscription, no app to install. Just a map that already speaks the language of how a ride actually feels.
A comfort-first take on bike routing: pick who is riding, set your constraints, and get a route that actually fits the day. Live on the web, no install required.