Skip to content

Starpod: Create an amazing podcast website in 5 minutes

License

Notifications You must be signed in to change notification settings

shipshapecode/www-starpod

 
 

Repository files navigation

Starpod

Starpod is the easiest way to create a podcast website in 5 minutes or less and it is 100% free and open source.

Configuration

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.

Options

blurb

A very short tagline for your show. Generally, no more than one sentence. Less is more here.

Example:

blurb: 'A whiskey fueled fireside chat with your favorite web developers.',
description

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:
  'Veteran web developers RobbieTheWagner and Charles William Carpenter III host this informal, whiskey-fueled fireside chat with your favorite web devs. They discuss all things web development including JavaScript, TypeScript, EmberJS, React, Astro, SolidJS, CSS, HTML, Web3, and more. They take a unique approach and focus on getting to know the human side of developers and their hobbies outside of work, all while sampling a new whiskey that they rate on their unique tentacle scale.',
hosts

A list of your show's hosts and their info.

Example:

hosts: [
  {
    name: 'RobbieTheWagner',
    bio: 'Huge Ember and Tailwind fanboy. I work at Amazon btw.',
    img: '/src/img/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/chuckcarpenter.jpg',
    github: 'https://github.com/chuckcarpenter',
    twitter: 'https://twitter.com/CharlesWthe3rd'
  }
],
platforms

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/'
},
rssFeed

The url to the RSS feed where your podcast is hosted.

Example:

rssFeed: 'https://anchor.fm/s/e329dea0/podcast/rss';

Setting up the contact form

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.

Configuring guests

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.

About

Starpod: Create an amazing podcast website in 5 minutes

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published

Languages

  • TypeScript 53.6%
  • Astro 35.2%
  • CSS 6.4%
  • JavaScript 4.8%