I've never been one to follow a lot of streams. The only streamer I've watched for years now is SingSing. He like many streamers (and this seem to be more common with variety streamers), had a "Choose what game I play on Sundays", called Sunday subgames. On his website, there where a way for viewers to suggest and vote on games that he should play on these days. Unfortunately, it was kinda annoying / tedious to have to go there every time you wanted to vote or suggest something. Which he also felt, resulting in that these Sundays didn't happened. I've talked to him about this, and he said that having such a feature on Twitch would make it a hell of a lot easier for most streamers, including viewer integration which all streamers seems to want more of.
What it does
Takes suggestions from you viewers, where the games they choose are taking from a list that's updated daily. Also shows what games you've played in the past. You're able to choose if it's limited to only followers, subs, tiers etc.
How I built it
Challenges I ran into
Time. It's hard to find time when you already have a developer job that takes at least 8 hours of your day. Then you have roughly one hour of commute time, and a family that needs your attention, and of course, other interests that aren't coding.
Other than time I found it hard to get the typeahead to work properly, meaning I had to modify it a bit to make it bend to my will.
Accomplishments that I'm proud of
I finished a working version in time, even tho it's only 0.6.5 and not the official 1.0 release! No really, I'm actually proud of this. Most of my personal projects suffer from me not being able to dedicate enough time to them. I'm also a bit proud how it turned out after dedicating such a low amount of time.
What I learned
What's next for GameAdvice
That really depends on when you (yes you!), are reading this. At the time of writing, GameAdvice v.0.6 is out. 0.7 will contain an update to resetting votes, games, deleting votes, games and an update to the algorithm that suggest games. It will also contain automatic resetting by date. Somewhere between version 0.7 and version 1 a feedback feature will be added. Version 1 will be the React / Node version, which will come with a few different things, possibly including web sockets. We'll see. Still looking into more caching options to speed up stuff.
PHP backend was suppose to be integrated with beanstalk, but I found it much easier to just set up a EC2 on my own. Cached files are using S3. Original idea was to use MediaStore as an image server, but I quickly realized I could just call upon the images directly from Twitch, not having to store a bunch off unnecessary data, and RDS for the database. So the entire extension is run by/through AWS. :-)
I'd say the business potential of any extension is only limited to the imagination. My imagination when it comes to business is limited unfortunately, as I don't have a lot of experience in sales or similar, but I do think I've come up with at least a few ways you could make money off of this.
The first one is obvious, Bits. Integration with Bits could be done in a few ways (the obvious ones), where the viewer have to pay e.g. 100 Bits to suggest a game, and 10 Bits to vote. Another way would be to offer votes with a suggestion. For example, someone like Forsen or Soda or anyone else with 20k viewers would most likely get spammed with suggestions. If a viewer wanted their suggestion to win / get first place / whatever, they would have an option where they could pay 500 Bits and their suggestion got added with like 50 votes from the start. The last way to make money off this extension would be if it wasn't an extension, and instead, was integrated directly into Twitch. If that was the case, we could offer more customisation. Example, if you are a Twitch Prime+ (Yes, let's say that exist and instead of $5 its $8), you'd have the option to set the color / theme on your own for broadcasters. Still haven't come up with an idea for the what the viewers get. The last idea I've come up with (that doesn't require integration tho), is that if you're a subscriber to the streamer, you'r votes would be worth more. This might be seen as a bit of asshole-y tho.
I did not film the viewer part of the extension as that have pretty much the same functionallity as the broadcaster part.