Nowadays, kids want to become a streamer or a YouTuber much more often than an astronaut or a scientist. Many of us might find it somewhat difficult to understand, but that seems to be the future nevertheless. Entertainment industry is changing, COVID-19 made us find a way to build new relationships online and doing livestreams turned many into millionaires.
Let’s look at the biggest platform and put into a relatively simple process a full-cycle journey of building a video streaming application like Twitch.
What is Twitch?
If you are or ever been a gamer, or at least someone interested in the industry, Twitch requires no introduction, especially today.
Twitch is a livestreaming app that allows anyone to register and stream whatever they want: be it them playing a game with their friends, watching random videos, playing music or simply talking to those who decided to pop-in and watch whatever creators have to offer. Currently, it has outgrown its initial purpose, but we’ll cover that in a moment.
Step 1: Decide whether you feel like investing in a live-streaming app like Twitch
To decide whether it makes sense to put your money into the livestreaming market, let alone build an app like Twitch, let’s look at the potential.
Starting off, here’s a projected growth of potential reach of e-sports streaming viewership alone. In just a decade, it’ll most likely double in size. And more and more people are joining streaming platforms for reasons other than gaming.
Giving a quick glance at Twitch’s most popular categories, one can see that IRL streams (not gaming, basically) beats any game in a 1-vs-1 battle. So, there’s definitely a demand. A growing one.
And looking at the historical data from Twitch’s year-over-year (YoY) revenue growth, you can see a steep increase, from ‘merely’ $275 mln to $2.65 bn in just 5 years.
The platform became a benchmark for any business that wants to become a part of the livestreaming industry, although continues to outplay all its rivals by a mile. It wasn’t always like that, though…
History of Twitch app development: Twitch MVP
A few of you will remember a streaming service called Justin.tv. It was themid 2000s and the era of streaming was only starting. Justin.tv offered a variety of different categories, although gaming was growing faster than ever, which led to a decision to spit-out Twitch as a separate platform with a focus purely on game streaming.
Twitch was growing, but so was its main rival – Own3d.tv. Fortunately for Twitch, Own3d shut down in 2013, making Twitch the single biggest e-sports streaming platform in the world. One could simply say that the monopoly was achieved.
A few years later, in 2014, there were rumours about YouTube wanting to acquire Twitch, but that never happened. Amazon paid $970 mln in cash the same year and let Emmett Shear continue leading Twitch. At the time, Shear hinted that Amazon’s ownership of AWS was one of the important factors that would allow Twitch to scale. As of today, Twitch continues to dominate the market.
Step 2: Define target market for your Twitch app alternative
A number of preparation checks should be conducted at the beginning of any app development process. As you're building an application like Twitch, it is essential to get a sense of your potential customers and the general direction in which you’re going to develop your product.
You can read more about the entire idea-to-product process in our ebook.
Step 3: Decide how to monetize a livestreaming platform
As we’ve looked at the revenue growth chart, how does Twitch make their billions, and can you replicate the same monetization model in your app? There are a number of revenue streams for an app like Twitch:
I would say that one of the crucial revenue streams for any livestreaming platform that wants to fight Twitch for its crown is a creator revenue-sharing. The same reason why YouTube dominates the video sharing market with no alternatives on the horizon.
Twitch shares a % of the revenue they generate by running ads on their platform with its creators, giving an incentive to stream on Twitch and not somewhere else.
It’s a loop. The more views you get, the more ads are shown. The more ads are shown, the more money a creator earns. To get more views, you want to be on the most viewed platform, which is currently Twitch.
Twitch didn’t stop here, however.
There are two basic ways to follow a creator on Twitch: a free following feature, which gives users access to push notifications when their followed streamer goes live, and creators a way to monitor their popularity. The second option is a paid subscription. The latter means a user pays a monthly fee to support their favourite creator and receives a number of creator-defined benefits for doing so: custom emojis, member-only chats etc.
Twitch takes a part of each subscription fee and shares another part with the creator.
3rd-party donations alternative
If you’ve heard about streamers earning money through donations, you need to understand that there are also 2 types of donations. Most of them are done via a 3rd-party tool over which Twitch has no control.
However, Twitch came up with their own native currency – Bits – which can be also donated to streamers and Twitch takes a cut of those donations.
Merchandise and apparel
Twitch is rather smart in expanding their monetization strategy. They partnered with several merchandise and apparel manufacturers and allowed them to leverage the platform to sell their products. Twitch offers its creators the opportunity to launch their own lines of merchandise and promote it during live streams.
When viewers purchase those goods, the revenue is divided between Twitch and a particular streamer.
Twitch’s ads system is pretty much the same as YouTube’s. You can read up on all of their ad formats on their official ads website.
Most businesses nowadays strive to implement subscription pricing models as they tend to generate a constant monthly flow of revenue in comparison to other models. Twitch decided to implement not one, but two options.
Twitch Turbo is Twitch’s native subscription plan that allows users to turn off all built-in platform ads, adds some experience customization options, including badges, emojis etc. and what’s interesting, provides extended storage time for all of creator’s broadcast recordings, kind of forcing streamers themselves to purchase Turbo too, targeting not only the viewers.
Twitch Prime (part of Prime Gaming)
As we know, Twitch is owned by Amazon, and it would be a surprise if Amazon didn’t want to integrate such an important platform under their Prime services umbrella. By subscribing to Prime Gaming, users receive access to the Prime services as well as Twitch Prime, which provides similar benefits as Twitch Turbo with additional features integrated within Prime Gaming.
Step 4: Plan the development of a Twitch-like application MVP
Now, let’s assume you decided to build a Twitch competitor or maybe something more specific for your niche, how do you approach it?
If you’ve followed through the steps in the ‘How to build products that sell’ ebook I’ve linked above, you know pretty much all you need to know about the product design phase.
Most likely, you ended up selecting all the features you’d like to have in your MVP, however, just to be sure, let’s have a look at the core features of a livestreaming app and some advanced ones.
Core features of a Twitch-like app
Low-latency video streaming
Video streaming in itself is probably the most important feature of a livestreaming platform. However, if your tool won’t provide low-latency streaming out-of-the-box, you’re risking losing all the early adopters and eventually dying off like many livestreaming apps before you.
Low-latency can be achieved through various solutions, which we might talk about in more details in the future.
Full HD video streaming
The era of SD or even 720p media streaming is long gone. If your live-streaming app doesn’t support streaming in 1080p from the get go, your chances of succeeding bleak rapidly. Viewers demand more and more quality-wise, but you don’t have to go over full HD at the moment, so leave 2K and 4K alone for now.
Providing your users and creators with at least basic content categorization for delivering competitive user experience is very important. If you don’t have enough resources to add this feature to your priorities, at least invest into a decent search engine.
As your platform grows, it's going to become increasingly harder for your users to find what they’re looking for. Invest in an advanced search engine in the likes of Elasticsearch or Algolia, to enable searching through various contexts: profiles, in-stream keywords, descriptions, semantics etc.
Let’s be honest, end-users don’t care whether they’re on Twitch, Facebook Gaming, YouTube Gaming or any other platform. They join to see their favourite creators and creators only. If their creator leaves your platform, they’ll follow him.
Design your platform with your creators in mind and give them at least the basic tools for building their following.
I’ve seen other experts exclude push notifications from the list of core features, but that tells me they most likely never used a livestreaming platform in the likes of Twitch.
Being able to send a push notification is one of the most important ways for creators to reach their followers when they go live. Sure, they tend to utilize their social media, Discord server announcements etc., but lack of push notifications might slow down their growth and thus make them look for a better platform to stream on.
Native OBS support
OBS (Open Broadcaster Software) is a free, open-source, industry leading software that allows anyone to start a livestream with a push of a single (or a couple) button.
There are other options on the market, but in the first stage, we recommend going with the most used one. Keep in mind that your creators don’t have to be tech-savvy by definition, so take advantage of the fact that most already know how to use OBS or can learn it very quickly by checking out the plethora of available tutorials.
Developing your own streaming software is not a good idea. Twitch tried to do so with Twitch Studio, but I rarely heard of Twitch creators using it. They usually start with OBS and rarely switch.
Basic moderation toolset
Basic content moderation is a must, at least when it comes to spammers and offensive materials. If you want to keep your services user-friendly:
- provide creators with an ability to ban their chat members who break T&C (or otherwise set in-stream rules);
- provide users with an ability to report content creators who break the platform's T&C.
A simple real-time chat, excluding donations with attached messages, is THE SINGLE way for viewers to communicate with creators and vice-versa. Later on, additional tools that allow chat members to interact and impact creators’ streams can be added.
Advanced features of a Twitch-like app
Analytics and behavioural tracking
As creators grow, they want to better understand what their audiences pay attention to.
Providing them with an analytics panel that shows how their users interact with their stream is of the utmost importance: whether they are listening to the stream in the background, paying full attention by watching in full screen, what device they use etc.
Once your livestreaming app is stable, you can start following Twitch’s path and add various monetization options that we’ve discussed earlier today. Which one to begin with is better to decide on your particular case, maybe even in cooperation with your top creators.
Video creators usually don’t focus on a single platform. All of the content they produce is repurposed on various video sharing platforms: TikTok, Instagram, YouTube etc.
Yes, they can record their streams on their own, but that requires additional computing power on their side. And thus, it is a smart idea (as seen not only on Twitch, but YouTube too) to record their streams for them and automatically upload the recordings into the creator’s video library.
Even though desktop viewerships still prevail in livestreaming, more and more users, especially of younger generations, do everything on mobile, including watching videos.
As much as 35% of Twitch’s audience joins their favourite streams from their phones or tablets. Even though they can use responsive websites to do so, by developing a set of mobile apps you are able to deliver virtually supreme user experience.
The same goes for TV applications. I tried watching a Twitch stream via a built-in TV browser. That didn’t go well.
By developing a set of cross-platform apps that work on the most popular smart TVs, you are reaching even more potential users by tapping into those who prefer to screencast their favourite livestreams to their TV and watch ‘em together with friends or family.
Step 5: Pick modern technology stack for building an application like Twitch
Now, all these features are great and all, but how do you make them stable for end-users and easy to develop and maintain for your dev team?
Here’s our suggested tech stack for creating a streaming app like Twitch:
- Web app frontend: React, Next.js, Eventrix
- Cross-platform mobile and TV apps: React Native
- Backend: Node.js, Java, PHP, AdminJS
- Server / serverless: Amazon EKS / AWS Lambda
- Database: PostgreSQL, DynamoDB
- Search engine: Elasticsearch
- Storage: Amazon S3
- Streaming protocols: Adobe HTTP, RTMP, M2TS, Apple HTTP Live Streaming, WebRTC, RTP/RTSP
- Async architecture: Amazon SQS
- SSO: KeyCloak, Amazon Cognito
- Managed livestreaming: Amazon IVS
- Managed chat for streaming: Amazon IVS
Let’s talk a bit more in-depth about the last one.
Low-latency cloud streaming with Amazon IVS
As you remember Amazon, is the owner of Twitch. When the acquisition happened, Twitch showed a high interest in what Amazon had to offer with the scale of their cloud services. After some time, Amazon added a new service, dedicated specifically to livestreaming.
What happened there was Amazon ripped out the core technology Twitch was built on, repackaged it and shared with the rest of the world.
So what’s inside Amazon IVS? It provides out-of-the-box all the components needed for low-latency video streaming, including:
- Built-in CDN service. Yes, you don’t have to worry about setting up your own content delivery network, IVS detects optimal network routes from where the streamer is based and picks the best endpoints to reach their viewers.
- Cross-platform broadcast SDK and player SDK. Combine both the ability to stream from web, desktop and mobile devices and integrate a player to play those streams on the same range of devices. What’s important, IVS’s infrastructure is powered by algorithms that provide adaptive bitrate switching, delivering the best possible output quality based on the bandwidth of each viewer.
- Chat and timed metadata API. Building your own Twitch-like chat is not an easy task. Amazon IVS provides all the needed technology to not only create scalable messaging for your streaming platform, but also includes support for interactive elements like polls, live scores or e-commerce capabilities.
- Recording VoD content. Connecting Amazon S3 bucket to Amazon IVS allows you to record and store video streams in your cloud. Exactly what you require for adding an advanced feature that I’ve already mentioned – cloud-based DVR.
- Automatic infrastructure scaling. Amazon IVS is able to scale your AWS infrastructure according to the number of active streamers and viewers. Not only providing you control over your platform’s growth, but scaling down when fewer people use your platform during the working days or at night.
- Pay-as-you-go pricing. Amazon IVS’s pricing is based on the input and output number of hours sent through the service. More details can be found on their pricing page.
Step 6: Iterating the app development cycle
Both me and my colleagues cover software development topics every week on our blog, so feel free to browse through to find out more about each and every step. I can recommend my ‘MVP product development in 10 steps’ guide as a fantastic starting point that will give you a nice overview of everything you need to know.
Video streaming app development cost
Developing a livestreaming app that matches the scale of Twitch is not a matter of a few months time and a large capital investment. However, don’t get discouraged, they were a small startup at some point too.
The most sensible option would be to start building an MVP with just the core features and an idea how you’re going to fight Twitch for the chunk of its audience. Or, maybe you want to build a product for a new niche?
My personal recommendation would be to start with a product workshop. It will allow you to really grasp the scale of what you want to build as well as get a good understanding of how much it will cost, what technology you might require etc. We do offer such services, so drop me an email at email@example.com if you’d like me to connect you with our Product Design team.
When all of that is set and done, you’ll probably arrive at a ballpark estimation around $50000 to $75000 in order to develop a Twitch-like app MVP, including design. Feel free to try our brand-new interactive MVP Cost Estimator to get a better idea of the required capital.
Creating a streaming app like Twitch isn’t the easiest thing to do but not the hardest either. If you properly plan through your development cycles, you’ll be able to grow your business iteratively, correcting your product development trajectory as you expose it to a wider and wider audience.
Got any questions, say ‘Hi’ to me at firstname.lastname@example.org… and good luck on your journey!