Game Changer helps kids that are dying to have a bit of joy before they depart. Helping this initiative is just the right thing to do. With that in mind, Game Changer presented their initiative around launching a Twitch donation channel. They need confidence in the code they built and were open to other ideas to make things better.
What it does
We created a load testing framework for Game Changer's Twitch module by stubbing out Amazon Pay and the Twitch APIs that it integrates with. We were able to scale our mock Amazon Pay Notification system to stress test the system without constraining ourselves to Twitch or Amazon Pay's testing limitations.
We also decided that Game Changer might appreciate having something fun to help advertise streams and donations. As donations occur, we save the donator's twitch avatar image, take in a source image for the channel campaign and create a new version of the image comprised of the donator avatar images. We imagine that this would be a great way to give back to donator and give people something that they could easily tweet out to create momentum.
How we built it
We took the Amazon Pay Notification and build a Docker container that would call our API with generated configurations thus simulating a donation from a user.
The Game Changer Lambda was modified to fetch donator avatars and write them to an S3 bucket.
We created a docker container and a python mosaic library to generate an amazing mosaic of all the donor images.
The lambda then calls our Twitch simulator calling APIs. We implemented this to run fast to ensure we can understand our scaling behavior.
Challenges we ran into
We wanted to use Lambda for the mosaic generator, but had to use Docker due to multprocessing limitations in Lambda.
We wanted to solve a Twitch issue that we discovered, but couldn't properly implement it within the time constraints of the hackathon.
Accomplishments that we're proud of
The idea of the mosaic and implementation was great!