Mobile App
2025
Civic Tech

Halifax
Hole Patrol

Rate potholes like Tinder. Submit them to Halifax 311. See them on a map. Fix our roads, one swipe at a time.

React Native
Expo
TypeScript
Supabase
React Native Maps

The Story

It Started on the Soccer Field

My friend Pat from my soccer team had been complaining about Halifax roads for months. One day he pitched the idea — what if there was an app to report potholes and actually see them on a map? Simple concept, but I was immediately interested. Not because I was passionate about road maintenance, but because I'd been looking for an excuse to play with the Google Maps API.

I'd only built a couple React Native apps before, so this felt like a good project to level up. Custom styled maps, location services, image uploads — all stuff I wanted to get better at. I reached for Supabase on the backend because it was familiar and let me move fast. The first version was pretty straightforward: report a pothole, see it on the map, done.

But after using it for a bit, I had another idea. What if people could validate each other's severity ratings? Someone reports a pothole as a 5 (car-destroying), but maybe they're being dramatic. So I added a Tinder-style swiping feature — you'd see photos of reported potholes and swipe to confirm or dispute the severity. "Yeah that's definitely a 5" or "nah, that's a 2 at best." Crowd-sourced accuracy. Fun to build.

Of course, there's an obvious problem with letting strangers upload photos to an app: what if someone submits... not a pothole? Content moderation is a nightmare. Thankfully, since I never planned to actually deploy this, I didn't have to solve that problem. One of the many benefits of building things just for fun.

To actually test it, Maddy and I spent an afternoon driving around Halifax cataloging every pothole we could find. We photographed dozens of them — some truly impressive craters — and compiled everything into a detailed report that we sent to the city. No intention of ever releasing the app, but the data was real. Our roads are bad. Now there's a record.

The Numbers

Road Damage Stats

5
Severity Levels
3
Status States
1
Tap to Report
Potholes in Halifax

The Experience

Swipe. Report. Track.

The app is designed to make reporting as frictionless as possible. One tap to use your current location, snap a photo, rate the severity, and submit. No forms, no bureaucracy.

Halifax Hole Patrol
5
3
2
Map
Community
Guide

Quick Report Flow

  • Tap the camera button — GPS locks your location
  • Snap a photo of the pothole (evidence!)
  • Rate severity 1-5 (how much damage would this do?)
  • Submit — goes to 311 and appears on the map

Status Tracking

PendingReportedFixed

Under the Hood

The Tech Stack

Frontend

  • React Native + Expo — Cross-platform mobile development
  • TypeScript — Type safety for the win
  • React Navigation — Tab + stack navigation
  • React Native Maps — Interactive map with markers

Backend

  • Supabase — Auth, database, and real-time subscriptions
  • Expo Location — GPS coordinates for reports
  • Expo Image Picker — Photo capture and selection
  • Expo Mail Composer — Direct 311 submissions
React NativeExpoTypeScriptSupabaseReact NavigationReact Native MapsExpo LocationExpo Image Picker

Features

Everything You Need to Report

Map View

Interactive map showing all reported potholes in Halifax with severity color coding.

Photo Reports

Snap a photo, add details, and submit. The app captures your exact GPS coordinates.

Severity Rating

Rate potholes 1-5 so the city knows which ones need immediate attention.

Direct to 311

Reports go straight to Halifax 311's email system. No middleman, just action.

Community Feed

See what your neighbors are reporting. Track status from reported → in progress → fixed.

Real-time Sync

Supabase backend keeps everyone's data in sync. See new reports as they happen.

The Point

Civic Tech That Actually Works

This was never about launching a startup or disrupting civic infrastructure or whatever. It was about learning. I wanted to get better at React Native. I wanted to play with custom map styling. I wanted to see if I could make a swipeable card interface feel good. Mission accomplished on all fronts.

The best part was the "field research" with Maddy. Driving around Halifax, stopping at every pothole, taking photos, arguing about severity ratings. It felt ridiculous and important at the same time. We compiled everything into a detailed report — GPS coordinates, photos, the whole thing — and actually sent it to the city.

Will they fix any of them? Honestly, probably not because of our report. But at least Pat got the app he wanted, I got to build something fun, and Maddy and I had a weird afternoon. That's a win. 🕳️

BS

Brian Stever

View ResumeMore Projects