Roam

Pick the distance. Roam the route

Roam turns a distance into a runnable route from wherever you are, then keeps the run simple: start, follow, finish

Product DesignReact NativeExpoMaps
View on GitHub

In development — beta. Roam is actively being built; screens and details may change.


Roam / Product design + build

Start with the distance. Let the route follow.

Roam is for runners who want a 5K, 10K, or something in between without planning the loop first. I designed and built the product in React Native, from route generation to run history.

Roam home and start-run screens
The home screen answers the only question that matters before a run: how far today?
Route generation form and generated route options
Choose a distance, then compare a few loops before heading out.
Active run and recorded run detail
During a run the map is quiet and the numbers lead: distance, time and pace.
Roam in light mode — home, routes and start run
The same system in light mode.
Training plan and profile screens
Plans and progress grow from the runs already in your history.
Shoe cabinet and saved routes
Shoes, saved routes and history — kept on the device.

Runs with the screen off

Lock the phone and Roam keeps recording, with live distance and pace on the Lock Screen and in the Dynamic Island.

Roam Live Activity on the iPhone Lock Screen during a run

How it came together

The product and the plumbing

I kept the build close to the product: documented decisions, small branches, pull requests, and CI running type checks, linting, and tests on every push.

Beyond the screenshots

Roam in motion

The visual system

A small system with a loud accent

Roam's visual system stays out of the runner's way: one electric accent for action and progress, soft surfaces, hairlines instead of shadows, and type that holds up at a glance. The tokens and assets below are taken from the app.

Logo

Mark on dark
Mark on dark
Mark on light
Mark on light

App icon

App icon
App icon
Light
Light

Palette — light & dark

Dark

Background#0E0F0C
Surface#191B16
Text#F2F3EF
Secondary#A9AEA4
Lime#CDF24B· fill
Lime type#CDF24B· emphasis

Light

Canvas#FBFBF9
Surface#FFFFFF
Text#0E0F0C
Secondary#454745
Lime#CDF24B· fill
Deep green#163300· on lime

Type

Distance 10.00 km · 5'48"/km

System / SF Pro

Body, labels and tabular numerals

11.50

Helvetica Neue Condensed Black

Display headings and the big metrics