My Friend Complained About Potholes So I Built Him an App
Brian Stever
2025 · Expo, React Native, TypeScript, AsyncStorage, React Native Maps
Abstract. Hole Patrol began with a recurring complaint about the condition of Halifax roads and turned into a mobile prototype for reporting potholes, rating their severity, mapping them publicly, and packaging the report for Halifax 311. The project is less “civic startup” and more “field tool that got out of hand.” The prototype combines fast reporting, photo evidence, map-based browsing, local-first storage, and a sketched path to Supabase if the city ever decides crater management deserves real infrastructure.
1.Origin
The project started because my friend Pat complained, at length, with photos, and with the conviction of someone whose suspension had recently suffered, that Halifax roads were terrible. This was not a controversial claim. What made it actionable was his suggestion that there should be an app for reporting potholes and seeing them on a map instead of burying the problem inside a municipal inbox.
I liked the idea partly because it was useful and partly because it gave me an excuse to work with maps, image uploads, and mobile location services. Civic technology is often framed as noble. In this case it was also technically convenient, which is a more honest description of how many side projects begin.
2.System Design
The first version of the app was deliberately direct: capture location, take a photo, assign a severity score, submit the report, and render it on a map. There is a quick-report path for speed, a more detailed report flow for people who feel editorially committed to road damage, and a map view for browsing what has already been logged.
The more interesting addition was community validation. Instead of treating the initial reporter's severity score as authoritative, the app could present existing pothole photos to other users and ask them to agree or disagree with the rating. That created a low-friction feedback loop somewhere between moderation and a civic version of Tinder, which remains an absurd sentence and an accurate product description.
3.What the Prototype Actually Shipped
I have a tendency to tell this story like I built municipal infrastructure. I did not. What I built was a strong prototype with the right seams: onboarding, quick reporting, detailed reporting, map browsing, photo capture, and email-oriented submission to Halifax 311. That is a good amount of product for something inspired by Pat complaining about his car.
Table 1. Product modules.
| Module | What it does |
|---|---|
| Quick report | Grab GPS, severity, and a short description with minimal friction |
| Detailed report | Attach photos, location context, and more descriptive evidence |
| Map view | Visualize reported potholes across Halifax with severity cues |
| Admin dashboard | Provide a cleaner operational view for triage and follow-up |
| 311 handoff | Package the report for direct email-based submission instead of burying it in notes |
The other useful correction is architectural. The current prototype stores data locally with AsyncStorage rather than pretending there is already a robust city-scale backend humming away in the background. Supabase is the natural next step for multi-user synchronization and real-time updates, but the prototype doesn't pretend to be there yet.
4.Constraints
The obvious unsolved problem was moderation. If you let strangers upload images, some percentage of them will upload things that are not potholes. Solving that well would require policies, review workflows, and probably machine assistance. Since the app was never meant for full public deployment, I was fortunate enough to stop just before the part where the internet discovers your upload button.
There was also a pleasant tension between usefulness and absurdity. A pothole-reporting app sounds comical until you spend an afternoon driving around the city photographing crater-sized defects and realize the data is actually valuable. At that point the joke becomes field research, and your phone camera becomes a civic instrument.
The production checklist is, frankly, the whole business model in miniature: proper 311 routing, real synchronization, notifications, crash reporting, analytics. In other words, all the unglamorous systems required to turn “fun prototype” into “software other people can depend on.” This is where many civic-tech ideas go to discover they have accidentally invented operations.
5.Reflection
Pat and I eventually used the app as a real collection tool while driving around Halifax and documenting potholes before sending a detailed report to the city. That afternoon matters to me more than whether the product ever launched. The prototype produced a real artifact about a real local problem, and Pat got to feel like his original complaint had been taken seriously by at least one person with a React Native dev environment.
Hole Patrol reminded me that civic-tech projects do not need to become companies to be worthwhile. Sometimes it is enough to build a better interface for noticing something everyone already knows is broken. Sometimes it is enough to give a complaint coordinates, photos, and a cleaner subject line.