What We Use to Build Calibre

Karolina Szczur

Karolina Szczur

October 13, 2021

Illustrated by

 Jeffrey Phillips

Services we use can impact team productivity, communication and product quality (amongst many other aspects). Good tools save time, reduce overhead and primarily, do the job you hire them for well. But not always finding the right services and tools is easy. Sometimes, what we thought would be helpful ends up bringing more trouble than gain.

There’s no one-fits-all strategy. Our choices evolve alongside business and teams’ needs, and so do the criteria for good products or tools. What works today might not work tomorrow. There’ll be products you love and ones you dread using (but they do the job). The tool choices you make can be even more critical for a small team. They can bring transparency, help automate manual processes, and sometimes, fill gaps that haven’t been filled by new hires yet.

Here’s a non-exhaustive list of our favourite (or most-used) services that help us run Calibre.

Project Management: Linear

What we use it for: project management and issue tracking.

How it helps us: Linear replaced Notion for project and issue management. Before, we were shoehorning boards to fit tasks and bug tracking, which resulted in more chaos than organisation. With Linear, we gained transparency, speed and ease of use. Thanks to GitHub and Intercom integrations, we can auto-complete tasks or follow up with customers when we ship a requested feature. We can also easily plan our roadmap:

Calibre’s roadmap for the next two quarters.
Linear’s Roadmap keeps us focused on bigger iniatives and goals.

Linear is a true pleasure to use, and we hope to use it for other, non-engineering tasks one day.

Design: Figma

What we use it for: assets library and design process.

How it helps us: While small teams might not have the most elaborate design setups, we use Figma to manage our design systems and design work. With Team Libraries, we can reuse components to create unified, cohesive interfaces. Figma makes it easy for us to collaborate and comment on ongoing design work, too, no matter the role. Before FigJam, we also used Figma to run live workshops and research exercises, such as empathy mapping.

Figma projects for our marketing properties, product, emails and design systems.
We organise areas of the business and reusable resources into separate Figma libraries.

Figma is our all-in-one design resource centre and source of truth for everything visual.

Knowledge Base: Notion

What we use it for: knowledge base and collaborative writing.

How it helps us: Notion does quite a few jobs for us. One way we use it is as an internal knowledge base for processes, templates and guidelines.

Editorial board for writing and tracking blog posts and customer communications.
Task board and calendar for our editorial and communications efforts.

In some cases, it’s also a task board (our editorial, email campaign and communications calendar live here). We kick-off project briefs and write articles in Notion because of the ease of review and collaboration. We also work with contractors, such as illustrators, using templates for each illustration brief.

With Notion, we create a business know-how directory for our team.

Email Delivery: Postmark

What we use it for: transactional emails.

How it helps us: Postmark delivers tens of thousands of transactional (automated) emails from Calibre, such as notifications about payments, account, or speed reports and alerts.

Preview of transactional emails we generate in continuous integration suite.
Transactional email preview tool we built with Postmark’s APIs and Buildkite.

Apart from email delivery, we also use the Templates API to synchronise HTML templates as part of a Buildkite continuous integration suite. That way, we can develop the templates, preview them, then deploy them to be sent to customers. We found this process to be far less error-prone than other templating systems we used in the past.

Thanks to Postmark, we can reliably deliver a high volume of reports and alerts.

Video Calls: Whereby

What we use it for: 1-on-1s, team syncs, customer and demo calls.

How it helps us: We’re not ones for many meetings, but when we do it, we prefer simple, in-browser tools. Whereby allows us to share short links, join without any additional software and customise room display for sales or demonstration calls. It works without hiccups for us and anyone we talk to. Whereby nails the balance between too few and too many features, providing us with solid call experience.

Team Communication: Slack

What we use it for: team communications and company command centre.

How it helps us: Like a lot of organisations, we use Slack for company chat. We also sync numerous services to separate channels to keep track of different aspects of the company, such as application exceptions, GitHub activity, status updates from our hosting providers, missed and met performance budgets, tweets, etc. In a way, looking at Slack can be a “what happened in Calibre” feed.

Slack channel with updates about Heroku status.
We often sync RSS feeds directly into our Slack to receive timely alerts: here for Heroku issues and outages.

While we’re mindful of how distracting Slack can be, we use it to stay connected and have synchronous discussions when it’s needed.

Newsletters: MailChimp

What we use it for: newsletter delivery.

How it helps us: We use MailChimp to send newsletters and campaigns that aren’t necessarily directed to customers only. This includes Release Notes (monthly changes digest), new features campaigns, and our web performance news newsletter—Perf Email. Anyone can sign up and receive these emails (we don’t auto sign up anyone).

We use custom-coded templates to have more control over the brand and visual display of content we feature. We find it relatively easy to manage and send campaigns with MailChimp.

Customer Communications: Intercom

What we use it for: onboarding, support and product announcements.

How it helps us: It might be counterintuitive to use a live chat platform when you don’t provide live support, but we like the accessibility of an in-app (or website) widget. We use Intercom for support, shared inbox and selected outgoing communications to customers and leads. It allows us to use a single product for many purposes, which works well in a small team. We can support our customers, onboard leads or notify them about new features.

Series of onboarding Intercom emails introducing Calibre features.
We send a Series of onboarding emails with tips about key Calibre features for speed monitoring.

With Intercom, we also can collect customer satisfaction ratings and essential feedback about the product to drive our future roadmap. It keeps us close to our customers, which is where we want to be.

Search Engine Optimisation: Ahrefs

What we use it for: SEO optimisation (mostly keyword and content research).

How it helps us: Ahrefs is one of these tools that can be complex at first, but learning how to use them proves invaluable. Truth be told, before Ahrefs, we didn’t quite know how to analyse (and improve) our SEO and be more focused on content marketing. We have a research process in place for new writing, and we’re constantly growing the discoverability and reach of our materials. Thanks, Ahrefs!

Infrastructure Management: Terraform Cloud

What we use it for: configuring Calibre Agents that run performance tests (autoscaling, networking, monitoring and operating across 17 geographical regions).

How it helps us: For any infrastructure changes, we follow a multi-step release process. First, each change is reviewed in a Pull Request in GitHub. We can configure each test region individually by using variables while they’re deployed using the same infrastructure as code. We can add more testing regions, change scaling options, upgrade Chrome and Lighthouse versions with ease.

Preview of Terraform workspaces for different Test Agent regions.
With our Terraform setup, we can easily and reliably release infrastructure changes.

Using Terraform Cloud, we have a complete history of deployments to our systems: what changed, when and who made the change. It’s an excellent reliability system allowing us to manage testing infrastructure without hiccups.

Version Control: GitHub

What we use it for version control.

How it helps us: We host all of our code and open source projects on GitHub. Every code update to Calibre goes through a Pull Request process. We use Pull Requests to review work in progress, talk about potential solutions and communicate changes amongst the team. We also use a handful of integrations:

  • Vercel and Heroku automatically generate previews.
  • Calibre Pull Request Reviews to test the performance of each code change and Image Actions to compress images automatically.
  • Linear to connect to tasks and bug reports.
Preview of checks performed in GitHub by connected integrations.
For our marketing website, we generate preview deploys with Vercel and run speed tests directly in Pull Requests with Calibre.

We can collaboratively work on our codebases and engage with the community through open source projects with GitHub.

Application and Database Hosting: Heroku

What we use it for: hosting the Calibre application and database.

How it helps us: Heroku’s PostgreSQL provides a first-class database management system. Upgrading a database becomes a trivial task that we complete in less than a minute with minimal disruption for our customers. Automatic backups, rollbacks, and the ability to upgrade save us from often running complex database operations in the command line.

Thanks to Heroku, we release with confidence and are sure of data integrity.

We’re loyal to our toolset. Changing processes is costly and can be complex. We don’t commit to it unless current workflows aren’t working or scaling with business and customer needs. We’re not lured by novelty for the sake of it.

The services listed above help us execute our goals as a small team. We’re sure this list will keep evolving as we do too. What do you use to run your SaaS business?

Karolina Szczur

Karolina Szczur

Karolina is a Co-founder and Product Design Lead at Calibre. With years of design experience under her belt, she’s responsible for the comprehensive user experience spanning over product, visuals and content. Find her on Mastodon or LinkedIn.

Become a site speed expert

Join thousands of subscribers keeping up-to-date with web performance news and advice.

The best performance newsletter I’ve come across. Highly recommended.

Addy Osmani

Addy Osmani

Engineering Manager at Google Chrome