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