Inspiration

We’ve all seen news of floods swallowing towns, wildfires racing across hills, or earthquakes rattling cities and it can feel overwhelming. We wanted a simple, friendly tool that cuts through the noise and answers the big question: “How worried should I be right now?” Safe-Spot was born from that idea: real-time alerts + one clear risk score = peace of mind.

What it does

  • Spot hazards nearby
    Whether it’s a flood, fire, quake, or storm, Safe-Spot pulls in live feeds and maps them around you.
  • Crunches a 1–100 score
    It factors in distance, hazard type, wind or magnitude, elevation, and even time of day to give you one easy-to-understand number.
  • Tappable map markers
    Tap any marker and instantly see your personalized risk. No jargon, no charts just a raw score.
  • Finds your nearest shelter
    A handy card points to the closest safe spot and gives you one-tap directions.

How we built it

  • Expo & React Native for a smooth, cross-platform build.
  • react-native-maps to paint the world around you and drop interactive callouts.
  • Pure JS logic to normalize inputs (distance, wind, elevation, etc.) and calculate our risk score on the fly.
  • Expo Location API for pinpointing where you are and doing the math to each hazard.
  • Iterative design
    We kept testing on-device, gathering feedback, and fine-tuning until it felt intuitive.

Challenges we ran into

  • Inconsistent data feeds
    Not all alerts speak the same language. We had to build smart parsers and defaults so nothing ever breaks.
  • Performance on phones
    Rendering lots of polygons and distance calculations at once can lag. We learned to batch updates and memoize heavy operations.
  • Third-party library issues
    We tried on-device ML under Expo Go but hit roadblocks, so we pivoted to a lightweight JS function that just works.
  • Offline handling
    Cellular drops happen. We added caching so recent alerts and shelters stay available even when you lose signal.

Accomplishments we’re proud of

  • Instant risk insights
    Tap a marker and get a score in under a second.
  • Seamless shelter lookup
    From risk awareness to directions in two taps.
  • Readable, accessible UI
    Clear map layers, high-contrast text, and thoughtful design for stressful moments.
  • Solid offline support
    Your data stays usable, no Wi-Fi required once you’ve opened the app.

What we learned

  • Keep it simple
    A pure JS approach trumps complex on-device ML when your priority is reliability.
  • Expect the unexpected
    Handling edge cases (missing wind data, weird timestamps) is just as important as the main flow.
  • User feedback matters
    Early testers helped us tweak normalization so “50” actually felt like medium risk.
  • Optimize early
    Profiling performance on real devices saved us from nasty bottlenecks later.

What’s next for Safe-Spot

  • Custom risk profiles
    Let users tweak how much weight distance, elevation, or hazard type have in their score.
  • Offline map tiles
    Pre-download regions so you’re covered even in black-spot areas.
  • Community shelters
    Empower local organizations to add and update safe locations.
  • Smart alerts
    Down the road, integrate optional machine-learning models to refine scores based on historical outcomes.

Built With

Share this project:

Updates