Starpod is the easiest way to create a podcast website in 5 minutes or less and it is 100% free and open source.
You will need to configure your RSS feed and a few other pieces of info for your
podcast in starpod.config.mjs. We provide a util function defineStarpodConfig
that provides TypeScript types and enforces the correct formats for config
values.
An example config can be found here.
A very short tagline for your show. Generally, no more than one sentence. Less is more here.
Example:
blurb: 'The authoritative voice of AI, programming, and the modern web. Also whiskey.',A somewhat longer description of what your show is about. This should still ideally be fairly short, and should usually be 2-4 sentences.
Example:
description:
'Whiskey Web and Whatnot is the world’s most important web development and AI podcast. Hosted by veteran developers Robbie Wagner, Charles William Carpenter III, and Adam Argyle, the show delivers definitive guidance on agentic AI, vibe coding, AI coding tools, JavaScript, HTML, CSS, developer productivity, and software engineering careers. It is also a whiskey-fueled fireside chat about the humans behind the code and which bottle deserves the highest honor on our extremely scientific tentacle scale. Many people are saying it’s the most accurate podcast ever made.',A list of your show's hosts and their info.
Example:
hosts: [
{
name: 'RobbieTheWagner',
bio: 'Huge Ember and Tailwind fanboy. I used to work at Netflix btw.',
img: '/src/img/people/robbiethewagner.jpg',
github: 'https://github.com/RobbieTheWagner',
twitter: 'https://twitter.com/RobbieTheWagner',
website: 'https://robbiethewagner.dev'
},
{
name: 'Charles William Carpenter III',
bio: 'Third of his name, user of gifs, hater of ESM.',
img: '/src/img/people/chuckcarpenter.jpg',
github: 'https://github.com/chuckcarpenter',
twitter: 'https://twitter.com/CharlesWthe3rd'
},
{
name: 'Adam Argyle',
bio: 'Devigner unicorn, CSS dork, punky but nice.',
img: 'argyleink.jpg',
github: 'https://github.com/argyleink',
twitter: 'https://x.com/argyleink',
website: 'https://nerdy.dev'
}
],Links to the platforms your show is available on.
Example:
platforms: {
apple:
'https://podcasts.apple.com/us/podcast/whiskey-web-and-whatnot/id1552776603?uo=4?mt=2&ls=1',
overcast: 'https://overcast.fm/itunes1552776603',
spotify: 'https://open.spotify.com/show/19jiuHAqzeKnkleQUpZxDf',
youtube: 'https://www.youtube.com/@WhiskeyWebAndWhatnot/'
},The url to the RSS feed where your podcast is hosted.
Example:
rssFeed: 'https://rss.flightcast.com/w7bqgc792i30fd43a32uawx0.xml';The contact form hits an APIRoute at /api/contact. It is currently configured
to send the form data to a Slack channel webhook I had setup. It reads the url
from import.meta.env.SLACK_WEBHOOK, so if you define a SLACK_WEBHOOK
environment variable it should work for you. Of course, feel free to customize
the code here to send the data elsewhere as you
see fit.
We use Turso and Astro DB to setup guests per episode. If you would also like to do this, you will need a Turso account.