- π‘ Inspiration
The idea for Pothole Radar didn't come from a single dramatic moment β it came from a pattern we couldn't unsee. π°π As a student, I kept coming across news articles and reports about people getting seriously injured, or even losing their lives, because of poorly maintained roads and undetected potholes. π£οΈβ οΈ What struck me most wasn't just the tragedy of each individual story β it was realizing how preventable so many of these incidents were, if only someone had reported the hazard in time and the right people had actually seen it.
That question stuck with me: if potholes are dangerous enough to make headlines again and again, why does reporting one still feel like shouting into a void? π³οΈπ’ So I decided to actually test it myself β and quickly discovered the same broken system these articles kept hinting at. Municipal reporting forms were outdated, didn't accept photo uploads π·π«, offered zero map feedback πΊοΈβ, and gave no visibility into whether a report would ever be reviewed, let alone acted on.
That gap between "this is genuinely dangerous" and "there's no real way to flag it before someone gets hurt" became the driving force behind this project. I realized this wasn't just a local annoyance β it was a systemic failure playing out across cities everywhere: π
π Citizens are blind β no tracking, no transparency, no feedback loop, even when lives are at stake. ποΈ Cities are under-equipped β buried in scattered, unstructured complaints with no way to tell which hazards are truly life-threatening.
So I set out to build something that could close that gap: a transparent, community-first command center for road safety β one that helps everyday citizens report hazards before they turn into headlines, and gives city workers the smart tools to act fast on the ones that matter most. π οΈβ¨
- ποΈ How We Built It
We engineered Pothole Radar from the ground up to be fast, responsive, and deeply data-driven. Every design decision was made with one goal in mind: remove friction for citizens and add intelligence for cities. π
π₯οΈ The Telemetry Interface Built on React 19 βοΈ and Vite β‘ for a snappy, modern front-end experience, with Leaflet πΊοΈ powering our interactive mapping system. Pothole coordinates render dynamically on the map in real time, so users can instantly see hazards in their neighborhood, zoom into their street, and understand exactly what's been reported nearby β no more guessing, no more black-box forms.
βοΈ The Backend & Storage We chose Firebase Firestore π₯ to handle real-time data synchronization β meaning the moment someone reports a pothole, it appears live on every other user's map, instantly. π‘ Firebase Auth π secures our admin dashboard, giving municipal teams a safe, permissioned space to manage, verify, and resolve reports without exposing sensitive controls to the public.
Together, this stack turns a slow, bureaucratic process into something that feels alive β a living map of a city's road health, updating in real time. ππ
- π What We Learned
π€ AI Changes Everything for Civic Tech One of our biggest "aha!" moments was realizing just how much AI-assisted verification could transform civic infrastructure reporting. By integrating the Google Gemini Vision API ποΈβ¨, we built a system where users simply snap a photo of a pothole β and the AI automatically analyzes the image to estimate hazard severity, with impressively high reliability. πΈβ‘οΈπ
This was huge. It meant municipal workers no longer had to manually sift through hundreds of blurry photos trying to judge "is this bad enough to fix first?" The AI does the heavy lifting instantly, saving hundreds of hours of manual validation work and letting city crews focus on what matters most: actually fixing roads. π£οΈπ§
π― The Prioritization Engine We knew that if we just let every report pile up in a flat list, cities would get overwhelmed fast. π΅βπ« So we built a smart Prioritization Engine β an algorithmic scoring system that automatically ranks every hazard on the map based on three key factors working together:
π₯ Severity β how dangerous is the damage? (Minor, Moderate, Severe) π Community upvotes β how many people have confirmed this is a real, urgent problem? β³ Time elapsed β how long has this report been sitting unresolved?
The engine blends these signals so that severe, highly-upvoted hazards bubble straight to the top of the queue for immediate attention π¨, while older, lower-priority tickets naturally fade down the list over time instead of clogging up the system forever. It's essentially a self-organizing to-do list for city maintenance crews β no manual triage, no spreadsheets, no guesswork. Just smart, automatic prioritization that keeps the most dangerous problems visible. β
- π§ Challenges We Faced
π§© Duplicate Telemetry Prevention Once real users started testing the app, we quickly ran into a messy problem: when multiple people report the same pothole from slightly different locations, the map gets cluttered with duplicate pins. πππ This wasn't just visually confusing β it also skewed our prioritization data.
Our fix? We built a geospatial proximity detection system that calculates the real-world distance between any two reported locations. If a new report lands suspiciously close to an existing one β close enough to obviously be the same pothole β the system automatically flags a potential conflict. Instead of creating a cluttered duplicate, the user is prompted to upvote the existing report instead. π This single feature dramatically cleaned up our map and made our data far more trustworthy for cities to act on.
π± Mobile Geolocation Fallbacks Mobile browsers are notoriously unreliable when it comes to GPS permissions. π€ Many devices silently restrict location access or fail without any clear error message β which could've completely broken our core reporting flow before users even got started.
To guarantee a frictionless experience no matter what, we built:
π Custom IP-based geolocation fallbacks for when GPS access fails or is denied π±οΈ Drag-and-drop map markers so users can manually fine-tune or correct their pin placement in seconds
The result: reporting a pothole always works, on any device, in any condition β no dead ends, no frustration. πͺ
π§ Challenges We Ran Into
Building Pothole Radar wasn't all smooth driving. π§ A few bumps we had to navigate:
Duplicate reports cluttering the map ππ β Multiple users reporting the same pothole created messy, confusing data until we built a proximity-detection system to catch and merge duplicates. Unreliable mobile GPS π±β οΈ β Browsers often blocked or silently failed location access, so we had to build IP-based fallbacks and drag-and-drop pins to keep reporting frictionless. Balancing simplicity with intelligence βοΈ β Making an AI-powered severity engine and prioritization algorithm run behind the scenes without overwhelming users with technical complexity took several rounds of UX iteration. Solo development under a deadline β³ β As a student building this mostly independently, juggling frontend, backend, and AI integration within hackathon time constraints pushed me to prioritize ruthlessly and ship a lean, working MVP. π Accomplishments That We're Proud Of β Built a fully functional, real-time reporting platform from scratch β not just a mockup β with live map updates, photo uploads, and instant feedback. π€ Successfully integrated AI-powered severity detection, turning a simple photo into an actionable data point without any manual review. π― Designed a smart prioritization engine that actually makes sense β severe, community-verified hazards rise to the top automatically. π§Ή Solved a real, messy data problem (duplicate reports) with a clean geospatial solution instead of a band-aid fix. π Most importantly: built something that could genuinely help prevent injuries and save lives, not just win a hackathon.
π What We Learned AI can be a force multiplier for civic tech β a single Vision API call replaced what would've been hours of manual human review. Real-world data is messy β handling duplicates, unreliable GPS, and inconsistent user input taught us that robust engineering matters as much as clever features. Simplicity is a feature, not a compromise β the more we simplified the reporting flow, the more "complete" the product felt, even as the backend logic grew more sophisticated. Civic problems need civic-minded design β technical elegance means nothing if citizens or city workers find the tool confusing or untrustworthy.
π What's Next for Pothole Radar ποΈ Direct municipal integrations β partnering with local city infrastructure departments so verified reports feed directly into their existing repair workflows. π Analytics dashboard for cities β heatmaps and trend reports to help municipalities plan proactive road maintenance instead of just reactive fixes. π Push notifications β alerting nearby drivers in real time about newly reported severe hazards on their route. π Expanding beyond potholes β broken streetlights, damaged signage, flooding, and other road hazards, all on the same platform. π± Native mobile app β a dedicated iOS/Android app for faster, more reliable on-the-go reporting.
Built With
- ai
- auth
- firebase
- firestore
- gemini
- leaflet.js
- react
- scrapping
- tailwind
- typescript
- vite
Log in or sign up for Devpost to join the conversation.