## Tweet-Mood

We're Tweet-Mood, a web based, geolocated sentiment analysis application using live tweets posted in the US.
Our goal was to create a more powerful tool for understanding how various socioeconomic and other demographic factors play into the overall sentiments expressed in a community. Our application is built on a python flask server hosted on an AWS ec2 instance. Data is streamed through a redis backed ElastiCache to a naive Bayes classification model. Frontend data visualization is done in LeaftletJS and Mapbox.

[tweetmood.me](http://happinessmap-dev.us-west-2.elasticbeanstalk.com)
# BananaExpress

A self-writing journal of your life, with superpowers!

We make journaling easier and more engaging than ever before by leveraging **home-grown, cutting edge, CNN + LSTM** models to do **novel text generation** to prompt our users to practice active reflection by journaling!

Features:

* User photo --> unique question about that photo based on 3 creative techniques
	+ Real time question generation based on (real-time) user journaling (and the rest of their writing)!
	+ Ad-lib style questions - we extract location and analyze the user's activity to generate a fun question!
	+ Question-corpus matching - we search for good questions about the user's current topics
* NLP on previous journal entries for sentiment analysis

I love our front end - we've re-imagined how easy and futuristic journaling can be :)

And, honestly, SO much more! Please come see!

♥️ from the Lotus team,
Theint, Henry, Jason, Kastan
## Inspiration

**Social media can tell you what's trending and popular - but rarely will you know how people feel about the trend.** Twitter is how millions get their news and updates on the world. Often when a name or hashtag is trending there is a positive association: a new album or exciting news. But the loudest voices drown out others and your feed becomes biased. Manually reading thousands of Tweets or comments to fully understand both sides is impossible, so we sought to visualize the emotions behind Tweets on a large scale.

## What it does

ChirpCharts makes use of the Twitter Search API to read in massive amounts of data based on a user's hashtag query. These Tweets are then parsed and sent through the Google Sentiment Analysis API where they are given a rating based on the individual words inside the Tweet: Negative, Neutral, or Positive. These ratings are then graphically organized using D3.js and in seconds users obtain a visualization of any hashtag they decide to query.

## How we built it

On the Back-End, our web app is built on the Express Framework wth Node,js and hosted on Heroku. The Twitter Search API and Google Sentiment Analysis API are the tools we use to extract the data and assign values to it. For our Front-End we make use of an ample amount of Javascript, jQuery, and Ajax. In addition we use Handlebars for our website layout and D3.js for our data visualization.

## Challenges we ran into

Getting APIs to work together was our largest obstacle. The Twitter API and Google Sentiment Analysis are not built to communicate with each other and it took a lot of effort to parse the data from Twitter into a format that Google was compatible with. Problems like this often make or break a team, but we managed to overcome the crisis.

## Accomplishments that we're proud of

We had no experience with the APIs that are the workhorses of our web app. This meant we spent much of our time reading and understanding the documentation as well as usage of these new technologies. This was a major source of stress because our back-end was out of our comfort zones. Once we had that up and running things were much smoother.

## What we learned

ChirpCharts was a challenging undertaking for our group and we are very pleased with the results. The back-end for this web app was the most complicated our team has dealt with and it was a test for us and our sanity. We reinforced our confidence in our front-end interface skills as well as our ability to work under pressure with new technologies. The new skills and experience gained are invaluable. Moreover, we are glad that we could face the challenges and overcome adversity. We believe that these lessons will be made use of in the future.

## What's next for ChirpCharts

As we work out the remaining bugs and complete the polishing process, there is still so much we could do. Allowing users to login and save searches is next on our list of To-Do's and increasing the amount of data that is pulled from Twitter could increase the accuracy of our results. We feel we have done our best in the time and conditions given and hope you keep up with ChirpCharts!!