odo, bicycle routes

A personalization engine for cyclists that replaces generic routing with intent-based loop generation. odo translates rider preferences such as scenery, elevation, wind, surface, and safety into clearly differentiated loop routes rather than minor path variations. Built as a 0→1 concept and validated with 100+ cyclists, it demonstrates how real-world environmental signals can inform explainable routing decisions, prioritizing preference fidelity and system-driven personalization over shortest-path optimization.

My role

Product design research prototyping

Scope

B. A. Thesis 0→1 Concept Functional Prototype

Domain

Mobility Mapping Outdoor

Tools

Figma Next.js

Team

Luke Caporelli Luca M. Ziegler Félix

Year

2025

context

What is odo?

odo is a route planning concept that prioritizes rider intent over shortest-path optimization. Instead of generating minor route variations, it creates differentiated loop routes based on scenery, safety, surface, elevation, and contextual signals.

Users and setting

Cyclists typically plan rides on desktop or mobile and navigate using bike computers. Route decisions are driven by landscape, safety, and elevation transparency, with strong preference for loop routes over point-to-point rides.

Problem statement

Most route planners optimize for distance and speed but fail to transparently reflect personal preferences such as scenery, surface, wind, or safety.

design preview

real world data based on

100+

CYCLISTS SURVEYED

9

in depth interviews

Discover

Competitive scan

Compared Komoot, Strava, Outdooractive, and Wikiloc. While technically robust, none deeply personalize routing beyond bike type selection.

Quant signals from the survey

Survey (100+ cyclists) showed strong preference for loop routes, high prioritization of scenery and safety, and clear demand for total ascent and max gradient transparency.

Qualitative Interviews

9 in-depth interviews complemented the survey, uncovering decision drivers and recurring friction points in route planning.

define

Target direction

The concept focuses on day rides and loop routes, where preference-based routing creates the strongest user differentiation.

Constraints and scope

Two-person thesis project focused on validating a functional vertical slice rather than building a full-scale product.

survey: fave route type?

Round trip

Point-to-point

Multiple

destinations

Other

concept brainstorming

ideate

Concepts explored

Explored adventure, safety-first, and inspiration-driven routing before selecting intent-based profiles as the strongest interaction model.

Why we chose route profiles

Profiles balance deep personalization with low interface complexity.

Key trade-offs

Prioritized explainable signals over opaque scoring systems to avoid feature overload.

prototype

Two creation flows

Two flows were designed: Quick Start for fast loop generation and Custom Ride for detailed preference control.

Onboarding for preference capture

Onboarding captures minimal but critical inputs: rider type, bike type, preferences, avoidance criteria, and time window. These parameters form the basis for profile-based route generation.

Vertical slice feasibility prototype

A functional desktop prototype validated technical feasibility using real APIs and live map feedback.

Data signals tested with real APIs

Integrated OpenRouteService for routing and surface data, Shademap for time-based shade analysis, and elevation processing to translate raw signals into explainable route metrics.

Tech stack for functional prototype

Core Framework

Next.js →

UI, routing, API integration, server-side rendering

Mapping & Visualization

React-Leaflet · Leaflet →
Interactive maps, route visualization, location rendering

Data & Intelligence APIs

OpenRouteService →
Routing, autocomplete, surface analysis


Shademap →
Shadow and sunlight environmental analysis

shademap api testing

switching route profiles

deliver

Final product loop

Structured into three phases: plan, navigate, and feedback to continuously improve route personalization.

Route profiles and fast switching

Profiles represent distinct ride intents. Users can switch between them instantly to compare route outcomes without reconfiguring inputs.

Planning clarity through details and preview

Detail and preview views make route quality legible, reducing uncertainty before starting a ride.

route profile deep dive

Main user flow

1. Users begin by selecting a route by choosing one of the available route profiles based on preferences such as scenery, safety, surface, or difficulty.

2. The details page supports deep analysis by presenting essential information including route name, start time, a map overview, and key metrics like difficulty, distance, elevation, and duration.

3. The preview provides a quick gist of the route by dividing it into segments that display distance, weather, and traffic information, supported by a height profile and map highlighting to maintain orientation.

System logic

Preference to route translation

odo converts rider preferences into routing constraints and weighted signals, so the output stays consistent across different regions.

Data pipeline, not UI screens

The core work is sourcing signals, normalizing them, and mapping them to meaningful labels that feel trustworthy in planning.

main user flow

component deep dive

impact

What we validated

Validated that environmental signals such as shade, surface, and gradient can be sourced, processed, and translated into explainable routing decisions.

What this enables if shipped

Reduces trial-and-error route selection and increases confidence in unfamiliar areas through transparent personalization.

Differentiation

Differentiates through intent-based routing, explainability, loop specialization, and adaptive profile logic.

important learnings

Personalization as a System

Profiles and feedback loops turn routing into a system that adapts to individual preferences over time.

Less Guessing, More Confidence

Visible trade-offs help riders choose routes that match their intent, especially for scenic and safe loop rides.

blue ocean strategy canvas

Training Plans &

Performance Coaching

User Profiles &

Learning Capability

Personalized

Route Generation

Intelligent Context

Adaptation

Athletic Performance

Tracking

Live Navigation with

Contextual Cues

Key takeawayst

Control beats automation

Riders want adjustable inputs and clear outputs, not opaque automation that removes agency.

Explainability builds trust

Personalization works when users understand why the system recommends a route and what it optimizes for.

reflection

What I learned

Personalization only works when routing decisions are transparent and explainable.

What I would do next

Expand adaptive learning through post-ride feedback loops and deeper profile editing.

© 2025 Luke Caporelli

© 2025 Luke Caporelli

© 2025 Luke Caporelli

A personalization engine for cyclists that replaces generic routing with intent-based loop generation. odo translates rider preferences such as scenery, elevation, wind, surface, and safety into clearly differentiated loop routes rather than minor path variations. Built as a 0→1 concept and validated with 100+ cyclists, it demonstrates how real-world environmental signals can inform explainable routing decisions, prioritizing preference fidelity and system-driven personalization over shortest-path optimization.

odo

context

What is odo?

odo is a route planning concept that prioritizes rider intent over shortest-path optimization. Instead of generating minor route variations, it creates differentiated loop routes based on scenery, safety, surface, elevation, and contextual signals.

Users and setting

Cyclists typically plan rides on desktop or mobile and navigate using bike computers. Route decisions are driven by landscape, safety, and elevation transparency, with strong preference for loop routes over point-to-point rides.

Problem statement

Most route planners optimize for distance and speed but fail to transparently reflect personal preferences such as scenery, surface, wind, or safety.

design preview

Discover

Competitive scan

Compared Komoot, Strava, Outdooractive, and Wikiloc. While technically robust, none deeply personalize routing beyond bike type selection.

Quant signals from the survey

Survey (100+ cyclists) showed strong preference for loop routes, high prioritization of scenery and safety, and clear demand for total ascent and max gradient transparency.

Qualitative Interviews

9 in-depth interviews complemented the survey, uncovering decision drivers and recurring friction points in route planning.

real world data based on

100+

CYCLISTS SURVEYED

9

in depth interviews

define

Target direction

The concept focuses on day rides and loop routes, where preference-based routing creates the strongest user differentiation.

Constraints and scope

Two-person thesis project focused on validating a functional vertical slice rather than building a full-scale product.

ideate

Concepts explored

Explored adventure, safety-first, and inspiration-driven routing before selecting intent-based profiles as the strongest interaction model.

Why we chose route profiles

Profiles balance deep personalization with low interface complexity.

Key trade-offs

Prioritized explainable signals over opaque scoring systems to avoid feature overload.

concept brainstorming

prototype

Two creation flows

Two flows were designed: Quick Start for fast loop generation and Custom Ride for detailed preference control.

Onboarding for preference capture

Onboarding captures minimal but critical inputs: rider type, bike type, preferences, avoidance criteria, and time window. These parameters form the basis for profile-based route generation.

Vertical slice feasibility prototype

A functional desktop prototype validated technical feasibility using real APIs and live map feedback.

Data signals tested with real APIs

Integrated OpenRouteService for routing and surface data, Shademap for time-based shade analysis, and elevation processing to translate raw signals into explainable route metrics.

shademap api testing

deliver

Final product loop

Structured into three phases: plan, navigate, and feedback to continuously improve route personalization.

Route profiles and fast switching

Profiles represent distinct ride intents. Users can switch between them instantly to compare route outcomes without reconfiguring inputs.

Planning clarity through details and preview

Detail and preview views make route quality legible, reducing uncertainty before starting a ride.

switching route profiles

Main user flow

1. Users begin by selecting a route by choosing one of the available route profiles based on preferences such as scenery, safety, surface, or difficulty.

2. The details page supports deep analysis by presenting essential information including route name, start time, a map overview, and key metrics like difficulty, distance, elevation, and duration.

3. The preview provides a quick gist of the route by dividing it into segments that display distance, weather, and traffic information, supported by a height profile and map highlighting to maintain orientation.

System logic

Preference to route translation

odo converts rider preferences into routing constraints and weighted signals, so the output stays consistent across different regions.

Data pipeline, not UI screens

The core work is sourcing signals, normalizing them, and mapping them to meaningful labels that feel trustworthy in planning.

route profile deep dive

main user flow

impact

What we validated

Validated that environmental signals such as shade, surface, and gradient can be sourced, processed, and translated into explainable routing decisions.

What this enables if shipped

Reduces trial-and-error route selection and increases confidence in unfamiliar areas through transparent personalization.

Differentiation

Differentiates through intent-based routing, explainability, loop specialization, and adaptive profile logic.

important learnings

Personalization as a System

Profiles and feedback loops turn routing into a system that adapts to individual preferences over time.

Less Guessing, More Confidence

Visible trade-offs help riders choose routes that match their intent, especially for scenic and safe loop rides.

reflection

What I learned

Personalization only works when routing decisions are transparent and explainable.

What I would do next

Expand adaptive learning through post-ride feedback loops and deeper profile editing.

Key takeawayst

Control beats automation

Riders want adjustable inputs and clear outputs, not opaque automation that removes agency.

Explainability builds trust

Personalization works when users understand why the system recommends a route and what it optimizes for.