Huge as a platform is quite an ambitious goal.
At the basic level it’s both a private-first podcasting AND blogging platform, but it also requires a fully-blown membership system, useful analytics, a really nice writing experience, support for use on any device and customisation options for public sites.
Not really the small MVP everyone wishes for
I've tackled this in small chunks, and I'm not yet done.
Here’s what I’ve built so far, in the order I made them.
The editor
I started with the editor because it will be one of the most-used parts of the platform and it needs to be really good.
I've used a number of blogging platforms in the past and the ones you tend to think of as "good" typically have good editors, and vice versa, regardless of other features they may have.
I spent a few weeks in React trying to make a good writing experience and I'm very happy with what it's turned out to be.
Auth and creating publications
The next step was to create the backend system for publishers to log in and make publications.
I decided on using magic login links over email, which I'll also use for member logins. I have used these on multiple other projects so it's easy to drop into a new codebase.
Creating posts
Now that creating publications was possible, I moved on to being able to create and publish posts. I started with text posts, leaving audio/podcasting for the next step.
This required plugging in the editor I'd already made into the platform and basically creating a form around it so save all the post data, like title, public/private state, published/draft state, URL, etc.
Audio posts and RSS feeds
Next up I tackled creating audio posts, which are regular blog posts just with an audio file attached. I wanted to make the publishing experience as similar as possible for text-based and audio posts, so the exact same editing interface is used. Once an audio file is attached to a post, it becomes available in the podcast feed and should display a player on the public site (next step!).
Creating the RSS feeds for the public feed and private member-specific feeds took a while. I spent a while reading through the RSS spec and reading up about podcast-specific elements, plus researching how these are displayed in some of the main podcasting apps.
I love RSS!
Public sites
The main part of the Huge platform left was the public sites. These sites host the content that is published, on customisable subdomains (eg building.huge.fm).
My main aim for public sites, alongside being a nice place to read and listen to content, is that the front-end code is written so that custom CSS can easily be applied by publishers. I don't think a theming system will be one of the early things I build into Huge due to its complexities, but allowing custom CSS on a site—built around a solid page structure—will give publishers some room to customise their sites.
Like with other parts of the platform, subdomains were really easy to implement because I'd already done this in a different project.
Settings
The last thing I've been working on is the Settings area in Huge. This is turned out to be quite extensive due to the membership and access settings needed plus all the settings required for setting up podcast feeds.
What's next
Huge is nearly ready for users. There are just a few more features to build:
member signups
member auth and making sure the right people see the right content
member importing
private member podcast feeds
post publishing updates: excerpt, episode artwork and some other podcast-related settings
member email alerts for new posts being published
This should be done by the end of September.
Launch plan
I've been thinking recently about how to launch Huge. For other products I've built, I shared what I was working on basically as I started building. This project has been different and I've only shared the idea to a tiny number of people.
For Huge, things are a bit different. I think it will be a decent-sized player in the podcast world and will be around for years to come. Because of this, I'm in no rush to launch.
I'm actually thinking of building and publicly launching a few related tools before I publicly launch Huge. Launching multiple times is something I want to try, and having them all tie back to Huge should bring in some decent traffic.
Here's what I'm thinking:
announce the platform, with waitlist
release a related free tool, write for SEO, get users on main platform
release another free tool, write more SEO, get more users main platform
etc
open Huge up to the public
I've been watching Chris at Loops running the company with a waitlist for 18 months. It's a totally different approach to what I've done before, which was more about opening up as soon as possible to everyone to try and get as many users as possible as fast as possible.
This time—hopefully it's the right decision!—I'm taking it slower and trying to build a more sustainable and solid company.