How we’re scaling ConvertKit’s infrastructure to grow with our customers

Nathan Barry
Work in Public by Kit
3 min readFeb 21, 2017

Since ConvertKit has grown so much over the last year I’ve had more and more questions from customers asking how we’re handling the growth and what plans we have going forward to make sure we can continue to scale.

Before we dive in, let’s review some fun numbers just to give you an idea of the scale that ConvertKit operates at now:

  • 189,320,504 Emails
    Sent in the last 30 days
  • 2,881,620,674 Background Jobs
    One for every open, click, and email sent. Yes, that’s 2.8 billion!
  • 1,305,896 Recipients
    The largest single broadcast we’ve ever sent.
  • 11,697 Paying Customers

That scale means that it now takes a team of 25 full-time employees to support the product. Now let’s talk about the company changes needed to support this rapidly growing customer base.

Changes we’ve already made

Rewrote sending infrastructure

In order to send broadcasts considerably faster we rewrote our code. This means that we can now easily support incredibly large broadcasts (our largest broadcast went out to 1,305,896 recipients).

Faster page loads for large accounts

There were some pages (broadcast list, form list, etc) that struggled to load when the number of records got into the millions. We’ve rewrote this which makes pages load faster and more reliably for accounts of all sizes.

Reworked our background job processing

In order to make ConvertKit more resilient most tasks (tracking opens, sending emails, etc) are sent to background workers. We recently moved those worker servers to be significantly faster and more powerful. Allowing us to process more background jobs faster.

Focusing on 3 areas

In order to support the next phase of growth we are focusing on three major areas:

  1. Team
  2. Infrastructure
  3. Retiring technical debt

Team

The first focus area is around building out our team of engineers. Given our growth rate, it’s important that we can skillfully handle scalability, performance, and security concerns.

That’s why we’ve hired Grant Ammons as our new director of engineering. Grant brings a wealth of knowledge about running large SaaS apps at scale, and he will ensure we have the right crew in place to keep ConvertKit humming as we grow.

We’ve also brought in two new engineers to grow the team further. In addition to the new team members we’ve added consulting help on specific database and infrastructure scaling from the leading companies Rails Machine and Thoughtbot.

Infrastructure

The second focus is on our infrastructure. We are in the process of having multiple infrastructure assessments done, and we will be moving quickly to execute on the results of those assessments. Our goal is to get the ConvertKit infrastructure on solid footing very quickly, so you’ll never have to worry about it. Given our investments in our team and skills, we’re confident we can get there and earn your trust that we got it right.

Retiring Technical Debt

Retiring technical debt is our third focus. Technical debt is the code that works well at the time, but isn’t ideal for scaling going forward. Basically we moved quickly to build out ConvertKit and the features that make it fantastic. The shop got a little messy along the way. Our team is going to slow down a bit so we can clean up the shop, and put measures in place to greatly improve the quality of the features we ship going forward.

Our guiding principles

Our guiding principle for ConvertKit is simply that existing customers matter more than new customers. It’s not about a crazy race to grow as fast as possible. Instead we’re focusing everything we have on the ConvertKit family — the customers we already have — and trusting that great experience will bring more to the family.

That means in addition to our infrastructure goals we are investing heavily in customer support and our training content for our customers to build better businesses.

What can you expect?

As a customer of ConvertKit over the next 6 months you can expect:

  • More reliable infrastructure.
  • Faster support response times.
  • More ways to get help, including live chat in our slack community.
  • Lots of great training on how to build an online business.

Thanks for reading and supporting us on this incredible journey!

--

--