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.

Halifax Hole Patrol
5
3
2
Map
Community
Guide
Figure 1. Conceptual mobile interface showing map-based discovery, severity-coded reports, and a quick-entry report action.

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.

ModuleWhat it does
Quick reportGrab GPS, severity, and a short description with minimal friction
Detailed reportAttach photos, location context, and more descriptive evidence
Map viewVisualize reported potholes across Halifax with severity cues
Admin dashboardProvide a cleaner operational view for triage and follow-up
311 handoffPackage 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.