I love reading posts on r/SaaS. I love the vibe of the community. It is one of the few communities for SaaS founders that remained free of self promotion.
Over the last few weeks, I had very little time to browse through the posts.
With two kids at home, I spend a lot of my time doing chores. So I thought, why not listen to the posts while I am cooking and doing the dishes?
In this post I breakdown the different tools I used to create the podcast show:
- PRAW to fetch the Reddit posts with Python
- Google Text-to-Speech to convert Reddit posts to audio
- Transistor to host and publish the podcast
- Render to run my Python code once a day
- Canva to create the artwork for the podcast
Before I get into the details of how I built the show, here is an example episode from the podcast.
PRAW: The Python Reddit API Wrapper
PRAW makes it super easy to access Reddit's data. The Subreddit model provides access to all the subreddit's posts. The Submission model contains the post details and a list of comments which are represented by the Comment model.
Google has fantastic text-to-speech technology. You have probably experienced it already on Google Assistant or Google Translate.
It is easily available via their cloud API. In 2016, they have added Wavenet voices, which sound more natural.
When reading out the the post comments, I thought it would be cool to rotate between different voices.
So I picked 4 Wavenet voices that I liked. When reading out the comments I randomly rotated between these 4 voices.
Transistor: Podcast publishing platform
I wanted the creation of the podcast to be 100% automated, so I looked for a Podcast hosting platform that has an API.
Transistor has an awesome API with really good documentation. For example, creating a new episode from an audio file, is just one call.
Because I am not earning anything from this podcast, I initially hesitated to spend 20$ per month to use Transistor. Now that I have tried it, it was well worth my time.
Render: Cloud hosting
In the past, I have always used AWS for hosting my code in the cloud. AWS is an amazing platform with lots of options, but it is also a little time consuming to setup.
After a little research, I ended up using Render. It tooks me 5 mins to setup a cron job on Render to run my python code periodically.
The cool thing about Render is that it fetches any changes to my Github repository, and updates the cron job automatically.
Bonus: Using Canva to create the podcast artwork
I used Canva quite a bit in the past, mainly to create blog post cover images. When I searched for "Podcast" templates on Canva, I liked the first result, so went for it without thinking too much.
After a little bit of editing, my podcast cover image was ready and I could publish using Transistor.
Interested in creating an audio podcast for your community? Feel free to start a conversation with me on Twitter @nirshub