Inspiration

/giphy for Slack + Timehop for Facebook.

What it does

GIFMinute sorts a users last 3200 tweets by sentiment (using NLTK), applying a filter so it does not get too many closely-related tweets, then queues the top tweets for the user, complete with a great GIF from GIPHY.

  1. User logs in using Twitter
  2. App grabs their latest 3200 tweets (max set by Twitter)
  3. App sends the tweets to the AWS Lambda endpoint
  4. The AWS Lambda endpoint runs text sentiment analysis on each tweet, controlling for stopwords and the like.
  5. The Lambda Python script sorts the tweets by a 'delightfulness' score and sends them back to the Rails app.
  6. The Lambda Python script also sends back the keywords from each tweet to use for GIF sourcing
  7. The Rails app grabs a GIF from GIPHY
  8. The Rails app shows the top tweets to the user.

How we built it

The main app handling web requests and Twitter auth is in Ruby/Rails. The natural language processing happens in Python, via AWS Lambda.

Challenges we ran into

Accomplishments that we're proud of

Learning to use Lambda and connect a Rails app with a Python ML script/model.

What we learned

AWS Lamba requires more config than expected if you're trying to do natural language processing.

What's next for GIFMinute

  1. Reverse sentiment. Seeing your angriest tweets GIF-ified is also hilarious.
  2. Revise and launch.
  3. Create invite/referral system for rolling it out.
Share this project:

Updates