Inspiration

In January 2025 the Eaton fire burned within a few miles of Glendale, and two neighborhoods got evacuation warnings. If you wanted to know how dangerous your street was, you clicked six pages deep on the city website to find a hazard map that hadn't been updated in years. When we talked to Glendale Fire, we heard the same thing: the data exists, but it doesn't reach the people who need it. Glendale is also one of the most multilingual cities in LA County, and most wildfire guidance is only in English.

What it does

Firepoint is a mobile web app for wildfire readiness in Glendale.

  • Map to shelter: a full-screen map that routes you from your location (or Glendale City Hall, if you don't share it) to the nearest shelter.
  • Escape route on tap: mark a fire on the map and tap Escape. Firepoint picks a destination away from it and rejects any route that passes within 500 m of a marked fire.
  • Wildfire guide: LA County Fire's Ready! Set! Go! plan, adapted for Glendale, in English, Spanish and Eastern Armenian.
  • Works offline: after one visit, the guide and straight-line compass directions open with no connection.
  • Points to the source: Firepoint is not an alert system. Every page links to Glendale Fire's Know Your Zone and Glendale Alerts.

How we built it

  • Next.js and TypeScript, deployed on Vercel, with a service worker for offline use.
  • Mapbox GL JS for the map, Directions (traffic-aware driving) for routes, and Geocoding for address search.
  • Pure routing logic we wrote ourselves: haversine distance, bearings, and hazard-buffer checks. Shelters within 1 km of a hazard are skipped, and routes that come within 500 m of one are rejected.
  • Server-side adapters for NWS alerts, CAL FIRE incidents, NIFC perimeters, AirNow air quality and Glendale GIS hazard maps, each validated with Zod.
  • Lint, typecheck, tests and build run in GitHub Actions on every PR.

Challenges we ran into

  • Getting the data out. The official evacuation map is locked, city pages block scrapers, and access to a feed doesn't mean we have the right to republish it. We built the source adapters, then paused them in production until rights, caching and rate limits are reviewed.
  • Not overpromising. Emergency apps can hurt people by sounding more certain than they are. We removed a simulated fire from the default view, never call a route "safe," and treat an empty or failed feed as "unavailable," not "all clear."
  • Location on real phones. Browsers only allow geolocation over HTTPS and only reliably prompt on a tap, so we built fallbacks for denied, slow and inaccurate location.

Accomplishments that we're proud of

  • A full wildfire guide in Eastern Armenian and Spanish, not just English.
  • Offline access that still gives useful guidance with no signal.
  • Clear labels everywhere that tell residents what Firepoint is and isn't.

What we learned

The hard part of emergency tech isn't the map or the code. It's source trust: who issued the data, when, for which area, and whether you're allowed to show it. We also learned to design every "no data" and "offline" state as carefully as the happy path.

What's next for Firepoint

We're asking Glendale Fire for a pilot in one neighborhood this fire season, tentatively Glenoaks Canyon. With their help we want to:

  • replace our unverified shelter list with verified locations and status,
  • show each resident their official evacuation zone, and
  • turn on the weather, fire and air-quality feeds once the source rights are cleared.
Share this project:

Updates

Submission history