Podcast Magic

Podcast Magic logo Sublime (founded Podcast Magic as a Sublime feature) client logo

A screenshot-to-note pipeline for podcasts. Take a screenshot while listening — on any device — and you get back a clipped moment, a transcript, a summary, and a shareable video. Shipped with paying users.

Status
Ongoing
Client
Sublime (founded Podcast Magic as a Sublime feature)
Context
Podcast note-taking on iOS, desktop, and email
Role
Founder and creator. Built the full pipeline end to end.

Bill of materials

  • Python
  • Node.js
  • FFmpeg
  • Whisper
  • Postgres
  • Redis
  • iOS (Swift)

If you listen to podcasts, there’s no good way to take a note of the moment you care about. You can’t highlight audio. You can’t bookmark a specific sentence on a locked phone. So I built Podcast Magic: the gesture you already do — take a screenshot — becomes the note-taking action. Whatever was playing when you screenshot, you get a clipped transcript, a summary, and a shareable video of that moment.

The trigger

Two flows: an iOS app that syncs screenshots and filters to the podcast-relevant ones, and an email route where you forward a screenshot to an address and get the same output back. Device-agnostic — if you can take a screenshot, you can use it. The screenshot can be a Now Playing card, a lock screen, a podcast app, or a notification — the pipeline figures out what it’s looking at.

The resolution pipeline

Given a screenshot, the backend has to identify the podcast, the episode, and the moment in time. I maintain a growing index of podcasts and episodes, and the lookup cascades: first the local index, then the RSS feed (via podcastindex.org for discovery), then YouTube, then a custom Spotify recorder I built for cases where nothing else has the audio. Feeds that aren’t pre-indexed get added and auto-refresh on a schedule. The whole resolution step is aggressive about caching because it’s the slowest part of the pipeline.

Finding the moment

Once I have the audio, the screenshot’s timestamp tells me roughly where in the episode you were. I transcribe a window around that point, use the on-screen metadata to confirm the episode, and then use an LLM to identify the most likely “note” the user was trying to capture — not just a transcript snippet, but the coherent idea the speakers were expressing in that region.

The output

You get back, within 6–10 seconds end-to-end:

  • The transcribed moment (sentence-accurate)
  • An LLM-generated note of the idea
  • A shareable image card generated from the moment
  • A shareable video — dynamically rendered with the audio clip, captioning, and episode art

All rendered server-side, all async, all delivered to the app or replied by email. The slowest path from screenshot to output is under 10 seconds; the fastest is around 6. Live product, paying users.