ROUVY Route Planner PoC

How to try it

Run it

  1. Install Expo Go on your phone. Ask Michal Rehout to add your Expo account to the rouvy Expo organisation, then sign in to Expo Go with that account. Expo only serves this build to signed-in members; if Expo Go shows a 403 / "needs authentication", you are not signed in or not a member yet.
  2. Scan the QR code below, or open the project page: https://expo.dev/accounts/rouvy/projects/route-planner-poc (Updates → channel preview → Preview). Expo Go loads the latest build. Nothing else to install.
  3. Developers: clone rouvydev/route-planner-poc, run npm install && npx expo start in mobile/, scan the QR. The app talks to this backend (route-planner-api.rouvy.dev), so no local API keys are needed.
Expo Go QR code for the preview channel
Scan with the camera (iOS) or from inside Expo Go (Android)

Log in

Tap "Sign in with ROUVY" and use your normal ROUVY account (production, api.rouvy.com). The session lasts 7 days. All routing and AI calls go through a ROUVY-owned proxy; no third-party API keys live on the phone.

What you can ask for

Type a ride brief in plain language, for example: "3 hours, quiet roads, tarmac only, start and finish at Skibike Centrum Radotín". Gemini parses it into:

Limits for now: loop routes only (start = finish) and the Prague region only (roughly 49.5–50.5 N, 13.4–15.2 E). The app generates several candidate loops (default 5, calibrated filter + score), scores them against the brief, shows distance, moving time, ascent and surface split, and can export GPX. Gemini prompt interpretation and these planner defaults now live in the backend Worker, so they change with a Worker deploy, not an app update.

Routing backends and their knobs (Settings → Planner lab)

BackendKnobs
BRouter (free, no key) profile (racebike-verylowtraffic, fastbike-verylowtraffic, fastbike-lowtraffic, fastbike, trekking, trekking-steep), radius factor, bearing offset, random bearing, alternative index, brief-driven on/off
openrouteservice profile (cycling-road, cycling-regular, cycling-mountain, cycling-electric), preference (fastest, shortest, recommended), round-trip points (2–10), seed base, avoid features, steepness difficulty
GraphHopper seed base, brief-driven on/off. Profile is fixed to bike; our plan does not include racingbike.
Stadia Maps Valhalla bicycle type (default Road), cycling speed (15–35 km/h), use roads (0–1), use hills (0–1), avoid bad surfaces

Global knobs: engine, candidate count, selection strategy (score, filter then score, calibrated filter, duration only), and the scoring weights per criterion.

Feedback

Please note which backend produced the routes you liked and which you didn't. That comparison is the whole point of the trial. Send notes to Michal Rehout.