Podcast Platform
Publishing, distribution and audience analytics for independent creators.
- Role
- Full Stack Product Engineer
- Industry
- Media
- Client
- Startup
- Market
- United States
- Duration
- 6 months
- Status
- Live
What it is
An end-to-end home for independent podcasters: upload an episode, get it transcoded, distributed to every major directory through RSS, and see who actually listened.
What was going wrong
Creators were stitching together a host, a transcription service and a spreadsheet. Nothing shared data, episode metadata was entered three times, and analytics stopped at raw download counts.
- Take an episode from upload to published without leaving the product
- Generate compliant RSS that every directory accepts on first submission
- Give creators listener analytics beyond a download number
- Keep storage and bandwidth costs predictable as libraries grow
How it was built
Uploads go straight to object storage with presigned URLs, so audio never passes through the API. A queued worker transcodes to streaming-friendly bitrates and writes back durations and waveforms. RSS is generated per show and cached at the CDN edge, and playback events stream into a rollup table that powers the analytics views.
The parts that were hard
Large audio files through a small API
WhyRouting hour-long uploads through the application server tied up memory and timed out on slow connections.
FixThe client uploads directly to S3 with a presigned URL and only tells the API when the object exists, so the server handles metadata rather than bytes.
Directories that reject imperfect feeds
WhyEach podcast directory enforces slightly different RSS rules, and a rejected feed blocks distribution entirely.
FixFeed generation was moved behind a validator that runs the directory rule sets before a feed is ever served, so problems surface at publish time rather than at submission.
What changed
- Publishing collapsed from three tools into one flow
- Feed rejections caught at publish time instead of after submission
- Bandwidth costs became predictable by serving audio from the CDN rather than the origin
What I'd carry forward
Keep heavy bytes off the application path. Once uploads and delivery moved to storage and CDN, the API stayed small enough to reason about.
Have a product idea, or one that stalled?
Tell me what you’re building and who it’s for. If I’m the wrong fit I’ll say so on the first call and point you somewhere better.
- /naveentehrpariya
- GitHub
- /naveentehrpariya
- Direct message
Based in Jaipur, India (GMT+5:30). Replies within one business day.

