The DatoCMS Blog

A look back at 2021

Posted on December 20th, 2021 by Stefano Verna

Hello friends!

As 2021 comes to an end, it's time to continue our tradition (2020) and look back at all that we have achieved this year.

TL;DR

We continue to truck along nicely, growing organically and executing our vision, one step at a time. We've released at least 8 new big features that we've been dreaming of for a long time, more than what we set as our goal. Revenue has almost doubled (2.2M, +140%) and profit margins are extremely healthy (~70%). We added two people to our team in the areas where we felt the most pressure (support and sales). Support load and competitive pressure are both low, so we can afford to stay focused and continue to improve the product and ecosystem around it.

Our revenue numbers

Let’s start off with what everyone is most curious about. Our ARR as of today is €2,174,126 — a growth of 140% over 2020:

We are at about €435,000 in revenue per employee, which is... high. We plan on hiring one or two people in 2022, which will help us go even faster. Our Professional plan continues to do well and is equally distributed between monthly and yearly subscriptions, while the Scale plan is less frequent as it's more used by serial project creators (web agencies).

Here's a count of transactions: we're handling about 500 transactions each month these days... not too shabby!

Overall, 412 new users became paying customers in 2021, which is roughly two new customers per business day. Of these, 36 were custom enterprise contracts, a sign that the product is also appreciated by large companies, which usually perform a thorough competitor analysis before tying up with an external provider.

For the curious ones, here's a chart showing where our customers are located:

Product updates

There are at least 4 huge new features that we are extremely proud to have rolled out this year:

Each of these features required considerable effort and a major codebase refactor. Altogether we're talking about at least 150.000 new lines of code, not counting the new open-source packages we released around the core, the ones we updated, and the documentation (which is more healthy than ever!).

Following your requests, we also shipped countless new features and improvements. Here's just a small selection from our internal changelog:

In general, despite the number of new features introduced, we can say that the overall quality of the code is improving, instead of getting worse.

We took each of these features as an opportunity to improve the internal organization of the code. Before we even started working on an existing JS file we converted it to TypeScript. The result after 12 months is that more than 60% of the codebase is now fully typed. On the API side, we introduced a lot of new tests to make sure all combinations of different model options, field options, and permissions worked correctly, greatly increasing the coverage and reliability of the test suite.

For the nerdy ones, here's a Gource video of everything we touched in 2021:

DevOps

Operations is another of those areas that "is never done", but that we enjoy nonetheless. During 2020, we had to manage an impressive 2x growth in usage of our APIs. Here's the current load we're handling:

  • Content Management API: 200M API requests/month

  • Content Delivery API: 700M API requests/month

  • Assets transformation API: 1.5B requests/month (roughly 150TB of traffic/month)

We are very proud of our 99.99% uptime reports this year, but we want to do even better in 2022.

In general, we're very happy with how our infrastructure is holding up. Just today we've shipped a big improvement to the Real-time Updates API which is now capable of handling hundreds of thousands of concurrent connections! Aside from regularly upgrading the resources for our servers, no other major changes had to be made this year.

As stored data continued to grow throughout the year, we set out to restructure our architecture to allow for sharding across multiple databases to allow for seamless scaling. The result of this work will go online in early 2022.

Content & community

This year we produced more content than ever before, and our community has grown even more:

  • We posted 30 product updates, 21 articles on our blog, 7 newsletters (we like this low number!), and 2 webinars (we like this one less);

  • More than 1.8k posts have been submitted to our community forum, and 221 new people wrote their first post this year (welcome to the family!);

  • Our awesome community contributed many new plugins to the Community Marketplace (go check them out!);

  • We partnered up with Marcelo Lewin of HeadlessCreator.com to create a free DatoCMS course featuring 14 focused lessons (more are coming!);

  • We sponsored a full Next.js course on YouTube made by Tuomo Kankaanpää and the Compressed.fm podcast by James Q Quick and Amy Dutton.

We intend to collaborate with even more creators next year, so if you'd like us to sponsor you, please get in touch!

Support

Overall, we responded to over 10,000 support and sales email requests. Here's a chart showing the number of conversations we've had via email with our customers each month (December is still ongoing):

For each conversation there was obviously more than one response sent, so do your math here 😃. On top of email conversations, we've also had ~600 support and sales calls with you guys.

Looking ahead

We're very excited about the year ahead. We are already working on some highly requested features, and with our fully revamped Plugins system, it will be easier for you to customize the interface and functionality of DatoCMS.

As always, we hope you'll want to come with us on our journey.

Thanks for reading this super-long post... if anything surprised you or sparked your interest, don't be shy and reach us in the Community Forum! I'd love to answer any questions you might have.

We hope 2022 brings you and your families health, happiness and success.

Onward! ✊