Back to work
Technical LeadershipLive · Public

Broadway Podcast Network

A serverless “Netflix for Broadway podcasts,” architected from the ground up.

Summary

BPN is the network platform I co-founded and built as CTO: a Remix progressive web app on a fully serverless AWS backend that turns the network’s podcast host into a headless CMS and automates podcasting at scale. I led both the graphic-design and system-design teams that built it, and I solely maintain the website today. Over 200 podcasts, tens of millions of downloads, and software now licensed by other network leaders. Under the Broadway brand it’s a content/streaming-platform problem — catalog ingestion and sync, offline playback, search, recommendations, and scale-to-zero economics — the same shape Netflix, Spotify, or Twitch solve.

The Problem

A growing podcast network needs a discovery platform that stays perfectly in sync with a third-party host, works offline on any device, and scales to millions of downloads — without a server to babysit or a second CMS to hand-maintain.

Approach

  • Used Megaphone (the network’s podcast host) as a headless CMS, synced every 6 minutes by a scheduled Lambda — no duplicate content system to maintain.
  • Built a Remix PWA: server-rendered, offline-first, installable, with AWS Cognito auth and instant favorites/queue sync.
  • Designed a single-table DynamoDB model with a custom ORM for the network’s podcast → episode → relationship patterns.
  • Automated operations with scheduled Lambdas: content sync and metadata/search refresh.
  • Built a fully automated episode-ingestion pipeline that transcribes each episode, analyzes it to identify the shows discussed and guests involved, and automatically assigns the resulting metadata on the frontend.
  • Enriched show and cast data from Wikidata, and added AWS Bedrock AI for content features.

Architecture

  1. 01Frontend: React + Remix (SSR) PWA — service-worker offline caching, installable, AWS Cognito authentication.
  2. 02Backend: fully serverless on AWS (Architect framework) — Lambda functions on every path.
  3. 03Data: single-table DynamoDB with a hand-built ORM; bidirectional relationships and denormalized copies kept consistent through one guarded update path plus batched writes.
  4. 04Automation: scheduled Lambdas — podcasts every 6 min, metadata hourly; plus the automated transcription and metadata-assignment pipeline on every new episode.
  5. 05Integrations: Megaphone API (CMS), SES/SNS (email + alerts), Wikidata (enrichment), AWS Bedrock (AI), Sentry (monitoring).

Key Tradeoffs

Megaphone as a headless CMS

The network already publishes to Megaphone; treating it as the source of truth removed an entire duplicate CMS and kept the site automatically in sync with what actually shipped.

Single-table DynamoDB + a custom ORM

The access patterns are relationship-heavy but bounded; one optimized table with denormalized copies serves reads in a single query — far cheaper and faster than relational joins at this scale — at the cost of a disciplined write path, which the ORM enforces.

Fully serverless

Traffic spikes around show openings and news; Lambda + DynamoDB scale to zero and to peak with no servers to operate — the right fit for a small team running a large network.

Stack

RemixReactTypeScriptAWS LambdaDynamoDBCognitoSES/SNSMegaphone APIAWS Bedrock

Outcome

A self-syncing, offline-first network platform scaled to over 200 podcasts and tens of millions of downloads — and good enough that other network leaders pay to license the software.