Inspiration

HomeBound was inspired by a simple problem: most navigation apps are built for everyday convenience, not emergency preparedness. During a disaster, people do not just need the fastest route, they need to understand where danger is, how close it is, and how to get out before conditions worsen. We wanted to build something that helps users make faster and safer decisions when live hazard alerts appear, while also giving them an AI chatbot that explains nearby hazards and evacuation context in simple, easy-to-understand language.

What It Does

HomeBound is a disaster-aware navigation tool that shows live hazard zones on a map and helps users leave the affected area. It combines live wildfire and earthquake data, interactive hazard overlays, route generation, traffic layers, and an AI assistant that explains what the hazard means in simple language. In demo mode, it can also simulate emergency scenarios for testing and presentation.

How We Built It

We built the frontend with React, TypeScript, and Mapbox GL JS to create an interactive map experience. The backend was built with FastAPI and Python, which handled routing, hazard processing, API integration, and chatbot endpoints.

We connected the project to:

  • NASA FIRMS for live wildfire data
  • USGS for live earthquake data
  • Mapbox Directions API for road-following route generation
  • Mapbox Traffic API for traffic overlay
  • Gemini API for the chatbot assistant

The routing logic focused on finding the shortest road-based path that gets a user outside a hazard zone. In simple terms, the app tries to find an exit point just beyond the danger area and then asks Mapbox for the shortest route to that point. The most important scenario that we take into account is, firstly, if users are within a hazard zone, they can evacuate to the nearest exit point using the shortest path with turn-by-turn navigation that corresponds to their modes of transportation. When they are outside of the hazard radius, they can decide if they would want to move to the top 3 nearby safest shelters filtered by labels and risk score. The top 3 nearby shelters here are calculated from the exit point right after the user has evacuated from a hazard zone. This is mainly to prioritize the safety of the users. Secondly, if they are already outside of a hazard zone, they can freely view the top 3 nearby shelters right away.

Challenges We Faced

One of the biggest challenges was balancing realism with reliability. Live data is useful, but it is unpredictable, so we had to support both live mode and demo scenarios. The demo scenario is used by us to test our routing algorithm and correctness, and whether the code will work or not. The live mode contains live data and will be used by the user. Besides that, a lot of our challenges also come from debugging the interaction and integration between front end and back end

Integrating multiple APIs was another challenge because each source returned data in a different format, so we had to normalize them into one shared hazard model. We also ran into UI and usability issues, like keeping the map readable, making overlays clear, and helping users understand what the route and hazard zones meant during stressful situations.

Accomplishment That We Are Proud of

We accomplished the main goal of the project: to help people find the fastest evacuation route during a disaster. We are proud of the way we integrated Mapbox API and a complex shortest path algorithm to be able to determine the shortest path to exit the danger zone.

We are also extremely proud of our frontend design, integrating Mapbox API with a beautiful frontend to create a user interface that is both appealing to look at and intuitive to use. We hope that one day our product can be used to help many people around the world and bring them home. That is also why we decided to deploy this project on Vercel to see how this app would be expanded with more future integrations from a working MVP.

What We Learned

We learned a lot about combining real-time data, mapping, and backend routing into one product. We also learned that emergency tools need to prioritize clarity, not just technical correctness. A route, a circle, or an alert is not enough on its own; users need context. That is why adding the AI assistant and improving the map experience became an important part of the project.

We also learned that building for emergencies means thinking beyond normal app design. Speed, clarity, mobile readiness, and low-data performance all matter much more when the user may be under pressure.

What's Next for HomeBound

We want to expand HomeBound by supporting more disaster types, improving mobile support, reducing load times for low-bandwidth environments, and eventually allowing verified user-suggested shelters and even future integration with government bodies and NGOs. In the future, we also want to explore how this kind of evacuation routing could be adapted for more complex emergency and conflict-zone scenarios.

Built With

  • cursor
  • fast
  • fastapi
  • gemini-api
  • git
  • github
  • mapbox
  • mapbox-directions-api
  • mapbox-gl-js-**backend:**-python
  • mapbox-traffic-api
  • nasa-firms-api
  • python
  • react
  • typescript
  • usgs-earthquake-api
  • uvicorn
  • uvicorn-**apis-and-data-sources:**-nasa-firms-api
  • vite
  • vs-code
Share this project:

Updates