Roast uses private RSS because podcast clients already solve downloading, caching, scrubbing, offline playback, and routine listening better than most custom players.
The engineering trick is not inventing a novel player. The trick is serving the boring HTTP contract correctly:
- valid RSS XML,
- stable item GUIDs,
- real enclosure lengths,
- and byte-range-capable audio responses.
When those details are right, the feed feels simple. When they are wrong, every client behaves differently.