Skip to content

v1.4 - records the whole drive, and never claims what it did not measure

Choose a tag to compare

@coding-parrot coding-parrot released this 19 Aug 02:54
· 1 commit to main since this release

Install this over your existing app. Do not uninstall first, or the reports and photos on your phone go with it.

Drive Mode records the whole drive

Capture no longer depends on picking the right interval. A drive now records continuously in clips written straight to storage, while the live pass still drafts complaints as you go. Afterwards, analyse the footage to pull frames back out at whatever spacing you want and run them through the same pipeline, geotagged from a GPS track recorded alongside. A drive offers this as soon as it ends.

ImageCapture.takePhoto() is gone. It reconfigured the camera on every shot, which stutters the preview once a recorder shares the camera, and it bought nothing: frames now come off the live preview at its full 1920 width, the size the model is sent anyway.

What is kept: confirmed potholes as photos, always. Frames the AI rejected are never stored, because the footage already holds every frame. The video is deleted once analysed, unless Debug mode is on, which keeps it.

Seeing your work

Past drives collapse to one row showing the date, potholes found and frames actually checked; tap to expand, and confirmed potholes sort above the frames that were dismissed. Tap any photo for a full-screen viewer with pinch zoom, and step between records with arrows instead of going back to the list. A new contribution dashboard totals potholes, complaints sent, frames checked, kilometres covered and footage held, breaks the finds down by size and by corporation, and pins every located pothole on a map.

Building an evaluation set

Review and label frames on the phone, then export them as a zip through the share sheet. Optionally save every analysed frame with the model's verdict into Documents/pothole-frames for building a benchmark.

Hardening

An adversarial review aimed at demonstrating this live raised 43 issues; 19 survived scrutiny. The important ones:

  • Footage analysis used to swallow every network error, announce "0 potholes" and then delete the video. It now counts failures, keeps the video whenever anything failed, and refuses to state a result it did not measure.
  • A drive died after five failed frames, roughly four seconds under a flyover. Only a key or quota problem ends a drive now; a dropped signal keeps scanning and says so.
  • No request had a timeout, so a connected-but-dead network stranded the app forever. Everything now aborts with a plain-language message, and raw provider errors are never shown.
  • The complaint said a contract was "awarded on" a date that is actually the tender's publication date, and records with no winning bidder rendered a placeholder that read as a person's name in Kannada. Both corrected, with the claim explicitly marked as a record match to verify.
  • An incoming call could freeze the preview while the app kept analysing the same stale frame.
  • A pothole with no GPS fix was told it was outside Bengaluru, rather than that the location is unknown.

Thanks to @deepanshu-iitm for the first outside contribution, fixing the Drive Mode holding counters.