Inspired by those point and click growth progression games where very minimal amount of interaction is required to work towards the objectives so that the idling is a significant component to the experience. Most lurkers will turn briefly to pay attention to the screen when there is a highlight moment so our extension gives them a chance to interact without having to be active in chat!
What it does
Emotem Pole detects hype moments in the stream where there is a drastic increase in the chat volume contributed by the active viewers. It then brings up a voting panel staging 4 emotes for those who are passive viewers, those idling about, to vote on an emote to be added to a emote totem pole--or emotem pole--overlayed to the side of the video as a signifier for a moment of celebration that allows the idlers to interact with the hype.
How we built it
Our backend is a Node.js instance that utilizes a Twitch Bot Account to listen for messages in desired channels. It keeps a running record of how often viewers are chatting and and flips a flag in our Firebase realtime database whenever there is a spike in activity. It also checks if the channel has custom emotes and sends those along as options for voting to the frontend which will be listening for changes in order to update the UI. Streams on different channels are kept separately as different objects on Firebase and the emotes are retrieved from TwitchEmotes API.
Challenges we ran into
We had trouble finding an effective and convenient integration between frontend and backend. Luckily Firebase eases many common stresses when trying to accomplish realtime communication between different services.
Accomplishments that we're proud of
We thought of an extension that would allow for more passive interaction while encouraging users to participate in chat as well. We worked with multiple different Twitch APIs to grab the information needed and leveraged the power of several different technologies to build the extension out. Bringing everything together was a challenge and great learning experience!
What we learned
Our backend team learned about working with Twitch bot accounts and a bunch of different Twitch APIs. They also got some more experience working with Node.js and figured out how to send information out to a Firebase realtime database. Our frontend team learned a lot about Firebase and working with ways to integrate Firebase with the twitch extension.
What's next for Emotem Pole
The future is bright! Given more time, Emotem Pole will grow and change just like your Twitch communities when using it. We hope to bring you the best extension we can in the future.