By Jason Ly, My Nguyen, Henry Trinh, William Koh
Inspiration
In a time where natural disasters are occurring more often and becoming more prevalent and severe because of climate change, accurate real-time local updates are still scarce. So as a solution to that problem, we came up with DisasterWatch.
Inspired by something more local, the California wildfire incident showcased the need for accurate real-time updates for locals in the area. Alerts are made for locals, by locals, ensuring fast and accurate information. Alerts can be something as simple as a hiking trail blocked off by a fallen tree, or something as big as a wildfire blocking off access to entire sections of a neighborhood.
We wish this weren’t the case, but as climate change becomes more prevalent and as it affects more of our lives, DisasterWatch is a solution to fast and accurate information. The best part is that alerts will be made most likely by your neighbors, so by people who care.
What it does
The map that shows natural disaster incidents in a two-mile (or more, you can set this) radius from your location. You can also search by location. Users have the ability to upload photos of a natural disaster and put a pin/location on the map. Other users will be alerted if they are close enough to the reported incident. To filter out false reports, we wanted to use OpenAI’s image analyzing abilities along with a wildfire API that can detect wildfires in an image.
To help reduce misinformation and spam, we integrated OpenAI's model into DisasterWatch. Whenever a user uploads an image and submits a description, our backend sends both to GPT-4. The model is prompted to verify whether the image matches the description and actually depicts a disaster. If the model detects a mismatch — for example, if someone tries to submit a meme or a non-disaster-related photo — the post is automatically blocked before it reaches the database. This ensures that only real, relevant reports are posted.
How we built it
Architecture: React, tailwind, express, supabase, gmaps api, openai api, typescript, GitHub
Challenges we ran into
The time crunch was definitely the worst part of it. But starting off, we were planning on doing another idea but we had to pivot due to it not being a feasible one.
Challenges related to the project were definitely balancing other commitments and communication. One of our team members isn’t a mudder, another was at a conference in LA the entire time, and the other two were just there just hoping to learn something from it. We also worked on it from 4 different locations so that was a little hard. However, we all came together and managed to make it work.
What we learned
All of us started off knowing different things and different skill sets. Some of us learned how to set up a backend, set up our own API, and to work from Supabase. We also learned more about typical project structure architecture we used.
What's next for DisasterWatch
If we had more time, we would finish our search and radius filter and combine the image check function with the file upload, automatically checking if the post is not a troll before it gets added to our DB.
In the future, we would prefer to explore neural networks to classify natural disasters for spam prevention and greater accuracy. If we had more time, we would finish our search and radius filter and combine the image check function with the file upload, automatically checking if the post is not spam before it gets added to our DB.
Built With
- express.js
- gmaps
- openai
- react
- tailwind
- typescript
Log in or sign up for Devpost to join the conversation.