Custom Podcasting Platform
A multi-tenant podcast platform
We built a hosted podcast platform that takes a show from signup to live in a single system: media hosting, a public show page, feed generation, distribution to the directories, subscriber email and guest booking. It is multi-tenant SaaS, so every show runs on its own domain or a shared one, with storage and email allowances metered per plan and enforced at the point of upload and send rather than reconciled after the fact.
The technically unforgiving part is the feed. A podcast is not consumed through the application at all – Apple, Spotify and every podcast client read a generated RSS document, and once that document is in their index it becomes a contract you cannot safely break. Episode GUIDs have to stay stable for the life of the show or listeners get a backlog re-delivered as new episodes; enclosure URLs have to keep resolving, with byte-range support so players can seek and resume; and the feed has to satisfy several directories’ validation rules at once, from the iTunes namespace tags through to artwork dimensions. The platform generates that feed and guarantees the show owner keeps it, which means the hosting can be left without the audience being lost.
Audio delivery drives the rest of the infrastructure. Storage is allocated as a lifetime quota per plan, so files have to be accounted against a tenant at upload; and because podcast clients never call home, listener statistics can only be derived server-side from requests against the enclosure URLs. Everything the analytics dashboard shows is reconstructed from that traffic rather than from an SDK reporting back.
Around the feed sit the two workflows that make the product more than a host. Email runs per tenant with the show owner’s own SMTP credentials, so sending reputation and deliverability stay with the show rather than pooling across the platform, and new episode alerts fire to the subscriber list off the publish event with monthly send volume metered per plan. Guest booking is a full intake pipeline rather than a contact form: applications arrive through a public form, move through states in a Guest Hub, and connect to the episodes they end up on. Custom domain support, per-tenant mail configuration and plan-level quota enforcement are what make all of this hold up with many shows running side by side on one codebase.
