Inspiration

We were inspired by the current troubles of the people of Ukraine and the severity of the current situation around the Russia-Ukraine conflict, so we wanted to try to use technology to help however we could.

What it does

This app utilizes a pre-trained named entity recognition (NER) model and web scraping APIs to track the high-risk locations mentioned in the news, and then connect them through a backend to our website to display the data and potential dangers to users.

How we built it

We created a python backend using Flask and a next.js frontend using various javascript libraries such as chakra-ui. Using an NLP model from spacy, we analyzed the text of various URLs, performing named object recognition and word2vec + bag of words to process the location and risk factor of each area, respectively. Finally, we sent this data to the frontend, where it is displayed on the map.

Challenges we ran into

There was a little difficulty connecting the python backend with the NER pipeline, but this was resolved with meticulous debugging. We had much trouble with communicating between the backend and frontend as it was our first time connecting a flask backend with a next.js frontend

Accomplishments that we're proud of

One of our first times using Next, chakra, and other various frontend frameworks. Creating a nlp pipeline that does what we were looking for successfully.

What we learned

We became especially informed on the details of creating an NER pipeline, and using sentiment analysis on the results to determine the risk amount.

What's next for ThreatMap

Export to a mobile app and broaden the scope of applicability to other areas such as the Middle East.

Built With

Share this project:

Updates