Inspiration

We live in a busy chaotic world, and sometimes in the mess of it all, we forget to touch base with our feelings. We understand that our world is filled with constant sensory bombardment, and so we wanted to develop a tool that would allow an individual to gain insight into their mood and how they may be feeling.

What it does

Our program utilizes natural language processing to scan your twitter feed and categorize each tweet into one of 13 categories: empty, relief, neutral, boredom, anger, hate, enthusiasm, fun, happiness, love, sadness, surprise, and worry. After scanning the specified number of tweets from your feed, you get two graphs detailing the breakdown of tweets in each category and the overall positive/negative sentiment.

How we built it

Our program is built on three main platforms. The natural language processing is accomplished using a neural network which was designed and trained using TensorFlow. Our Tweet scraping portion of the program was built using the Twitter developer API. Finally, the graphical user interface was developed using PyQt.

Challenges we ran into

Our two biggest challenges were related to the GUI and Twitter scraper. Our original plan for the interface involved a website but after domain and database issues, we went through a series of libraries until we settled on PyQt. In terms of the scraper, the authentication protocols for Twitter gave us a run for our money. In an effort to protect user privacy and to follow the developer guidelines, we wanted to make sure we had each user properly authenticate their account before accessing their data.

Accomplishments that we're proud of

Our biggest accomplishment for this hackathon was our ability to fully complete the program we set out to design. In 24 hours we fully designed and trained a neural network, learned the twitter developer API, and wrote a program in a language most of us were unfamiliar with.

What we learned

We learned a few things while developing this program. First, we learned how to integrate the Twitter API into a program with full authentication checks. Secondly, we learned how to design a graphical user interface using PyQt. Most importantly though, we learned that every 20 minutes you're gonna run into another problem, but if you have the work ethic and determination, nothing can stop you from completing the tasks you set out to do. This ended up being a bigger project than we anticipated, but after a full night's work from everyone in the team we were able to accomplish our goals.

What's next for #TweetYourHeartOut

In terms of our program, we hope to further develop in two areas. First, by expanding the neural network with more accurate training data spread across more categories, we should be able to give the user more accurate feedback into their mood. Secondly, we hope to expand the integration into other forms of social media in the hopes of reaching a wider audience and providing a user with a more in-depth analysis across multiple platforms.

Built With

Share this project:

Updates