This website uses cookies to better the user experience of its visitors. Where applicable, this website uses a cookie control system, allowing users to allow or disallow the use of cookies on their computer/device on their first visit to the website. This complies with recent legislative requirements for websites to obtain explicit consent from users before leaving behind or reading files such as cookies on a user’s computer/device. To learn more click Cookie Policy.

Privacy preference center

Cookies are small files saved to a user’s computer/device hard drive that track, save, and store information about the user’s interactions and website use. They allow a website, through its server, to provide users with a tailored experience within the site. Users are advised to take necessary steps within their web browser security settings to block all cookies from this website and its external serving vendors if they wish to deny the use and saving of cookies from this website to their computer’s/device’s hard drive. To learn more click Cookie Policy.

Manage consent preferences

These cookies are necessary for the website to function and cannot be switched off in our systems. They are usually only set in response to actions made by you which amount to a request for services, such as setting your privacy preferences, logging in or filling in forms. You can set your browser to block or alert you about these cookies, but some parts of the site will not then work. These cookies do not store any personally identifiable information.
These cookies allow us to count visits and traffic sources so we can measure and improve the performance of our site. They help us to know which pages are the most and least popular and see how visitors move around the site. If you do not allow these cookies we will not know when you have visited our site, and will not be able to monitor its performance.
Cookies list
Name _rg_session
Provider rubygarage.org
Retention period 2 days
Type First party
Category Necessary
Description The website session cookie is set by the server to maintain the user's session state across different pages of the website. This cookie is essential for functionalities such as login persistence, ensuring a seamless and consistent user experience. The session cookie does not store personal data and is typically deleted when the browser is closed, enhancing privacy and security.
Name m
Provider m.stripe.com
Retention period 1 year 1 month
Type Third party
Category Necessary
Description The m cookie is set by Stripe and is used to help assess the risk associated with attempted transactions on the website. This cookie plays a critical role in fraud detection by identifying and analyzing patterns of behavior to distinguish between legitimate users and potentially fraudulent activity. It enhances the security of online transactions, ensuring that only authorized payments are processed while minimizing the risk of fraud.
Name __cf_bm
Provider .pipedrive.com
Retention period 1 hour
Type Third party
Category Necessary
Description The __cf_bm cookie is set by Cloudflare to support Cloudflare Bot Management. This cookie helps to identify and filter requests from bots, enhancing the security and performance of the website. By distinguishing between legitimate users and automated traffic, it ensures that the site remains protected from malicious bots and potential attacks. This functionality is crucial for maintaining the integrity and reliability of the site's operations.
Name _GRECAPTCHA
Provider .recaptcha.net
Retention period 6 months
Type Third party
Category Necessary
Description The _GRECAPTCHA cookie is set by Google reCAPTCHA to ensure that interactions with the website are from legitimate human users and not automated bots. This cookie helps protect forms, login pages, and other interactive elements from spam and abuse by analyzing user behavior. It is essential for the proper functioning of reCAPTCHA, providing a critical layer of security to maintain the integrity and reliability of the site's interactive features.
Name __cf_bm
Provider .calendly.com
Retention period 30 minutes
Type Third party
Category Necessary
Description The __cf_bm cookie is set by Cloudflare to distinguish between humans and bots. This cookie is beneficial for the website as it helps in making valid reports on the use of the website. By identifying and managing automated traffic, it ensures that analytics and performance metrics accurately reflect human user interactions, thereby enhancing site security and performance.
Name __cfruid
Provider .calendly.com
Retention period During session
Type Third party
Category Necessary
Description The __cfruid cookie is associated with websites using Cloudflare services. This cookie is used to identify trusted web traffic and enhance security. It helps Cloudflare manage and filter legitimate traffic from potentially harmful requests, thereby protecting the website from malicious activities such as DDoS attacks and ensuring reliable performance for genuine users.
Name OptanonConsent
Provider .calendly.com
Retention period 1 year
Type Third party
Category Necessary
Description The OptanonConsent cookie determines whether the visitor has accepted the cookie consent box, ensuring that the consent box will not be presented again upon re-entry to the site. This cookie helps maintain the user's consent preferences and compliance with privacy regulations by storing information about the categories of cookies the user has consented to and preventing unnecessary repetition of consent requests.
Name OptanonAlertBoxClosed
Provider .calendly.com
Retention period 1 year
Type Third party
Category Necessary
Description The OptanonAlertBoxClosed cookie is set after visitors have seen a cookie information notice and, in some cases, only when they actively close the notice. It ensures that the cookie consent message is not shown again to the user, enhancing the user experience by preventing repetitive notifications. This cookie helps manage user preferences and ensures compliance with privacy regulations by recording when the notice has been acknowledged.
Name referrer_user_id
Provider .calendly.com
Retention period 14 days
Type Third party
Category Necessary
Description The referrer_user_id cookie is set by Calendly to support the booking functionality on the website. This cookie helps track the source of referrals to the booking page, enabling Calendly to attribute bookings accurately and enhance the user experience by streamlining the scheduling process. It assists in managing user sessions and preferences during the booking workflow, ensuring efficient and reliable operation.
Name _calendly_session
Provider .calendly.com
Retention period 21 days
Type Third party
Category Necessary
Description The _calendly_session cookie is set by Calendly, a meeting scheduling tool, to enable the meeting scheduler to function within the website. This cookie facilitates the scheduling process by maintaining session information, allowing visitors to book meetings and add events to their calendars seamlessly. It ensures that the scheduling workflow operates smoothly, providing a consistent and reliable user experience.
Name _gat_UA-*
Provider rubygarage.org
Retention period 1 minute
Type First party
Category Analytics
Description The _gat_UA-* cookie is a pattern type cookie set by Google Analytics, where the pattern element in the name contains the unique identity number of the Google Analytics account or website it relates to. This cookie is a variation of the _gat cookie and is used to throttle the request rate, limiting the amount of data collected by Google Analytics on high traffic websites. It helps manage the volume of data recorded, ensuring efficient performance and accurate analytics reporting.
Name _ga
Provider rubygarage.org
Retention period 1 year 1 month 4 days
Type First party
Category Analytics
Description The _ga cookie is set by Google Analytics to calculate visitor, session, and campaign data for the site's analytics reports. It helps track how users interact with the website, providing insights into site usage and performance.
Name _ga_*
Provider rubygarage.org
Retention period 1 year 1 month 4 days
Type First party
Category Analytics
Description The _ga_* cookie is set by Google Analytics to store and count page views on the website. This cookie helps track the number of visits and interactions with the website, providing valuable data for performance and user behavior analysis. It belongs to the analytics category and plays a crucial role in generating detailed usage reports for site optimization.
Name _gid
Provider rubygarage.org
Retention period 1 day
Type First party
Category Analytics
Description The _gid cookie is set by Google Analytics to store information about how visitors use a website and to create an analytics report on the website's performance. This cookie collects data on visitor behavior, including pages visited, duration of the visit, and interactions with the website, helping site owners understand and improve user experience. It is part of the analytics category and typically expires after 24 hours.
Name _dc_gtm_UA-*
Provider rubygarage.org
Retention period 1 minute
Type First party
Category Analytics
Description The _dc_gtm_UA-* cookie is set by Google Analytics to help load the Google Analytics script tag via Google Tag Manager. This cookie facilitates the efficient loading of analytics tools, ensuring that data on user behavior and website performance is accurately collected and reported. It is categorized under analytics and assists in the seamless integration and functioning of Google Analytics on the website.

5 Things You Need to Know to Build a Live Streaming Website Like Twitch

  • 29709 views
  • 9 min
  • Mar 05, 2019
Daria R.

Daria R.

Copywriter

Vlad H.

Vlad H.

Head of Frontend Department

Tags:

Share

People have always loved sports — both playing and watching. Football/soccer cups, tennis tournaments, and baseball championships generate incredible revenue, and esports are no exception. Twitch, one of the first live streaming platforms for gamers, has proved that esports can be as flourishing and fruitful an industry as offline sports — if not more so! How has Twitch managed to get it right? In this article, we shed some light on the popularity of the Twitch platform, share features that are necessary to build a similar live streaming platform, and reveal all the challenges one can meet building a website like Twitch.

1. What’s Twitch?

To figure out how to build a live streaming website like Twitch, you need to know exactly what Twitch does. Today, Twitch belongs to Amazon. It’s a platform that allows users to create channels, broadcast themselves playing games, upload recorded clips, participate in tournaments and competitions, view other players’ streams, and communicate with players and viewers via chat. Users don’t have to register to view broadcasts, however they do have to register to broadcast and chat.

Twitch’s built-in real-life chat helps gamers find like-minded people, make friends, and socialize.

Twitch works on PC, Xbox, and PlayStation consoles. It has browser support as well as a dedicated application to let users record videos and interact with the community.

Why Twitch is so popular

Twitch is an unquestionably popular product. What has made it so successful? We’ve studied the factors that have contributed to its success:

  • Real-time interactions. Built-in chat enables communication among players and viewers. Twitch is a kind of social network where spectators have a chance to directly communicate with professional players, ask questions, and encourage them during games.
  • Huge community. Twitch supports all sorts of games, so users can find like-minded people from all over the world, compete with them, and make friends.
  • No language barriers. All gamers can stream in their own language. A match can be broadcast in multiple languages.
  • Watching live streams is free of charge. If users aren’t going to broadcast and use chat but only want to watch, they don’t need to register or pay a subscription fee.

Building a robust startup is hardly possible without a positive customer experience and useful functionality. Let’s go further and figure out what minimal set of features is needed to create a live streaming platform.

2. Twitch MVP feature set

To understand how to build a live streaming website like Twitch, you need to know its core functionality. Here are the main features of Twitch:

  • Registration. Users can view broadcasts without registering; however, to live stream their own playing, subscribe to gamers, and communicate with others, users do need to sign up.
  • Personal profiles. If users are going to broadcast, they need to create a personal account where they can tell about themselves, add links to social media accounts, and list their equipment.
  • Real-time streaming. It’s very important to give players an opportunity to stream not only the game itself but also a view from a webcam. Viewers appreciate real emotions of gamers sometimes even more than the game.
  • Search videos. Users can search for videos by category, such as game, gamer, language, date, and so on.
  • Payment gateway. This feature allows viewers to donate money to their favorite players or pay a subscription fee.
  • Real-time chat. This feature allows players and spectators to communicate in real time during games.
  • Notifications. Once subscribed, users get notifications when a gamer they follow starts broadcasting so they don’t miss anything.
  • Subscriptions. Users can subscribe to games and gamers and get notifications when they’re streaming.

This feature set forms the core of a live video streaming platform like Twitch. Though keep in mind that every type of video streaming website requires its own unique functionality. For instance, users of a video conferencing website may need to share documents during sessions, and educational platforms with video courses may require online tests.

3. Challenges of building a platform like Twitch

There are two big challenges when building a live streaming website. Let’s take a look at them and try to find the best solution.

Challenge 1. Technical

A live streaming website has to work smoothly, reliably, and fast. Otherwise, users won’t stay. That’s why the software and hardware you use to build and run a streaming website mean a lot. Here are some points to think through.

Choose the right video streaming protocol

The protocol you use for video streaming defines the quality and latency (the delay the end user experiences). The truth is, there’s no perfect solution that will provide excellent quality and stream video with no delay. When choosing a protocol, pay attention to the characteristics you need most. For instance, if you’re building a video conferencing website, then latency should be minimal. Gamers, on the other hand, enjoy cool graphics and like watching high-quality videos.

Here are the strong and weak sides of some of the most popular protocols for video streaming:

  • RTMP. This protocol is characterized by low latency, robustness, and almost universal support. But it’s insecure for video delivery as it’s prone to man-in-the-middle attacks. In the beginning, Twitch used RTMP. However, the growing number of users revealed its disadvantages. Today, Twitch uses HLS.
  • HLS. It supports adaptive bitrate streaming and HTML5. The protocol is known for its robustness. Unfortunately, it has a relatively high latency.
  • MPEG-DASH. This protocol can work with the majority of encoding formats. Its distinguishing feature is its AI-driven transcoding algorithm, which leads to less data used during streaming. However, it doesn’t support the H.265 video standard.
  • WebRTC. This enables end‐to‐end communications from nearly any endpoint: phones, web pages, kiosks, automobiles, and even household appliances. The biggest disadvantage of WebRTC is that it’s a peer-to-peer protocol and can’t be used for group video chat.

Think about scalability

The smooth and continuous working of a live streaming platform depends not only on the video streaming protocol but on the architecture. The more users you acquire, the more queries your server gets. Eventually, this might lead to glitches and even to a website crash. That’s why even if you want to start with an MVP website, you still need to create an architecture that will be able to scale in the future.

The most common and reliable way to solve this problem is to build a content delivery network (CDN). This involves creating multiple proxy servers with data centers in different locations (close to your users) that contain the same data. Thus, users from different countries will be able to get quick access to data that was created on the other side of the globe with minimal delay.

A content delivery network helps to distribute the load among a number of servers and reduces the likelihood of crashes.

Challenge 2. User experience

Alongside smooth and continuous video streaming, users also want a great user experience. Here are some problems that the Twitch streaming website has experienced, according to its users.

Chat moderation

The feature that made Twitch so special harmed it at the same time. Gamers enjoyed chatting with their audiences and feeling support and encouragement. Gamers who had small to medium-sized audiences admitted that interactions with viewers made the game fun. However, when the audience grew, gamers often suffered from hateful comments and spam.

To solve this issue, Twitch added features that allow users to moderate chats in a more efficient way. Today, users can not only delete a specific message but also check when an account of a spammer was created. Moderators can also set and announce rules so all users know what they can be banned for.

Yet there’s another option to improve the user experience with chat: allow gamers to hide or turn off chat during the game so users can choose if they want to communicate with anyone at all.

Partnership with creators

To be profitable, a platform needs to gain a loyal user base. It needs content. For that, the platform has to attract content creators (gamers) and retain them. Twitch partners with the most popular gamers, and their loyal audiences allow those gamers to make their own profit. Twitch also provides these partners with quality settings unavailable for non-partner streamers.

On the other hand, streamers with smaller audiences don’t get such support and can’t make money with Twitch. A lot of them complain about unfair conditions or that it’s too complicated to get partnership status. As a result, these gamers move to other video streaming platforms.

To retain young gamers, a live streaming platform has to support communities, like YouTube does. YouTube doesn’t offer different conditions based on audience size, instead offering the same partnership conditions for all users. Clear and transparent conditions create more trust toward the platform.

4. Monetization

Now it’s time to find out approaches to make money with live streaming platforms.

  • Subscriptions . Viewers pay a certain fee every month to have an account and access to certain features. This is the monetization approach Netflix uses. On Twitch, users can subscribe to gamers, and this subscription fee is shared between the platform and those gamers.
  • Freemium. This approach offers users some free and paid features. For instance, for $8.99 per month, Twitch Turbo gives users fewer ads, more video storage, and an improved user interface.
  • Ads . You can offer ads to businesses that appeal to your demographic. Ads can appear when your streaming website is launched and can change regularly depending on the number of advertisers and the price they pay.
  • Apparel sales .  This model requires a platform to partner with apparel providers and sell goods to platform users. Twitch, for instance, partners with a T-shirt company. The most popular gamers create their own T-shirt designs, advertise them during streams, and get a share of the revenue.

5. Business Model Canvas

A Business Model Canvas is a tool to create, question, modify, and improve your business model. In plain English, it’s a simple table with eight cells that helps you think through your business idea from different perspectives.

We’ve examined the business model of Twitch and created a Business Model Canvas for you.

Twitch business model canvas

Final thoughts

Video streaming is everywhere. Conferences, movies, games, and online courses are broadcast 24/7. And this industry has no plans to gear down. Building a live streaming website, of course, comes with a range of challenges. Yet if you’re prepared, it can be an exciting journey!

If you liked this article and want to get more useful insights, don’t forget to subscribe to our blog!

CONTENTS

Tags:

Authors:

Daria R.

Daria R.

Copywriter

Vlad H.

Vlad H.

Head of Frontend Department

Rate this article!

Nay
So-so
Not bad
Good
Wow
11 rating, average 4.64 out of 5

Share article with

Comments (0)

There are no comments yet

Leave a comment

Subscribe via email and know it all first!