Work out where audio lives
The site is meant to carry audio and there is no shape for it yet.
episode is already one of the entry kinds. Unresolved: where files are
hosted, whether a player is embedded in the entry template, and whether an
episode is an entry with audio attached or something else entirely.
Leaning: blob storage
Audio files go in a blob store rather than the repository. That settles the hosting question, which was the one blocking the rest — media in git bloats every clone forever, and the deployment bundle is the wrong home for a file nobody needs at build time.
Not yet confirmed: which store. Vercel Blob is the obvious fit for this stack, but the choice is worth checking against what the others cost at podcast sizes before committing, because moving later means every published episode URL moves with it.
Three things this does not answer:
- Is an episode an entry with audio attached, or its own shape? A file in
src/content/entries/with an audio URL in its frontmatter would inherit routing, the sitemap and share cards for free. Whether that is right depends on whether an episode is a page with a player on it or a thing in its own right. - Does the entry template grow a player? A plain
<audio>element costs nothing and works everywhere. Anything more is a decision about how much of the page the audio is. - Is there a feed? This is the one worth settling early. If episodes are
ever meant to be in podcast apps, they need an RSS feed with
<enclosure>URLs pointing at those files — which makes the blob URLs public, permanent and quoted in someone else's database. A URL that has to survive that is a different commitment than one that only has to survive this site.
SC-13 is the build; this is the shape it waits on.
Closed — a blob store, and that is the question this ticket asked
Audio lives in a blob store. Setting it up is SC-20, the last piece of the launch.
The two questions left open above — whether an episode is an entry with audio attached, and whether the template grows a player — were never this ticket's. They are about what an episode is, not where the file sits, and they have moved to SC-13 along with the note about a feed, which is the decision that actually binds.