Ride along any road with this page open. Your phone's GPS and accelerometer turn into a roughness reading,
scored 0–100 per 10 m. Every ride makes the map more accurate.
This is a relative Road Quality Score (RQS), not a certified IRI. Measurements carry stated
uncertainty and are aggregated anonymously.
Record a ride
Answer once — we will remember it on this phone.
Idle.
Recording stops by itself about two minutes after you stop moving, then uploads on its own. You can also tap
Stop any time.
0metres
0km/h
—live RQS
0events
0Hz
0 ride(s) awaiting upload
Keep the screen on and the phone steady in a fixed mount for the whole ride — hand movement is recorded as
road roughness. Full recording guide.
Road map
Loading road data…
Filter roads
Your progress
Level 1
0 / 100 XP
🔥
0
day streak
Best: 0
0Rides
0km
0Events
0XP
Badges
Map insights
Whole map
Surface condition
Score distribution
—Average score
0km in view
0recorded passes
0events found
What kind of problems
0Potholes
Sharp, narrow dips. Urgent.
0Speed breakers
Smooth raised humps. Intentional, mapped for comfort.
0Continuous rough stretches
Long spans of sustained vibration.
0Other defects
Patch edges, ruts and broken slabs.
These are told apart by the shape of the vibration: a pothole is a short sharp dip, a speed breaker is a
wide symmetric hump, and a rough stretch is sustained vibration with no single peak.
My rides
Select one ride to see it on its own, or pick several to see them combined. Your rides are stored against an
anonymous id on this phone only.
No rides recorded yet. Record one above and it will appear here.
Worst roads right now
Roughness ranked by how bad each stretch is weighted by its length. Roughness is a relative score, not a
certified IRI. Segments with few passes are less certain.
Loading…
What changed recently
Compares each road stretch against its own earlier readings. Only stretches with at least
3 recordings in both periods are judged, so a change is never claimed from a single pass. A
stretch is flagged if its score moved by 8 points or more.
Loading…
Deteriorated
—
Improved
—
How this is judged
Two equal windows. Each stretch's recent readings are compared with the equal-length
period immediately before.
Enough evidence. Both periods need at least 3 recordings, otherwise the stretch is
skipped rather than guessed at.
Noise threshold. A change under 8 points is treated as no change.
Confounder checks. If the two periods differ in how the phone was mounted, or average
speed differs by more than 15 km/h, the change is marked as possibly caused by measurement rather than the
road.
Quality weighted. Readings taken while the phone was being handled count for less.
Not a certified survey. This is a relative index from phone sensors. It is a screening
tool to decide where to look, not a substitute for a road roughness survey.
What the colours mean
Good · 80–100
New or well-maintained surface. Smooth riding at normal speed. IRC roughness roughly under 2.
Fair · 60–79
Minor unevenness, patches, or a slightly worn surface. Comfortable but noticeable. Roughly IRI 2–4.
Poor · 40–59
Frequent bumps and rough patches. Uncomfortable and slow. Roughly IRI 4–6 — worth reporting.
Very poor · under 40
Broken surface, potholes and ruts. Jarring to ride and a risk to two-wheelers. Roughly IRI above 6.
Dashed lines mean only one recording so far — the score is real but uncertain. Solid lines mean several people
have driven that stretch and the score is reliable.
A speed breaker is not a defect, so it is scored and marked separately from roughness. Potholes are flagged
because they are the urgent ones for two-wheelers.
How to record a ride
A clean recording depends more on how you mount the phone than on anything else. Follow these steps for the
most accurate road quality reading.
Pick a good route. Roads you drive often or that you think are in poor condition are the
most useful to map.
Mount the phone firmly. Ideally attach it to the dashboard or a phone holder. Avoid holding
it in your hand — hand movement gets recorded as road roughness and ruins the score.
Keep the phone steady. Once recording starts, do not pick the phone up, tilt it, or move it
between mounts. A single steady hold gives the most reliable reading.
If you must move it, expect that stretch to be skipped. The app uses the phone's gyroscope
to detect when the phone is being handled and pauses scoring automatically, so a quick glance or adjustment
does not fake a bad road. Do not hold it to check the screen — leave it mounted.
Lay it flat or fixed. A phone lying flat on the dashboard reads vertical bumps best. If in
a holder, keep it firmly clipped so it does not wobble.
Keep the screen on. Recording stops or pauses if the screen locks or you switch apps on
many phones. Set the screen timeout to the longest option before you start.
Drive normally. Keep to normal traffic speed and do not brake sharply. Very low speeds
(below about 10 km/h) give unreliable readings.
Stop when you are done. Tap Stop, wait for it to save, then upload. You can leave
the ride on the phone and upload later when you have signal.
Android (Chrome)
Allow Location access as Precise / While using the app.
Allow Motion / Physical activity sensors when Chrome asks.
Turn off battery optimisation for Chrome if recording stops in the background.
Keep the tab in the foreground and the screen on for the whole ride.
iPhone (Safari)
Tap Start recording from a direct tap — iOS only grants motion access after a tap.
Tap Allow on the "Motion & Orientation" prompt when it appears.
Allow Location as Precise under Settings → Safari.
Add the page to your Home Screen for a full-screen, more reliable session.
Screen lock pauses sensors — raise Auto-Lock to Never during the ride.
Roughness is measured from vibration, so anything that shakes the phone other than the road — a hand, a loose
mount, a rattling dashboard — shows up as poor road quality. When in doubt, record the same road twice on
separate trips: repeated readings on the same road are far more reliable than a single pass.
How it works
Capture. The accelerometer is band-passed to the road-roughness band (~0.5–20 Hz) and
gravity is removed using the device orientation, backed by the compass where the phone provides it.
Reject handling. The gyroscope watches how fast the phone is rotating. Hand movement makes
the phone pivot, so those moments are paused and excluded instead of being scored as a bad road. The result
is a per-ride recording quality.
Filter position. GPS fixes with poor accuracy, and jumps that imply impossible speed, are
discarded so a few bad satellite readings cannot distort the map.
Score. Vertical roughness is corrected for speed, then mapped to a 0–100 Road Quality Score
per 10 m bin, using IRC roughness bands for context.
Aggregate. Many passes over the same road combine with quality weighting, so a busy road
gets a confident score, a single ride stays clearly uncertain, and a ride where the phone was moved counts
for less.
Publish. Only aggregated, endpoint-trimmed data appears on the map. Raw individual traces
are never shown.