About
Stream
Watch
Company
Blog
Twitch.tv
Search
Darkmode
Darkmode
Search
Darkmode
Navigation Menu
About
About
Stream
Stream
Watch
Watch
Company
Company
Blog
Blog
Language
Engineering
Sep 28, 2023
Twitch State of Engineering 2023
Twitch State of Engineering 2023 Post
Jun 22, 2022
Smarter, Better, Faster: Using Machine Learning to Review Emotes
Smarter, Better, Faster: Using Machine Learning to Review Emotes Post
Apr 26, 2022
Ingesting Live Video Streams at Global Scale
Ingesting Live Video Streams at Global Scale Post
Apr 12, 2022
Breaking the Monolith at Twitch: Part 2
Breaking the Monolith at Twitch: Part 2 Post
Mar 30, 2022
Breaking the Monolith at Twitch: Part One
The story of how Twitch transitioned from
Breaking the Monolith at Twitch: Part One Post
Jan 10, 2022
Automated Chaos Testing on the Front-end
Automated Chaos Testing on the Front-end Post
Nov 30, 2021
Using Algorithms to Meet Accessibility Requirements for Color Contrast
Using Algorithms to Meet Accessibility Requirements for Color Contrast Post
Nov 16, 2021
Defend Your Castle: High Availability for High-Stakes Cloud Services
Defend Your Castle: High Availability for High-Stakes Cloud Services Post
Nov 4, 2021
Simulated Bootstrapped A/A tests
Simulated Bootstrapped A/A tests Post
Sep 16, 2021
The Quest for Fresher Stream Summaries
The Quest for Fresher Stream Summaries Post
Sep 7, 2021
Guiding a monolith with a gentle touch: pairing codeowners and lint rules
Guiding a monolith with a gentle touch: pairing codeowners and lint rules Post
Apr 6, 2020
Twitch Studio Beta updates
Twitch Studio Beta updates Post
Jul 24, 2019
ThisEmoteDoesNotExist: Training a GAN for Twitch Emotes
The idea for this project began when a coworker and I were talking about NVIDIA’s photo-realistic generated human faces using StyleGAN and…
ThisEmoteDoesNotExist: Training a GAN for Twitch Emotes Post
Apr 10, 2019
Go memory ballast: How I learnt to stop worrying and love the heap
I’m a big fan of small code changes that can have large impact. This may seem like an obvious thing to state, but let me explain:
Go memory ballast: How I learnt to stop worrying and love the heap Post
Mar 15, 2019
How Twitch Addresses Scalability and Authentication
Curious how Twitch Identity services address scalability and performance challenges related to authentication?
How Twitch Addresses Scalability and Authentication Post
Feb 26, 2019
Twitch for Android: From Meme to Dream
Meet PogDroid, our beloved Android app to watch the latest memes unfold live while on the go. Buckle up: This is PogDroid’s adventure!
Twitch for Android: From Meme to Dream Post
Dec 19, 2018
How VP9 delivers value for Twitch’s esports live streaming
VP9 will soon help Twitch offer a better viewing experience for premium esports and partner channels
How VP9 delivers value for Twitch’s esports live streaming Post
May 14, 2018
Artisanal Objective-C Sum Types
A sum type combines many possible differently-typed values into a single value, expressed in Swift as an enum.
Artisanal Objective-C Sum Types Post
Jan 16, 2018
Twirp: a sweet new RPC framework for Go
Today Twitch is releasing Twirp, an RPC framework we use for communication between backend servers written in Go.
Twirp: a sweet new RPC framework for Go Post
Dec 1, 2017
Twitch invites you to take on the ICME 2018 Grand Challenge
Because of its scalability and low cost, HTTP streaming is now widely used for live broadcasting on the open Internet. A number of…
Twitch invites you to take on the ICME 2018 Grand Challenge Post
Oct 23, 2017
Live Video Transmuxing/Transcoding: FFmpeg vs TwitchTranscoder, Part II
By: Jeff Gong, Software Engineer, jeffgon@twitch.tv Sahil Dhanju, Software Engineer Intern Chih-Chiang Lu, Senior Software Engineer…
Live Video Transmuxing/Transcoding: FFmpeg vs TwitchTranscoder, Part II Post
Oct 10, 2017
Live Video Transmuxing/Transcoding: FFmpeg vs TwitchTranscoder, Part I
By: Jeff Gong, Software Engineer, jeffgon@twitch.tv Sahil Dhanju, Software Engineer Intern Chih-Chiang Lu, Senior Software Engineer…
Live Video Transmuxing/Transcoding: FFmpeg vs TwitchTranscoder, Part I Post
Apr 25, 2017
Investigating React Native
On the Twitch mobile team, we care a lot about making sure we use the best tools available to build our apps. React Native is a topic that…
Investigating React Native Post
Apr 4, 2017
Segment-based rate control of video encoder for live ABR streaming
Contact: Tarek Amara, Video Processing Engineer, amatarek@twitch.tv Yueshi Shen, Principal Research Engineer, yshen@twitch.tv
Segment-based rate control of video encoder for live ABR streaming Post
Mar 24, 2017
CocoaPods for Development-Time Modularity
At Twitch, we use CocoaPods, but not just for consuming external libraries like 1PasswordExtension and google-cast-sdk. We also use them…
CocoaPods for Development-Time Modularity Post
Oct 18, 2016
Twitch comes to GHC 2016
Get ready, Houston. Twitch is coming to the Grace Hopper Celebration of Women in Computing!
Twitch comes to GHC 2016 Post
Oct 11, 2016
How Twitch uses PostgreSQL
Twitch has approximately 125 database hosts serving OLTP workloads in production, usually as part of a cluster. Approximately 4% run MySQL…
How Twitch uses PostgreSQL Post
Sep 20, 2016
iOS versioning
iOS versioning is a seemingly simple problem. All you need to do is give your app a version number and you’re done, right? Not quite. In…
iOS versioning Post
Aug 8, 2016
Improving Chat Rendering Performance
Chat is a core part of the Twitch experience. Rendering new chat lines dozens of times a second on the client turns out to be a very…
Improving Chat Rendering Performance Post
Aug 4, 2016
Twitch goes to GopherCon 2016
When I first went to GopherCon with Twitch two years ago, the Go language had already changed the way I write software. Twitch’s chat…
Twitch goes to GopherCon 2016 Post
Jul 29, 2016
Twitch Hosts Girls Who Code
Today Twitch welcomed 20 very impressive high-school ladies who are participating in Girls Who Code’s summer program.
Twitch Hosts Girls Who Code Post
Jul 15, 2016
High Performing Native Chat on Twitch
High Performing Native Chat on Twitch Post
Jul 12, 2016
What makes a great data science team?
Here at Twitch, we’ve been working hard to make evidence-driven decision-making a central part of how we build great products. Data…
What makes a great data science team? Post
Jul 5, 2016
Go’s march to low-latency GC
We use Go at Twitch for many of our busiest systems. Its simplicity, safety, performance, and readability make it a good tool for the…
Go’s march to low-latency GC Post
Mar 9, 2016
Building a Better Twitch — Updating to HTTPS
As part of our ongoing work to make Twitch more secure, we’re updating the Twitch website to be served over HTTPS. Going forward, this will…
Building a Better Twitch — Updating to HTTPS Post
Dec 18, 2015
Twitch Engineering: An Introduction and Overview
Twitch Engineering: An Introduction and Overview Post