We all like esports! It happens lots of time that broadcasters deliver e-sport events in multiple languages on different Twitch channels, and most of the time some minor languages aren't supported or supported unofficially ( using multi-twitch or re-streaming illegally). Our goal is to build a service who will help broadcasters to officially support more languages, casters to stream content directly on the main event's page easily, and viewers to enjoy each game in a new way.
What it does
The Chatty Skeleton will help broadcaster support manage and stream events in multiple languages using a lightweight player as Twitch app. Before each event, a broadcaster will configure available streams, or as we call it Tables, and it will send to the selected caster all the configuration he/she needs to cast the event. Casters will receive a unique configuration page about the event with all the information they need and using one of the typical streaming clients (like OBS) they will easily stream and cast the event.
How we built it
We've developed The Chatty Skeleton using Angular 7 regarding the front-end application running on Twitch. Our backend dashboard is developed in Python 3, using the framework Django, and deployed with Docker on Amazon EC2 and Amazon S3. Also each relay server is deployed using Docker on EC2. Thanks to an orchestrator application, like Terraform, we will be able to deploy multiple relay server as needed and manage cost as we growth keeping the complexity at the minimum.
Challenges we ran into
The challenges we ran into were to plan the service's architecture to be resilient to errors, secure, easy to manage, and highly scalable.
Accomplishments that we're proud of
Finding a holistic solution to solve our challenges was the things we are proud of.
What we learned
We've lots of experience in developing and deploying Web applications, but we never had the needs to plan and deploy a highly scalable service as we did with the relay servers.
What's next for The Chatty Skeleton
We have lots of idea in the making like a new Extension Backend Service (EBS) who will manage new things. Until the full release of the extension, we'll release limited information to the public. We save the coolest updates exclusively for later.