Work · Case study
VOD experiences across the Nexstar CTV portfolio
Browse, content rows, on-demand discovery, and the publishing workflows that put VOD content in front of viewers. The on-demand half of the same product where live lives.
Overview
Live is the headline. VOD is the rest of the app. Every Nexstar CTV app has a Browse experience, a set of content rows, an on-demand player, and a publishing workflow behind it. The work here defined how those pieces behave and how the editorial side keeps them stocked.
The problem
VOD is easy to fill and hard to make useful. A row of "every clip we have, newest first" looks operational but doesn't serve the viewer or the editor. Content rows have to be opinionated, configurable per market, and easy to update from the CMS without a code release.
My role
- Defined the Browse and content-row patterns the CTV apps follow
- Specified how rows are configured, populated, and ordered from the CMS
- Worked with editorial to translate their priorities into row definitions that scale across 108 markets
- Defined the VOD playback experience: completed-state behavior, episode chaining, suggested next, return-to-row navigation
- Built the support documentation and the operational handoff so station editors could manage their own VOD shelves
Product decisions and trade-offs
- Rows are products, not lists. Each row has a purpose, an audience, and a population rule. "Most recent" is fine for one row. The rest need editorial intent.
- Configuration in the CMS, not the code. Row definitions, ordering, and visibility rules live in CMS configuration. Stations can change priorities without a release.
- Operational defaults. A station that doesn't actively curate still gets a usable Browse experience through smart defaults.
- Documentation as a launch deliverable. The editorial playbook for VOD rows shipped with the feature, not after.
Outcomes
A VOD Browse experience that works the same way across 108 stations with markets that have very different content situations. The CMS-driven row model means editorial decisions get made by the people closest to the content, and the apps reflect those decisions on the next refresh.
What I learned
Configurable beats clever. A flexible row model that the editorial team can drive themselves outperforms a smarter algorithm that nobody in the org can edit.
Defaults matter. Most stations won't tune their VOD shelves week to week. The default has to be the long-tail product.