We publicly launched Console in Jan 2021. The goal was to run the company for as long as possible with minimal technical infrastructure, and ideally no servers! The product was just a weekly email (and a very simple single-page landing website), so that was very easy to do. We only had a few requirements for the software we needed to run everything.
A year later we now have +18k newsletter subscribers, a website with multiple sections providing our tool reviews, list of beta releases, interviews and longer-form articles, plus a weekly podcast. Have we managed to keep things under control and remain serverless?
The same tools as last time
We're still using the same 10 tools from last year:
- 1Password - we try to use SSO through Google Workspace but many of our tools still have their own login system. We use 1Password to keep everything secure and have a shared team vault for company-level credentials.
- Basecamp - this continues to be where we run the company. Tasks and posts get the most use, but we also use chat on an ad-hoc basis. Basecamp has had minimal product development over the last few years, but recently they have restarted feature releases and there are new things being added every 6 weeks. It's nice to see ongoing improvements to the product we use every day.
- Cloudflare - our website is built as static HTML, CSS and JS using Hugo, and then deployed onto Cloudflare Workers Sites. It works really well, and Cloudflare is rapidly building out a new type of cloud platform with features like email (currently just forwarding) and storage. I'm looking forward to seeing what other features Cloudflare announce this year. Check out the podcast interview I did with their CTO, John Graham-Cumming, in season 2 of the Console Podcast.
- Feedbin - most of the sources we track for devtools have RSS feeds, so we subscribe to them using Feedbin. Emails can also be piped in so we don't spam our main inboxes with all the newsletters we keep track of. The search functionality is particularly helpful for finding beta releases.
- Ghost - this blog!
- GitHub - all our code lives on GitHub, most of it public. We have a few internal tools, particularly around building the newsletter from Google Sheets.
- Google Workspace - this is the other place we run the company. All email (external, we don't use email internally), calendar, file sharing and collaboration on docs and sheets is done through Google Workspace. There's still nothing that beats it for web-based office software that works in all major browsers on all major operating systems and allows multiple people to work on a single version of files.
- Mailchimp - our newsletter is run from here, but it's my least favorite of all the tools we use. We stick with it because it's industry standard, which means it does a good job at ensuring emails are delivered. There's no way I'd want to run our own mailing list system and have to deal with sender reputation, but I find the UI very frustrating and the functionality quite limited.
- Plausible Analytics - we keep track of popular pages and referrers using Plausible, which is the only external JS we include on the whole site. Privacy is important to us and was a key factor in picking Plausible from all the privacy-focused analytics tools.
- Xero - all our accounting for bills and customer invoices goes through Xero.
New tools in 2021
As we added more complexity into what Console is, we started using a small number of additional tools:
There isn't really anything much to monitor because it's all managed by Cloudflare, but we still have Datadog checking that the website is loading as expected.
All our design is done in Figma. The collaboration features make it easy to comment and review design prototypes and work in progress.
We have a Golang chatbot that posts our subscriber stats into Basecamp every morning. This runs as a Google Cloud Run container on a scheduled tasl. It was originally an Azure Function but I ported it to Golang and Google Cloud Run because Google was iterating the product faster and using containers makes it easier to maintain.
Launching our podcast last summer meant we needed somewhere to record and host the episodes. Recording was done using Zencastr as the primary tool, but we also provide guests with a backup Riverside link just in case Zencastr is down. We aim to make it as easy as possible for guests and don't want to have to reschedule due to an outage.
We also needed to make it easy to syndicate episodes out to Apple Podcasts, Spotify, Google Podcasts, etc. Simplecast does a good job of hosting everything, including the show pages. We're in the process of designing a section for the website for the show pages, but the episodes will continue to be hosted by Simplecast.
The Console tech stack is very simple and only costs a few hundred dollars a month.