Twitch in essence is a website for communities; streamers and viewers return to Twitch time and time again for this sense of community. We wanted to augment the experience that viewers have by increasing the viewers engagement with the streamer and vice-versa. We came to TwitchCon with the idea of connecting a streamer's Amazon wish list to their stream donations and increasing the functionality and interactivity of the stream in that way. Soon before the competition started, we found an extension that did something very similar which sent us back to the drawing board. We also didn't think the idea improved the viewer base in an impactful way. We were spitballing ideas and Humza said something about how we could utilize a viewer's Bitmoji to make their subscription shoutout more personal and somehow we took that idea and changed it into what we ended up building.
What it does
The Twitch extension we built allows for a two way street of exposure and promotion between the viewer and streamer which will incentivize both to use the extension due to the mutualistic relationship between them. The extension works like this: a viewer of a channel can share the streamer's channel on their various social media platforms to help the streamer get exposure. After a predetermined amount of shares, the viewer will be able to plug themselves on the streamers stream to their entire audience. Once they reach this threshold, they can choose to promote their Snapchat, twitter, facebook, or even their own stream. This benefits both the viewer and streamer and helps both of them grow together.
How we built it
FairShare was built using React.js for the front end and python for the backend. Server-side, we used Firebase for database storage.
Challenges we ran into
One of the many challenges is just working with unfamiliar languages. While it was difficult to quickly learn the syntax of a language overnight, it was satisfying when things worked. We also experienced the pitfalls in working with a new team for the first time. It is hard to coordinate the workload properly at first, but eventually we realized how important it is to articulate what needs to be done and the steps needed to take to finish.
One technical challenge to reach was the authentication workflow and the most efficient way to learn it. In the end we figured out a good way using callbacks to our backend to provide the right level of authentication for our backend.
Accomplishments that we're proud of
One of the major accomplishments that we are proud of is the idea itself. It creates a mutualistic relationship between a streamer and their viewer which is something that is so difficult to do. The investment in the stream helps keep that viewer while also helping bring more viewers to the stream. It also will continue to further build the sense of community within the streamers viewership as they will get to know who their fellow viewers really are. On top of all of this, it is an extension aimed at helping smaller streams grow which is the backbone of Twitch. We are also proud of some of our technical accomplishments such as the implementation of both Twitter and Snapchat’s Snapcode API.
What we learned
Communication is important. You want to list out everything that needs to be done and a contract between the different aspects of the program if you want to efficiently and quickly do everything you would like to do.
Authentication is hard, you should not handle it yourself. At first, Fern was trying to manually implement authentication which is something that takes a lot of work and is really hard. Do not reinvent the wheel. Let an expert handle that portion and focus on your own business logic for your application.
What's next for Fair Share
We want to build config pages and a way to visualize who is following who and their communities.