A podcast featuring conversations with the people shaping software and technology.
Compiled Conversations is a podcast that features in-depth conversations with the people shaping software and technology. Each episode explores real-world experiences, technical challenges, and the thinking behind the tools, systems, and decisions that drive modern development. From engineering practices to architectural choices, this is a show for developers who care about how software is built - and who's building it.
To run the Hugo site locally for development:
-
Start the development server:
hugo server
-
View the site at
http://localhost:1313
The development server will automatically reload when you make changes to your content or templates.
Note: Make sure you have the required dependencies installed for Tailwind CSS:
npm installThe update-episodes-metadata script automatically processes local episode audio files and updates their metadata. It:
- Reads episode markdown files from
content/episodes/ - Finds corresponding audio files in the local
episodes/directory - Extracts audio duration, file size, and generates MD5 hash
- Updates episode frontmatter with this metadata
- Embeds podcast metadata (title, artist, album, etc.) into audio files using ID3 tags
- Uses album art from
static/album-art.jpg
Note: The local episodes/ directory containing audio files is not committed to this repository.
To run the script:
npm run update-episodes-metadataThe sync-episodes script uploads local episode audio files to a specified S3 bucket. It:
- Reads MP3 files from the local
episodes/directory - Compares local file hashes with S3 ETags to detect changes
- Uploads only new or modified files to the specified S3 bucket
- Provides dry-run mode to preview uploads without making changes
- Sets correct
audio/mpegcontent type for podcast files - Includes verbose logging for detailed upload information
Note: The local episodes/ directory containing audio files is not committed to this repository.
Prerequisites: AWS credentials must be configured via environment variables, AWS CLI, or IAM role.
To run the script:
npm run sync-episodes -- --bucket my-podcast-bucket --dry-run
npm run sync-episodes -- --bucket my-podcast-bucketThe design of this podcast website was inspired by Adam Wathan's Full Stack Radio podcast.