← ALL PROJECTS

PROJECT 005 · CASE STUDY

Goodpods

LIVEEngineering lead2026-05-15 · REACT · TYPESCRIPT · NEXTJS · CAPACITOR · PYTHON · FASTAPI · POSTGRES · ELASTICSEARCH · REDIS · GCP
VISIT LIVE ↗

Podcast discovery and social listening, scaled from 5 to 120,000 monthly active users. I lead engineering across the apps, the web and the platform behind them.

The brief

Podcast listening is solitary by default. The big apps are built for playback, not for finding out what people you trust are actually listening to. Goodpods is a podcast player where discovery is social: you follow people, not an algorithm.

Underneath, that means running a full podcast platform (RSS ingestion, episode resolution, playback) and a full social product (follows, feeds, groups, comments, leaderboards) at the same time, on iOS, Android and the web, with a small team. I’ve led engineering since 2020, when I took over the original backend.

Calls that mattered

  • Rewrote the early Django backend as FastAPI on Cloud Run, in parallel rather than big bang: the two systems coexisted for a year while every touched feature moved across with its inefficiencies fixed. Capacity went from about 50 concurrent users to 1,500.
  • When a Kim Kardashian promotion landed with two weeks notice, I load-tested the platform, rearchitected it onto managed services (Cloud SQL, Memorystore, Elastic Cloud), and sized it for the wave. The promotion peaked around 300 concurrent users with no downtime and brought 45,000 signups.
  • Unified the mobile apps and the web onto one codebase with Capacitor, keeping native Swift and Java plugins only where the web genuinely can’t do the job: the audio player, offline mode and downloads. 95% of the web codebase shipped to native unchanged, store ratings went up after the swap, and every web release now ships to iOS and Android.
  • Ran a five-month SEO performance programme: parallel SSR data fetches, guests served entirely from the SSR payload, server-rendered structured data. Lighthouse went from the low 20s to 95 and organic search clicks grew from a few dozen a week to over 1,000.
  • Built Magic Marketing, a standalone paid AI product on ai.goodpods.com: an episode gets transcribed, an LLM generates marketing copy, and Stripe handles payment. A paying MVP in under two weeks, rebuilt on a stronger architecture once requirements outgrew the prototype.

Results

Goodpods is live on the App Store, Google Play and the web, grown from 5 to 120,000 monthly active users and 40M+ page views a month. The backend averages 2M+ requests a day, and big releases get load-tested with Locust before they ship.