Inspiration
This project was inspired by the need for efficient and effective response during times of crisis. The use of social media and other real-time data sources can provide valuable insights into the situation on the ground, enabling decision-makers to take prompt and appropriate actions to mitigate the impact of disasters.
What it does
The backend scraps the real-time data from twitter and streams it to the front end. The front end shows a map highlighting the affected areas
How we built it
Tech stack : Python - Flask : Backend Front end - React Scrapping the tweets We used the Twint API in python to scrap tweets based on keywords. These tweets are scrapped every minute getting the most recent and relevant tweets. Order of actions:
- Front end polls back end for the latest response 2.Back end uses the TWINT api and gets a list of tweets 3.These tweets are analysed and classified to see if they are actually announcing a disaster(Using a Gradient decent Booster) as our ML model and hence filtered
- The filtered tweets are mined for location data and Geopy gets the coordinates based on locations
- Above details are sent in a json format to the front end
- Front end renders
Challenges we ran into
- Developer expertise with python and react js was a major issue could not connect react to the back end effectively
- Mining location from the tweets after classifying the data required a separate model
- A single request to the back end was still very heavy and this could cause scalability issues
Accomplishments that we're proud of
- We could develop a front end for rendering maps with messages based on location coordinates
- Could come up with an implementation to analyse tweets using gradient decent booster ## What we learned
- Learned how to code in Flask- Python
- Learned React JS
What's next for Disaster Management Dashboard
- Adding stronger ML models, using language models to analyse tweets could give us better insights.
- More efficient and scalable design for real time streaming using kafka
Log in or sign up for Devpost to join the conversation.