Section 1
What Road Data does
Road Data turns your phone into a road damage sensor. While you drive, the app uses your phone's built-in accelerometer to measure jolts and impacts, and your GPS to pinpoint exactly where they happened. When an impact exceeds your detection threshold, the app logs a road event with the location, severity, road name, speed, and current weather conditions.
All of this happens quietly in the background — you can make calls, browse, or use other apps while Road Data keeps monitoring.
📳
Motion detection
Your phone's accelerometer detects jolts from potholes, rough surfaces, and collapsed roadway
📍
GPS tagging
Every detection is stamped with precise coordinates, road name, city, county, and state
🌦️
Weather logging
Conditions at detection time — temperature, wind, and weather description — are automatically recorded
☁️
Auto-sync
Events upload to the database automatically. If offline, they queue and sync when you reconnect
Section 2
Getting started
1
Create your account
On the sign-in screen, tap "Create one free" and fill in your name, email, password, and vehicle ID. Your vehicle ID can be a truck number, license plate, or any identifier your fleet uses.
2
Grant sensor permissions
When prompted, tap "Grant access & continue" and allow both Location and Motion access. Select "Always allow" for location so the app can tag events when running in the background.
3
Install to your home screen (recommended)
On Android: tap the Chrome menu → "Add to Home Screen." On iOS: tap Share in Safari → "Add to Home Screen." This gives you a full-screen app experience and improves background performance.
4
Set your threshold and mount your phone
In the Monitor tab, set your detection threshold (1.5g is recommended for city driving). Mount your phone flat on the dash or seat — avoid holding it while driving.
5
Tap "Start monitoring" and drive
The status indicator turns green. You can now minimize the app or use your phone normally. Road Data will detect and log events in the background.
Section 3
Monitor tab — live detection
The Monitor tab is your main screen while driving. It shows real-time sensor data and controls.
Stats row
Three numbers at the top of the screen:
- Critical — number of critical events detected today
- Today — total events detected today across all severity levels
- Synced — total events successfully uploaded to the database
Live acceleration meter
Shows the current G-force reading from your accelerometer in real time. The bar fills from left to right — blue for normal driving, turning red when an impact exceeds your threshold. The weather badge shows current conditions when weather enrichment is enabled.
Acceleration waveform
A scrolling graph of the last few seconds of accelerometer data. The red dashed line shows your detection threshold. Any spike above this line triggers an event log.
Detection sensitivity
- Threshold slider — the minimum G-force to trigger an event. Lower = more sensitive. See Section 7 for guidance on choosing the right value.
- Min interval slider — the minimum time between consecutive detections on the same road feature. Prevents logging the same pothole multiple times.
Start / Stop monitoring button
Tap to toggle monitoring on or off. The status pill in the header turns green when active. You can minimize the app after starting — monitoring continues in the background.
Section 4
Events tab — your detections
Shows a list of every road event detected on your device, newest first. Each entry shows:
- Severity icon and color — 🚨 Critical, ⚠️ High, 📍 Medium
- Event type and sync status (☁️ = synced to database, ⏳ = pending)
- Road name (populated a few seconds after detection via OpenStreetMap)
- City and state, plus weather conditions if available
- G-force reading and time of detection
Severity levels
🚨 Critical G-force ≥ 4.5g — severe pothole, collapsed surface, or major road damage
⚠️ High G-force ≥ 3.0g — significant pothole or major impact
📍 Medium G-force ≥ threshold — surface roughness, minor to moderate impact
Sync now button
Manually upload all pending events to the database. Useful if auto-sync is off or you've been offline.
Clear local button
Removes events from your device's local storage. Events already synced to the database are not affected — they remain in Supabase.
Section 5
Export tab — downloading your data
Download your road event data for use in other applications or to share with road authorities.
Export CSV — all events
Downloads a spreadsheet-compatible file containing all your detected events with every data field. Opens in Excel, Google Sheets, or any CSV viewer.
Export GeoJSON — map data
Downloads your data in GeoJSON format — the standard used by GIS systems, ArcGIS, QGIS, and government mapping tools. Each event becomes a geographic point with all properties attached. You can drag this file into kepler.gl to instantly visualize your data on a map.
Critical events only
Downloads only Critical and High severity events — useful when sharing a targeted damage report with a road department or construction company.
Data fields included
Every export includes: timestamp, severity, event type, G-force, latitude, longitude, GPS accuracy, speed, heading, road name, route number, city, county, state, postcode, weather description, temperature, humidity, wind speed, and device ID.
Section 6
Settings tab
Driver profile
Tap "Edit profile" to update your name, vehicle ID, company, phone number, and license state. This information is associated with your account but is not included in anonymized data exports sold to third parties.
Detection options
- Speed gating — when on, the app only logs events when your speed exceeds 10 km/h. This prevents false positives when parked, loading cargo, or moving in slow traffic. Recommended: ON.
- Auto-sync — automatically uploads each event to the database within seconds of detection. Turn off if you want to batch-upload manually or conserve data. Recommended: ON.
- Road name lookup — reverse-geocodes each GPS location via OpenStreetMap to get the road name, city, county, and state. Adds a small data request per event. Recommended: ON.
- Weather enrichment — fetches current weather conditions at the time of each detection via Open-Meteo (free). Cached for 10 minutes. Recommended: ON.
- Haptic feedback — vibrates your phone when an event is detected. Useful confirmation that the app is working while driving. Recommended: ON.
Section 7
Setting the right sensitivity
The threshold setting is the most important tuning parameter. Too low and you'll get false positives from normal driving; too high and you'll miss real damage.
| Threshold | Best for | Risk |
| 0.5 – 1.0g | Testing only — detects almost everything including normal turns and braking | Many false positives |
| 1.0 – 1.5g | Very rough roads, gravel, finding every imperfection | Some false positives on sharp turns |
| 1.5 – 2.0g | City streets — good balance for most drivers ⭐ Recommended | May miss very minor roughness |
| 2.0 – 3.0g | Highway driving — filters out minor bumps | Only significant impacts logged |
| 3.0 – 5.0g | Severe damage only — major potholes and collapses | Misses moderate damage |
💡 Tip
Start at 1.5g and drive your normal route for a day. Check the Events tab — if you see events every few minutes on smooth roads, raise the threshold. If you're driving rough roads and only seeing a handful of events, lower it.
Min interval
If you set the interval to 3 seconds (default), the app won't log a second event within 3 seconds of the first. This prevents a single pothole from generating 5 entries. For very rough roads with frequent damage, lower this to 1–2 seconds. For highways with isolated events, 3–5 seconds is ideal.
Section 8
Phone placement while driving
How you position your phone significantly affects detection quality.
⚠️ Important
Never hold your phone while driving. Mount it or place it flat on a stable surface.
Best positions (in order of preference)
- Dashboard mount, face up — the most stable position. A flat dash mount gives the cleanest accelerometer signal with minimal hand or vibration noise.
- Flat on the seat — works well on trucks and vehicles with firm, flat seats. Avoid soft cushioned seats which absorb impacts.
- Cup holder — acceptable for vertical mounting if the cup holder is snug. Some signal degradation from rotation.
- Windshield mount — works but picks up more engine vibration. Raise the threshold slightly if using this position.
Positions to avoid
- Loose in your pocket or bag — hand movement creates constant false positives
- On top of seat cushions — cushioning absorbs the impact you're trying to detect
- Held in your hand — never do this while driving, and it produces unreliable data
Section 9
Background monitoring
Road Data is designed to run in the background while you use other apps, make calls, or lock your screen.
Android
Background monitoring works best when the app is installed to your home screen (as a PWA). Chrome can suspend background web pages to save battery. To prevent this:
- Install to home screen — open in Chrome, tap menu → "Add to Home Screen"
- In Android Settings → Apps → Chrome → Battery → set to "Unrestricted"
- Disable battery optimization for Chrome on your device
iOS (iPhone/iPad)
Safari on iOS limits background JavaScript execution. For best results:
- Keep the app visible on screen (don't lock or switch apps) for critical routes
- Use Low Power Mode sparingly — it aggressively suspends background apps
- Install to home screen via Safari → Share → "Add to Home Screen"
💡 Tip for long routes
If you need reliable detection on a long route, keep the screen on and Road Data visible. A phone mount on the dash makes this easy and keeps the screen readable.
Section 10
Troubleshooting
No events detected even on rough roads
- Lower the threshold — try 1.0g and shake the phone hard. If events appear, the threshold was too high for your conditions.
- Check the waveform — is it moving when you drive? If it's flat at 0.0g, motion sensors may not have permission. Go to Settings tab → check that the app has motion access in your phone's browser settings.
- Check phone placement — holding the phone or placing it on a soft surface absorbs impacts.
Too many false positive events
- Raise the threshold — try 2.0g or 2.5g
- Turn on speed gating — this eliminates events when parked or moving slowly
- Secure your phone mount — loose mounts rattle and generate phantom readings
Events show "No GPS" or missing road names
- GPS takes 15–30 seconds to acquire a signal after starting monitoring — wait before driving
- Road name appears a few seconds after the event as the geocoding request completes
- In areas with poor GPS signal (tunnels, underground parking) coordinates may not be available
Events not syncing to database
- Check your internet connection
- Go to Events tab → tap "Sync now ↑" to force a manual upload
- Events queue locally and sync automatically when you next have connectivity
App not working after phone update
- Re-grant permissions: in your phone's Settings → Browser app → Permissions → re-allow Location and Motion
- Clear the app from recent apps and reopen it
- If installed as a home screen app, remove it and reinstall from the browser
Section 11
Privacy and data use
Road Data collects road event data that we sell in anonymized form to road construction companies and government transportation agencies. Your name, email, and personal details are never included in sold datasets.
For full details see our Privacy Policy.
What data is sold
- GPS coordinates of road damage events
- Severity, G-force, event type
- Road name, city, county, state
- Speed and heading at time of detection
- Weather conditions
- Anonymous device identifier (not linked to your name or email)
What is never sold
- Your name, email address, or phone number
- Your vehicle's license plate
- Your account ID or any identifier traceable to you personally
Deleting your data
To delete your account, contact us via the information on the Privacy Policy page. Your personal account data will be deleted immediately. Road event data will be retained in anonymized form as part of the historical dataset.