When Seconds Count: Building a Crowdsourced Fire Hydrant Snow Tracker
The Problem No One Talks About
When your house is on fire, every second counts. Fire crews arrive, connect hoses, and begin fighting the blaze.
Your average fire engine carries a limited water supply, typically 500-750 gallons. At full flow, that's roughly 3-4 minutes of water. When that tank runs dry, firefighters should have already located and dug out a hydrant before they can continue. But what happens when the nearest hydrant is buried under two feet of icy snow? Those minutes can mean the difference between a saved home and a total loss, or worse, between life and death.
Most municipalities have ordinances requiring property owners to clear nearby hydrants after snowstorms. But enforcement is nearly impossible, and many residents don't even know where their nearest hydrant is located, let alone whether it's been cleared.
On Thursday, January 29th, a few days after a historic snowstorm that hit Southern New Jersey, my local fire department posted to social media, asking for the communities help in checking and clearing snow. Until then, there was no centralized method for tracking hydrant status or getting updates as folks shovel themselves out of the snow.
As a resident of Barrington, I wanted to change that.
The Idea: Crowdsourced Hydrant Status
The concept was simple: create a mobile-friendly web app where community members could:
- See all fire hydrants in their area on a map
- Report whether a hydrant is clear or buried in snow
- View real-time status updates from other users
- Bonus: Local elected leaders have a lightbulb moment and realize they now have laser-guided precision towards the hydrants posing the highest risk
Think of it as "Waze for fire hydrants"
The Technical Journey
Starting With Data
The first challenge was obtaining hydrant location data. Municipal/county/state GIS systems and public maps often have this information, but it's rarely in a format ready for web applications. I worked with exported data that included latitude, longitude, and reference IDs for hydrants across multiple municipalities.
The raw data presented immediate challenges:
- Inconsistent formatting across different municipal sources
- Missing address information for most hydrants
- Coordinate precision issues that would later cause headaches
Reverse Geocoding 2,000+ Locations
Having coordinates without addresses creates a poor user experience. "Hydrant at 39.8808, -75.0612" means nothing to someone trying to help their community. I needed street addresses.
Using the Google Maps Geocoding API, I reverse-geocoded nearly 2,000 hydrant locations. This process revealed interesting quirks:
- Some hydrants geocoded to neighboring municipalities (mailing addresses don't always match municipal boundaries)
- A few locations returned business names instead of street addresses
- The process took considerable time and API calls, but the result was worth it: every hydrant now shows a human-readable address like "715 Station Ave" instead of raw coordinates
Building the Interface
The application needed to work seamlessly on mobile devices—people would be using this while walking their dogs or shoveling their driveways after a storm.
Key features:
- Location-aware: The app detects your location and shows nearby hydrants first
- Color-coded markers: Green for clear, red for needs shoveling, gray for unknown status
- One-tap reporting: Updating a hydrant's status takes just two taps
- Real-time sync: When someone marks a hydrant as clear, everyone sees it instantly

I chose a serverless architecture with Supabase for the backend, enabling real-time subscriptions without managing infrastructure. The frontend is vanilla JavaScript with Leaflet for mapping—no heavy frameworks needed for this focused use case.
Obstacles Along the Way
The Duplicate Data Problem
Midway through development, I discovered that hydrant data from different sources had subtle coordinate differences. The same physical hydrant might appear twice with coordinates just a few feet apart. This wasn't immediately obvious when looking at the data—the duplicates only became apparent when mapped.
The solution required careful analysis of the source data, identifying which sources were authoritative, and rebuilding the dataset from scratch with proper deduplication.
Municipal Boundaries vs. Mailing Addresses
Reverse geocoding revealed that municipal boundaries and mailing addresses don't always align. A hydrant might be maintained by one fire department but have a mailing address in a neighboring town. This required building a mapping layer to correctly assign hydrants to the municipalities responsible for them, regardless of what the postal service thinks.
The Human Element
Great, it's live. But what now? The next step was to share on social media. Suddenly, public safety met spam filters and sharing the link for people to access was the biggest barrier. After reaching out to the relevant moderators (or figuring out a way to post the link), the word was out and people started to update the status of hydrants in the area.
The Outcome
Since the Hydrant Snow Tracker went live, here are the results:
- Within 24 hours of sharing on social media, over half of all hydrants in two municipalities were checked in!
- [I will update again once the snow melts and no more activity occurs]
Suddenly, the local fire department and public works had:
- A real-time map of all fire hydrants in participating municipalities
- Instant visibility into which hydrants need attention after a storm
- A simple way to contribute to community safety
The tool deliberately requires no login or account creation. The goal is maximum participation with minimum friction. Someone walking past a cleared hydrant should be able to report it in under 5 seconds.
However, this really leans on the goodwill of people in the interest of public safety. A long-term solution will need a more robust method of verifying reports.
Lessons Learned
- Data quality is everything: The most elegant application is useless if the underlying data is flawed. Invest time upfront in data validation and cleaning.
- Test at production scale: Issues that don't appear with 100 records will absolutely appear with 2,000. Always test with realistic data volumes.
- Geographic data is messy: Coordinates, addresses, and municipal boundaries each tell a different story. Understanding how they relate (and conflict) is essential.
- Simple beats sophisticated: A straightforward app that people actually use beats a feature-rich app that's too complicated to bother with.
What's Next
As of 1/30, The immediate focus is continued community adoption. Technology is only valuable if people use it. Partnering with local fire departments and community organizations to spread awareness will be key.
Future enhancements might include:
- Push notifications when nearby hydrants are reported as buried
- Integration with municipal snow emergency alerts
- Historical data to identify chronically problematic hydrants
But for now, the core mission remains: make it easy for communities to help keep fire hydrants clear, because when seconds count, a buried hydrant shouldn't be what slows down the response.
The Hydrant Snow Tracker is a community tool built to improve public safety. Status information is crowdsourced and should always be visually verified. If you're interested in bringing this tool to your municipality, reach out.
