Esy Research

Engineering deep dives and AI tool breakdowns weekly

Building a Video-First Content Platform with MUX and Next.js

Zev Uhuru
Zev UhuruEngineer, Esy
February 5, 20268:00
muxnext.jsvideo-platformseostatic-generation

How Esy's school and research pages use MUX for video hosting, transcript generation, and SEO-optimized content delivery — the full technical implementation from upload to ranked page.

Video-first content pages are an SEO weapon hiding in plain sight. A page with a MUX-hosted video hero, crawlable transcript below, and written content underneath hits three ranking signals simultaneously: dwell time (video), content depth (article), and keyword density (transcript). This post covers the full technical implementation at Esy.

The Architecture

The content platform runs on Next.js 15 with static generation. Each video page is a statically generated route that includes:

  • A MUX video player at the hero position
  • A collapsible transcript toggle below the player
  • A full written article underneath
  • Related content in a sticky sidebar

The data model for each video lives in a TypeScript data file — not a CMS. This keeps the build pipeline simple and the content version-controlled.

MUX Integration

MUX handles video hosting, adaptive bitrate streaming, and thumbnail generation. The integration is minimal:

  • Upload a video to MUX, get a playback ID
  • Use @mux/mux-player-react in a client component
  • Generate thumbnails via https://image.mux.com/{playbackId}/thumbnail.jpg

The player is configured for on-demand streaming with custom brand colors, playback rate controls, and keyboard shortcuts.

The SEO Play

The transcript is the key. MUX can generate transcripts automatically, but even a manually written transcript serves the same purpose: it puts the video's spoken content into crawlable HTML. A 10-minute video about "building agentic workflows with Claude Code" produces 2,000+ words of keyword-rich content that Google indexes immediately.

Combined with the written article below the video, each page targets long-tail keywords with very low competition. "How to build multi-agent workflows" has almost no SEO competition right now. In 12 months, it will.

Build-Time Generation

Every video page uses generateStaticParams to produce static HTML at build time. No server-side rendering, no edge functions, no API calls at request time. The page loads instantly from a CDN. MUX handles the video streaming separately.