From a Mac Mini, Running Windows XP, to Streaming Giant: The Twitch Come-Up

Written by grant | Published 2023/07/10
Tech Story Tags: twitch | startups | video-streaming | startup-lessons | founders | streaming | live-streaming | technology-trends

TLDRJustin.tv was started by Justin Kan, Emmett Shear, Kyle Vogt, and Michael Seibel. Kan, Shear and Vogt wanted to live stream their conversations 24/7. They raised $50,000 from YC and went live in March of 2007. Growth plateaued in 2008 when the recession happened.via the TL;DR App

Today’s issue covers Twitch. Well, really it covers Justin.tv. Twitch spun out of Justin.tv. I’ll cover that briefly, but Justin.tv had plenty of traction by the time Twitch, as we know it today, was created.

Brief history: Justin.tv was started by Justin KanEmmett ShearKyle Vogt, and Michael Seibel. Justin and Emmett were grade school friends and attended college together. They wanted to start a company. It was 2004, and Gmail had just launched. They decided a web-based calendar would be useful so they built Kiko Calendar. This is a great story by itself, but I’ll keep it short. As you can probably imagine, this dream was cut short when Google released Google Calendar in 2006. They sold Kiko Calendar for $250,000 on eBay and spent the next 2 months playing video games and talking about the world. Emmett talking about those conversations and the birth of Justin.tv (6:40):

Justin had the idea of like “oh we should just record them and post them online”. You know it was like a nuclear chain reaction: “oh we should post these online”. Well we’re too lazy to do that. “Why do we just live stream all of our conversations all the time?” “If we’re going to do that, why don’t we do it with video also because like, you know, people might want to have the video.” And then if we’re going to live stream all the conversations, we might as well set it up to live stream someone’s entire life 24/7. Justin took the critical step which was “I should actually stream my life 24/7 on the Internet.”

They raised $50,000 from YC and started building a rig that would stream Justin’s life 24/7.

https://twitter.com/eshear/status/1480641333169516545?s=20&embedable=true

This was before smartphones and high bandwidth cell connections so streaming wasn’t a trivial technical problem. They brought on Kyle Vogt to own the streaming setup. They also brought on Michael Seibel, a friend from college, to be CEO and help them stay focused.

The four co-founders worked on the product for 3 months. Justin went live in March of 2007 to quite a bit of fanfare. They were on The Morning Show and hit 150,000 unique visitors in the first month. The problem? The content was excruciatingly boring. A month into the show, nearly every user had churned. They went from having thousands of simultaneous viewers to dozens.

After receiving feedback from a user, they realized people didn’t want to watch Justin, they wanted to be Justin. They opened the platform up to anyone to create streams in October of 2007 and growth turned upwards again. They raised $2M on this idea and launched as “YouTube for live streaming”. They had 500,000 unique visitors in the first week.

The next four years were an absolute slog. Growth plateaued, the 2008 recession happened, and they could not raise money even though they had 30M MAUs. They cut costs, injected ads everywhere they could, and got to break even. Emmett again https://youtu.be/cQ3tZ05KCtw?t=524 (transcript):

Then we kind of found ourselves stuck in this place, where, what do we do now? We’ve got this thing. We could stay here. We might even be able to make it profitable. We could work on it for a while, it’s not really going anywhere and so we had this moment where we all met up and said “we need to do something with this company.” There were two schools of thought.

One of them was mobile. At the time the iPhone was new, and we thought “there was this real opportunity to build mobile video”. There were no good mobile video players in the space and we thought that could be big.

Then there was this second idea around gaming which I was interested in primarily because it was the only content on Justin.tv that I personally watched.

We actually said, this time, instead of just launching random features and guessing whether they work or not we are going to set real goals for the two projects, one around mobile, and one around gaming, and we’re going to try to hit those goals.

So we setup two teams internally. One lead by Michael (Seibel), our then CEO, which turned into Socialcam and ended up getting spun off and then a second one lead by me in partnership with Kevin Lin who was our COO. The two of us really believed in the gaming part mostly because we’re big gamers.

Twitch launched in 2011, 9 months after the team started working on it. It took off. Within 2 years, Twitch had 45M MAUs. In August 2014, Twitch was sold to Amazon for $970M.

Development

One quick note. As I mentioned above, streaming video over a cellular connection wasn’t trivial at the time. Unlike the other companies covered in previous issues, the team did actually need to solve a somewhat difficult technical problem to launch their MVP.

The initial streaming setup ran on a Mac mini running Windows XP that would reboot automatically: Emmett talking about the Justin.tv MVP https://youtu.be/6IFR3WYSBFM?t=753 (transcript):

We did the minimum possible work to get a show onto the Internet. When we launched it, it could only have one channel.

The way broadcasting worked, the only we could get it to work consistently, was we had a Mac mini running Parallels, which is a virtualization environment, for Windows XP where we had this piece of broadcasting software that we were automating with Windows shell scripting to pick up the camera input, and then auto reboot if it went down because it broke all the time because it was really buggy software.

That extremely jury-rigged thing worked. It put a video stream on the Internet. We could not scale that up to thousands of streams. It was impossible. But we got something that was at least compelling to one person on the Internet. That was compelling to us.

That was a critical step for us. Before we did that we basically weren’t learning anything.

The root password to their servers was the first initial of each of their name, kemj: I call this out, not as good practice, but as evidence as to what was important to the team at the time. The team talking about it https://youtu.be/2vG-Sxk-c2k?t=130 (transcript):

Michael: You know the other thing I was trying to remember, and cut this if this is if this is bad, but there used to be passwords that would be like the first letter of all of our names. What order was it in? Do you remember this?

Kyle: k-e-m-j

Emmett: yeah k-e-m-j that's right. It was like the root password to our servers.

They removed failed features as quickly as they shipped them: Challenges was one of the first major features they built after the launch and opening up of Justin.tv. They shipped it at the end of 2007. The idea was that viewers could pose challenges to streamers that streamers could then complete. It was a complete flop. The team discussing removing it https://youtu.be/2vG-Sxk-c2k?t=1563 (transcript):

Michael: We did remove challenges completely. Like I think we completely removed it from the site.

Kyle: It didn’t take too long. It wasn’t up there for months as this decaying fragment to the site.

Emmett: That’s fast. Cutting something after months is fast. I actually think that was something we were pretty good at. Being like “oh that was a mistake” and then not doing it anymore.

Kyle: There is startup time. It takes a month to launch and two months to kill.

My Take

They learned as they went: One of the things I struggle with is needing to feel “ready” before tackling the unknown. The reality is that, for me, that’s an excuse. Emmett talks about how little they knew when working on Kiki Calendar https://youtu.be/cQ3tZ05KCtw?t=66 (transcript):

If you look back on it, we kind of new how to program? We weren’t very good in retrospect. We didn’t really know what we were doing. I thought that you had to use a database from Java. I didn’t understand that that was a separate thing and they didn’t have anything to do with each other.

We really, really didn’t know what we were doing. We didn’t know how to make product decisions. We didn’t know how to raise money. We didn’t know how to hire people. We certainly didn’t know how to manage people. And we had basically none of the skills.

All we had was a desire to make it happen and an amazing support network of people who were helping us make it happen.

Justin has an excellent blog post called “How to do anything” where he talks about this as well:

I’ve found that when faced with a set of seemingly insurmountable challenges, the first step towards making it easier is to break things down into as large a set of small individual tasks as possible

It takes a long time to build a complete toolbox of skills: It wasn’t until the team started working on Twitch, six years into entrepreneurship, that Emmett felt like he actually had the skills he needed https://youtu.be/cQ3tZ05KCtw?t=659 (transcript):

That was when I guess made the final step, this was 5 or 6 years in as an entrepreneur, and had put together all the skills needed to actually run a company.

I could build products, I understood the engineering side, I could manage people. I had spent years painfully making mistakes, losing lots of employees. I’d figured out how to do hiring, we figured out how to scale product if we needed to. I knew how companies might make money or lose money and what I finally could do when we were here was I finally got the extra bonus skill of how to talk to users.

Resources

Also published here.

This is an issue from my free newsletter, Monolith. If you’re enjoying this, please consider subscribing. I write about how successful companies built their products (and broke the rules) before they had product market fit.


Written by grant | Subscribe to learn about how successful startups built pre product market fit. Co-founder of Perch (joinperch.com)
Published by HackerNoon on 2023/07/10