Inspiration
When our team first came together in the days preceding HackHarvard, we agreed that if nothing else, our project would focus on helping society. Hannah told us about the nerve-wracking experience of watching from afar as her loved ones in Tampa prepared for and dealt with hurricanes Helene and Milton. It takes a significant amount of time, effort, and money to plan for the storm’s devastation. We were inspired to consolidate verified and reliable information about the steps needed before, during, and after an impending hurricane to minimize damage and cost, and be able to find resources, shelters and evacuation routes anytime.
What it does
Once we decided on the issue to tackle, we spent a couple of hours planning the implementation to best serve our audience—people planning for and affected by hurricanes. We decided to design and build an app available on both Android and iOS devices to enhance accessibility.
The app features:
- A homepage with general hurricane preparation guides.
- A map interface using user latitude and longitude, displaying:
- Flood, tropical storm, and hurricane affected areas nearby.
- Toggles for nearby clinics, shelters, FEMA disaster relief centers, and supply drops.
How we built it
We divided our team into roles:
- Backend Development: Led by Anmol and Hannah.
- Frontend Development: Led by Deep
- Fullstack Support: Naunidha
The frontend team developed in ReactNative for cross-platform compatibility (iOS and Android). The backend team implemented services with Python, Flask, and cloud hosting using Defang and a backup Linode server for optimal performance. We containerized the backend using Docker to ensure a stable, continuous and high-quality experience that would scale without issue.
Challenges we ran into
Some challenges we encountered include:
- API access and costs:
- We initially wanted to include power outage data on a county level. However, the only service compiling this data, poweroutages.us, charges over $500 per month for API access, making it infeasible for us to include.
- API integration: Each API provided data in unique ways, requiring us to develop different methods to fetch and integrate endpoints.
- ReactNative difficulties: Working with ReactNative introduced challenges related to syntax and the nuances of deploying mobile apps.
- Backend hosting: With limited networking capabilities, we didn't want this to be a client-side app. So, we utilized Defang to host our backend with Docker containers.
Accomplishments that we're proud of
We are incredibly proud of the project we built. Though our primary focus for now, was to provide immediate assistance in hurricanes, the name "Crisis Companion" stands for our goals to extend the product’s capabilities to support responses for other natural disasters. We aim to unify disparate datasets to serve under-duress people and communities more effectively.
What we learned
Our team learned:
- The importance of early planning to align all project elements.
- How to navigate the complexities of ReactNative development.
- Strategies for API management and balancing accessibility with cost limitations.
- The value of cloud-based solutions to overcome device hosting restrictions.
What's next for Crisis Companion
Moving forward, we aim to:
- Expand the app to assist with more types of natural disasters beyond hurricanes and floods.
- Integrate more real-time data feeds from live news sources.
- Explore partnerships with services like poweroutages.us or similar organizations to enhance the information available to users.
- Provide offline solutions (Bluetooth net like AirTags, Local caches, etc.).
Log in or sign up for Devpost to join the conversation.