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
- 01Frontend: React + Remix (SSR) PWA — service-worker offline caching, installable, AWS Cognito authentication.
- 02Backend: fully serverless on AWS (Architect framework) — Lambda functions on every path.
- 03Data: single-table DynamoDB with a hand-built ORM; bidirectional relationships and denormalized copies kept consistent through one guarded update path plus batched writes.
- 04Automation: scheduled Lambdas — podcasts every 6 min, metadata hourly; plus the automated transcription and metadata-assignment pipeline on every new episode.
- 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
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.