Inspiration
Often times in twitch, it is very difficult to know what your chat room thinks of your stream since you are busy gaming or providing content to your viewers. We saw a need for a simpler metric to measure the mood of a chat room and so the Chat Snitcher was born.
What it does
Chat Snitcher provides real time information for streamers and viewers as to what the streams chat rooms average mood or sentiment is. Each comments mood is calculated using the vaderSentiment library based on research done by Hutto, C.J. & Gilbert, E.E. (2014). titled: VADER: A Parsimonious Rule-based Model for Sentiment Analysis of Social Media Text. The average sentiment is then calculated for each comment in the chat and displayed as either neutral, happy, very happy, sad or very sad. Each emotion is accompanied by a gif to represent this emotion.
How I built it
Chat Snitcher has a python/django backend hosted on elastic beanstalk that collects text from the chat and then finds its mood it based on the sentiment analysis engine mentioned above. The result is sent to a nodeJS backend where it is cleansed and sent to the extension itself. The extension then displays the mood to the user by calling the result of scoring the mood of each comment every 30 seconds. ** DISCLAIMER as per the twitch terms of service, none of the comments are stored in the system and are deleted as soon as they are scored. **
Challenges I ran into
It was very difficult to set up a celery worker to run with django while collecting and scoring the chat from a twitch channel. Finding the appropriate way to display useful mood information to the streamers and viewers is also difficult.
Accomplishments that I'm proud of
We were able to collect and score twitch chat comments in real time which is crucial data when it comes to allowing streamers to tailor the experiences they offer to their viewers. We also provide emojis that make it useful to understand the mood of that chat room.
What I learned
i had never used Javascript before so I learned how to use nodeJs as well as how to set up asynchronous web apps in amazon AWS.
How we will turn this into a business
Twitch chat snitcher will grow to provide crucial data for streamers as to what their audiences love to see as well as what moments rile them up and what moments their audiences love. This data will be very useful when streamers can compare the mood of their chat rooms with the amount of donations they get per session.
Built With
- elastic-beanstalk
- javascript
- node.js
- postgresql
- python-django
Log in or sign up for Devpost to join the conversation.