Profile
A Weekend Project That Never Stopped Running
It was early 2010 and Steve Heffernan was sitting inside Y Combinator's offices in Mountain View, working on a video encoding startup called Zencoder. Flash was still the dominant force for web video. HTML5 was a nascent promise. And Heffernan - already wired into the Ruby and Rails communities, already a Webmaster by trade - built a video player controls library over a weekend. Something useful, something scratching an itch. He called it Video.js.
That weekend project now has 38,700 stars on GitHub. It has 470 contributors. Amazon uses it. LinkedIn uses it. Instagram uses it. Dropbox uses it. Fifteen years after that weekend, Heffernan is leading a ground-up rewrite of it - because 15 years is long enough that some of the original architectural decisions are now load-bearing walls in a house that needs to be torn down.
Video is sneaky hard. On a surface, it's like a widget - but when you dig down deep into it, you can spend your whole life learning everything involved.
- Steve Heffernan
This is the throughline of Heffernan's career: identify something deceptively simple, dig into it, and refuse to stop. Video encoding looked straightforward in 2007 when he and Jon Dahl and Brandon Arbini started Zencoder. It wasn't. Video players looked like a solved problem in 2010. They weren't. Developer video infrastructure looked like a solved problem in 2015. It still isn't - which is exactly why Mux exists.
Heffernan has been running the same play for fifteen years, with progressively higher stakes. The difference is that each time around, he already knows the trap.
By The Numbers
The Infrastructure Behind the Numbers
$105M
Series D (2021)
Mux's largest funding round, closed April 2021 - signaling institutional conviction in developer-first video
470+
Video.js Contributors
Open source contributors who built on top of what Heffernan started in a weekend at YC
80%
Bundle Size Reduction
Video.js v10's target for minimal implementations vs. v8 - the whole point of the ground-up rewrite
#166
GitHub User ID
One of the first 200 users to ever create a GitHub account - a small detail that tells you a lot
$46M
Mux ARR
Annual recurring revenue from the video infrastructure platform built for developers, by developers
130
Mux Employees
A focused team building infrastructure that scales to billions of video minutes for thousands of customers
Chapter One
Zencoder: Cloud Before Cloud Was Obvious
Before AWS Lambda, before cloud-native was a marketing category, Zencoder was trying to do video transcoding in the cloud. The year was 2010. Heffernan, Jon Dahl, and Brandon Arbini had been building since 2007 and landed in Y Combinator's Winter 2010 cohort with a clear thesis: encoding video is expensive, slow, and painful to manage on-premises. Put it in the cloud. Let developers call an API.
Zencoder by the numbers
Founded 2007 | Y Combinator W10 | $2M raised | Acquired by Brightcove for $30M in July 2012
The idea was right, the timing was right, and the acquisition price reflected both. Brightcove paid $30 million in the summer of 2012. Heffernan moved over as Director of Open Player Tech - a role that let him spend three years working full-time on Video.js alongside Brightcove's existing player team. When he left in 2015, Video.js had a life of its own, and Heffernan handed lead maintainership to Gary Katsevman. He stayed on the Technical Steering Committee. He wasn't done.
Heffernan wrote the first version of Video.js during Zencoder's time at Y Combinator - a weekend project that outlived the company that spawned it by over a decade.
Chapter Two
Mux: Video Infrastructure for Developers
In 2016, Heffernan returned to Y Combinator. This time with Jon Dahl again, plus Adam Brown and Matthew McClure. The thesis at Mux was sharper and more ambitious than Zencoder: not just encoding, but the full stack of video infrastructure - delivery, analytics, real-time monitoring, player optimization - abstracted behind a clean developer API. Build something that makes streaming video as easy as any other API call.
Mux launched two core products: Mux Data (video performance analytics and quality of experience monitoring) and Mux Video (a complete video hosting and delivery API). The company attracted early traction from streaming startups and media platforms that didn't want to run their own video infrastructure. By 2021, enough of them did that investors handed over $105M in a Series D.
Video.js has had an incredible run. But it's also 15 years old, and some early architectural decisions are impossible to escape without doing something drastic.
- Steve Heffernan on Video.js v10
Mux is now the corporate steward of Video.js, and Heffernan is leading the v10 rebuild - the most significant rewrite in the project's history. The new architecture separates UI from media rendering, supports tree-shaking and code splitting, and ships framework-specific components for React, HTML, Vue, and Svelte. A monolithic player that grew organically over 15 years is being decomposed into small, composable units. The first technical preview landed in October 2025. GA is expected mid-2026.
Mux's bet on Video.js is strategic as well as sentimental. A healthy open-source ecosystem around video players creates developers fluent in the same concepts Mux sells at the infrastructure layer. The investment is as much about developer mindshare as it is about code.
Career Arc
From Webmaster to Video Infrastructure Pioneer
Pre-2010
Webmaster and Internet Marketing Manager at Azusa Pacific University. Active in Ruby and Rails developer communities - the networks that would matter at YC.
2007
Co-founded Zencoder with Jon Dahl and Brandon Arbini - a cloud video transcoding service years before cloud infrastructure became mainstream.
2010
Zencoder enters Y Combinator Winter 2010 cohort. Heffernan builds Video.js - the first open-source HTML5 video player controls - as a weekend project during the batch.
2011
Video.js officially launches open-source under LGPL license. Developer adoption begins. Zencoder raises $2M Series A.
2012
Brightcove acquires Zencoder for $30M. Heffernan joins as Director of Open Player Tech, working full-time on Video.js with Brightcove's team.
2015
Departs Brightcove. Hands lead Video.js maintainership to Gary Katsevman, stays on Technical Steering Committee. Begins building what will become Mux.
2016
Co-founds Mux with Jon Dahl, Adam Brown, and Matthew McClure. Returns to Y Combinator for a second time. Video infrastructure for developers.
2021
Mux closes $105M Series D (April). Total funding reaches $173.9M. Mux becomes the developer video infrastructure standard for thousands of companies.
2023
Media Chrome - web components for custom video and audio players - reaches v1.0 under Heffernan's leadership.
2025
Mux announces Video.js v10 technology preview (October). Heffernan returns to lead the ground-up rebuild of the player he created 15 years earlier.
2026
Video.js v10 beta released. GA expected mid-2026. Full feature parity with v8 by end of year.
Current Work
Video.js v10: Breaking What Isn't Broken to Fix What Is
The challenge with rebuilding a 15-year-old open-source project isn't technical - it's political. Video.js has 470 contributors, hundreds of thousands of dependent websites, and architectural patterns baked in from the Flash-to-HTML5 transition era. You can't gently migrate that. You have to be willing to start over.
Heffernan's approach to v10 is a separation of concerns the original architecture never anticipated. The UI layer is decoupled from media rendering. Components are individually tree-shakeable. Bundle sizes drop 70-80% for minimal implementations compared to v8. The new architecture ships with first-class React and TypeScript support, unstyled UI primitives for full customization, and framework-specific components for the React, HTML, Vue, and Svelte ecosystems.
Video.js v10 Architecture
Combines key innovations from Vidstack, Mux Player, Plyr, and Media Chrome into a single modern framework. Enhanced default design by Sam Potts (creator of Plyr). Streaming engine development by Qualabs and Cast Labs.
The Technical Steering Committee approved Mux as the project's corporate steward - a governance move that ensures Video.js stays fully open-source while having the institutional backing to maintain it sustainably. The community alignment required to make that happen is as much of an achievement as the code itself.
The new meaning of 'player' isn't monolithic - it's a library of composable units.
- Steve Heffernan
The Person
Semi-Pro Drummer, Full-Time Video Hacker
Heffernan's Mux bio notes, without further elaboration, that he's a semi-professional drummer and that in high school he drove a Civic lowered more than Mux's live latency. Both facts check out as the kind of detail that only gets included when someone has a sense of humor about themselves.
His GitHub account number is 166. To put that in context: GitHub launched in April 2008 and had around 100,000 users by the end of that year. Being user #166 means he was there in the first weeks - a window into how early he was embedded in the developer tooling ecosystem that would eventually define his career.
When Video.js launched in 2011, it was released under LGPL. Heffernan later changed the license to Apache 2.0 to remove friction for commercial adoption - an early signal of his pragmatic approach to open source.
At Mux, he operates as product architect - not just as a technical contributor but as the person who holds the product vision for how video infrastructure should work for developers. His writing on the Mux blog covers player architecture, pricing models, cloud encoding history, and developer experience philosophy. The thread across all of it: video is harder than it looks, and most tools make it even harder than it needs to be.
He's also a member of the Dash Industry Forum, an organization defining MPEG-DASH adaptive streaming standards - the kind of industry involvement that sits behind the scenes but shapes what every video player in the world can do.
- Created Video.js in 2010 - the web's most widely deployed open-source HTML5 video player with 38,700+ GitHub stars
- Co-founded Zencoder (YC W10), acquired by Brightcove for $30M in 2012 - one of the earliest cloud video startups
- Co-founded Mux (YC 2016), raising $173.9M including a $105M Series D in 2021
- Led Media Chrome web components for video/audio to v1.0 in 2023
- Leading Video.js v10 - a ground-up rebuild reducing bundle size 70-80%, with GA expected mid-2026
- GitHub user #166 - one of the earliest accounts on the platform ever created
- Member of Dash Industry Forum and video-dev communities; on Video.js Technical Steering Committee
* * *
Find Steve Online
Links & Resources