pothole-reporter README

The project's README from github.com/coding-parrot/pothole-reporter. As one markdown file: README.md.

Pothole Reporter

An independent Android app for potholes. Drive uses either the mounted phone camera or an H.264 RTSP-over-TCP dashcam while the phone shows Maps or a call; one tap on Photo opens the camera for a pothole check and prepares evidence for an official complaint channel. Reports remain on the phone, and nothing is filed automatically. There is no project-operated backend or account system.

Current release: v1.38.0

Pothole detected by Pothole Reporter Pothole Reporter nationwide India coverage overview

Example detection and current coverage. Map boundary: DataMeet India community, CC0, following the Survey of India standard; no government endorsement. Select either image to enlarge.

Coverage

Area Current scope and handoff
National Highways Potholes only, on operational NH/NE carriageways mapped in the pinned 20 August 2026 OpenStreetMap extract. Matches open Rajmargyatra/1033; the maintainer is not guessed.
All 28 states + 8 Union Territories A confidently contained coordinate can use a conservative official state/UT grievance handoff. The complete GPS-accuracy circle must stay inside a checksum-pinned boundary; border ambiguity fails closed.
Exact city/authority routes Reviewed municipal, metropolitan, and authority-specific routes remain preferred wherever available. Nationwide fallback never replaces a more specific route.
50 largest population centres All 50 from Census 2011 A-04(I). Existing reviewed/statewide routes stay preferred; 8 centres require both a conservative coordinate envelope and an exact structured city/state match before offering a neutral official grievance channel. Markers do not claim complete Urban Agglomeration boundaries.
Delhi Full Delhi NCT. Road damage uses PWD Sewa. NCR places outside NCT never inherit Delhi's route; Noida and Ghaziabad can qualify through the separate Uttar Pradesh route, while Faridabad retains its top-50 neutral route.

National Highway routing runs first, followed by exact city/authority routes, then the state/UT handoff. Boundaries suggest where to start a complaint; they do not prove who owns or maintains a road. The user must review and complete every complaint in the offered official app, portal, WhatsApp, dialler, share sheet, or email client. Nothing is submitted automatically.

How it works

Pothole Reporter architecture

Complaint output

National Highway routing

Downloaded data packs

The APK contains the app and small manifests, not the large reference datasets. When needed, it downloads a versioned state/UT pack or the relevant 2° National Highway tile from this project's GitHub Pages site. The 101 highway geometry tiles total about 18 MB, the 33 current National Highway research packs contain 1,859 records in 1,805,723 bytes, the 36 PMGSY State/UT packs contain 17,717 records in 3,075,718 bytes, and the 34 official State/UT notice packs contain 5,310 open notices in 4,225,170 bytes. Only the relevant files are downloaded and cached. These remote packs do not enlarge the APK; the three manifests add only about 100 KB to a future build. The Play closed-test binary already submitted to Google remains unchanged. All inputs are filtered for explicit carriageway work, so drain-, footpath-, sewer-, utility-, consultancy-, and roadside-plantation-only work is excluded even when its title contains a road name.

Every downloaded pack is checked byte-for-byte against a checksum pinned in the app before it is used, then cached locally. Missing, malformed, or altered required routing, contact, or highway data makes authority routing fail closed—the app does not guess or reuse unverified data. If an optional contract or procurement pack is unavailable, the report continues without a candidate. A verified cached pack is available after its first successful download, although detection, geocoding, and relevant GIS checks still need their respective network services. On a subsequent pack use, caches past their unused limits are pruned automatically; Delete all app data removes the entire pack cache immediately.

A pack request contains no report, photo, or exact coordinates. GitHub Pages can receive the device's IP address, connection metadata, and requested pack URL; the URL reveals the selected state or an approximate 2° highway tile. See the privacy policy.

Install

  1. Install the APK attached to the latest release.
  2. On first launch, enter your OpenAI API key in Settings and choose Phone camera or Dashcam. Phone mode needs camera access; both modes need precise location and notifications.
  3. Capture while safely stopped, or securely mount the phone before starting Drive.
  4. Review the image, location, authority, wording, and contract-verification status before choosing an external complaint channel.

Important limits

Read data sources and limits for exact coverage, provenance, and known gaps.

Build and test

./tools/build-apk.sh
./tests/run-all.sh
# Explicit live-service checks: RUN_LIVE_TESTS=1 ./tests/run-all.sh

License

Code is MIT; data retains its source licences and terms. See LICENSE and data sources and limits.

pothole-reporter (coding-parrot/pothole-reporter)

Searching Database…

What is this?Pothole Reporter is an independent Android app that uses the phone camera or a connected dashcam to detect potholes while you drive, then helps you file a complaint through the correct official Indian government channel for that road. It never submits anything automatically; reports stay on the phone.
Is this a phone-only app, or do I need a separate dashcam device?It installs on your Android phone and works that way alone using the phone's own camera, or you can additionally connect an H.264 RTSP-over-TCP dashcam over Wi-Fi while the phone still handles GPS, Maps, and routing.
How do I get it running?Install the APK attached to the latest GitHub release, then on first launch open Settings to enter your OpenAI API key and pick Phone camera or Dashcam mode before Drive and Photo become available.
Do I need an OpenAI API key?Yes, it's required on first launch and is used entirely at your own expense (bring-your-own-key); the app also needs camera, precise location, and notification permissions.
How reliable is the pothole detection?The AI can miss real damage or flag false positives, and no field-validated accuracy figure is claimed. It also deliberately rejects flat patches, utility-cover repairs, gravel texture, and speed breakers as non-potholes.
Is this just for Maharashtra, or does it cover all of India?Coverage is nationwide: National Highway routing runs first, then exact city/authority routes, then a fallback handoff covering all 28 states and 8 Union Territories, with road-specific channels where available.
Where does my photo and location data go?Pothole images and your API key go directly to OpenAI for detection, coordinates go to OpenStreetMap Nominatim (plus state GIS services for Karnataka and Hyderabad), and everything else stays stored locally on the phone with no project-run server.
How does the app decide a pothole is actually fixed?On a later drive it requires a separate before/after AI check that clearly confirms the same footprint is now covered by completed, intact repair material; partial, obstructed, or ambiguous views stay open.
What languages does the app support?The app currently supports English, Kannada, Marathi, and Bengali.
Does the app have a backend server storing my reports?No. There is no project-operated backend or account system; photos, coordinates, and complaint drafts stay on your phone, and nothing is filed or uploaded automatically.
How does Drive mode avoid draining my battery?A selectable 15/30/60/90-minute active-time limit (default 30 minutes) automatically stops Drive, and paused time doesn't count against it.
Size
157.5 MB
Stars
157
Age
2mo
Commits · 90 Days