We were inspired by sentiment analysis, and wanted to figure out how it could be made most beneficial to the everyday user. Out of this came VibeCheck, where we sought to create a text or tweet analyzer, in which you can input a message you're about to send or post and determine how it may come off to those reading it. Additionally to being able to analyze an inputted message, we also sought to allow you to compare the "vibes" of that message to that of your favorite twitter user. Therefore, we also inputted technology to allow you to input their twitter handle and analyze a number of tweets from that user.

What it does

It is a program based in python that does sentiment analysis on user text and also plots the analysis on a graph so you can see a visual representation of the data. The user can enter their own text that they want to analyze or they are allowed to pull tweets from twitter by providing the username for the account they want to pull tweets from.

How we built it

The frontend is made using the flask framework in python. The backend uses the TextBlob Library for sentiment analysis, the Tweepy Library for calling the Twitter API and pulling tweets, and the MatPlotLib for plotting the analyzed data.

Challenges we ran into

We ran into several challenges with using Flask since we weren't very familiar with using python with a user interface. One challenge we ran into was incorporating the pictures of our logo and the graphs into our user interface since Flask accesses the files differently than would in typical javascript and html.

Additionally, we ran into several problems with merging and combining our files since we are all newer to github and would unintentionally undo changes one another made. We also ran into problems with downloading packages via the command line because we all had different devices that needed different commands and were not very familiar with the command line.

Also, being unfamiliar with the matplotlib package, we had trouble correctly calling the function where it is able to set both x and y axises for the graph we generate. The range for the axis only goes from 0 to 1 and we were trying to input -1 to 1 as our range since one of the variables we measure falls under that range.

Lastly, we ran into several problems with running our code on all of our devices. While we had initially thought that it was an issue with dependencies or different models of laptop, we learned that it was an issue with versions of packages in which the code was working on the older version of the package but not the newer.

Accomplishments that we're proud of

We are proud of the implementation of our TwitterBot and how we were able to merge the functionality of analyzing our own messages with that of analyzing others. We are also very proud of the creation of the graphs since we ran into numerous challenges in doing so.

What we learned

One of the biggest things we learned is how to do research. We all weren’t familiar with python and Flask and many of the packages we used were almost entirely new to all of us, so as a group, we had to learn from one another and research individually so we could all contribute our strengths to the project as a whole.

What's next for VibeCheck

Some additional features we wanted to add were suggesting possible changes that a user could make to their messages to change the sentiment and subjectivity levels to align more with the vibes that they would like to give off. Additionally, in terms of the Twitter component of our web app, we would like to be able to further analyze tweets, not just by user, but by topic and see how the vibes of the world are affected by certain trending events.

Built With

Share this project: