Engineering
Jun 26, 2025

Leveling Up Customer Experience Monitoring at Twitch: The QoUX Journey

In the fast-paced world of live streaming, the quality of user experience directly impacts viewer retention and satisfaction. I'm excited to share how Twitch transformed its monitoring capabilities through Quality of User Experience (QoUX), an initiative that has allowed us to understand user behavior, catch user-impacting issues faster and with lower effort, and respond quickly.
Post
Dec 5, 2024

Views pwn Tables as data interfaces

Post
Sep 28, 2023

Twitch State of Engineering 2023

Post
Jun 22, 2022

Smarter, Better, Faster: Using Machine Learning to Review Emotes

Post
Apr 26, 2022

Ingesting Live Video Streams at Global Scale

Post
Apr 12, 2022

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
Post
Jan 10, 2022

Automated Chaos Testing on the Front-end

Post
Nov 30, 2021

Using Algorithms to Meet Accessibility Requirements for Color Contrast

Post
Nov 16, 2021

Defend Your Castle: High Availability for High-Stakes Cloud Services

Post
Nov 4, 2021

Simulated Bootstrapped A/A tests

Post
Sep 16, 2021

The Quest for Fresher Stream Summaries

Post
Sep 7, 2021

Guiding a monolith with a gentle touch: pairing codeowners and lint rules

Post
Apr 6, 2020

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…
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:
Post
Mar 15, 2019

How Twitch Addresses Scalability and Authentication

Curious how Twitch Identity services address scalability and performance challenges related to 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!
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
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.
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.
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…
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…
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…
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…
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
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…
Post
Oct 18, 2016

Twitch comes to GHC 2016

Get ready, Houston. Twitch is coming to the Grace Hopper Celebration of Women in Computing!
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…
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…
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…
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…
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.
Post
Jul 15, 2016

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…
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…
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…
Post
Dec 18, 2015

Twitch Engineering: An Introduction and Overview

Post