We were inspired by looking at past projects on Devpost, learning about the Twitter API, and exploring Google Cloud's APIs.
What it does
It gives users insight into popular opinions and attitudes towards popular topics tracked by hashtags. Using sentiment analysis, we are able to grade the tweets grouped under a hashtag on their positive or negative emotion. By aggregating all of the emotion scores of the tweets belonging to a hashtag, we can show what people feel about trending topics around the world. It also shows where tweets originate to highlight what regions feel more positively or negatively towards a certain topic.
How we built it
We created a Twitter bot using Python that grabs tweets and popular hashtags from the Twitter API. This API gives us the text of tweets and any associated location data. It then groups the tweets by hashtag and feeds them to TextBlob, a Python natural language processing library, which uses sentiment analysis to grade each tweet on its positive and negative emotion. It then pushes the overall numeric scores for the hashtags and tweets as well as location data to a Firebase database. Our webapp, which we built using React JS, then pulls that data to rank the hashtags and plot them on a world map using Google Cloud's Maps and Geocode APIs.
Challenges we ran into
Accomplishments that we're proud of
We are proud that we built a functioning webapp using so many new technologies and managed to juggle all of its components.
What we learned
We learned a ton about React and natural language processing. We also learned that it is fine to pivot away from an original, inferior plan even if substantial work has been done on it.
What's next for HashMap
One planned feature was allowing users to search for and grade any hashtag on Twitter, but it would have been prohibitively expensive and difficult. We also wanted to be able to do to sentiment analysis to extract emotions other than just "positive" and "negative".