Inspiration
With all the recent hurricanes and services like downdetector, we saw a need to create a service that allowed anybody to report natural disasters and outages in their local area while also providing the tools to monitor these reports.
What it does
DisasterDaddy allows you to submit reports about natural disasters and outages in your local area and subscribe to monitoring of specific locations for spikes in certain reports. If there's ever any issue with using these services, we have implemented a chatbot that is able to answer any questions about the service.
How we built it
The backend was a REST API written in Java and Spring Boot using OpenAI's API for GPT integration and MongoDB for document storage. Figma was used as an initial planning tool for mapping out the user flow and designing individual pages. The frontend was written in Python using Streamlit as the web interface, connecting with the backend for all the business operations.
Challenges we ran into
Some major challenges we ran into involved preparing authentication, integrating the frontend with the backend, handling location data, generating incidents from report spikes, and working within the constraints of Streamlit's pre-built components.
Accomplishments that we're proud of
The fact that we managed to put so many of these features into the project is incredible, from the chatbot to the custom authentication to the complex location algorithms.
What we learned
Communication is key when distributing tasks to different teammates.
What's next for DisasterDaddy
Including Auth0 rather than a custom authorization solution would allow for a more flexible permissions system and integration with other sign-up options such as Google. Additionally, Developing custom component for the interactive map with on-click event functionality to allow users to easily view incidents from the map.
Built With
- chatgpt
- cloudflare
- java
- mongodb
- openai
- python
- springboot
- streamlit
Log in or sign up for Devpost to join the conversation.