processed per month
requests per day
Canva is the world's only all-in-one visual communication platform. As of 2023, more than 165 million monthly active users - including over 500,000 nonprofits, over 60 million students and teachers, and 85% of the Fortune 500 companies - create over 200 designs every second on Canva.
Like many modern, data-centric companies, Canva has built a batch data platform centered around the cloud data warehouse Snowflake. Snowflake has been a great investment for Canva, boosting productivity for both Data Scientists and Data Analysts building internal models for business intelligence and machine learning.
However, Canva's product teams wanted to build more user-facing applications over real-time data. As an example, Canva was already tracking simple metrics like how many views a design gets on the platform, but only for internal visibility. They wanted to surface those valuable insights for their customers.
Canva cares deeply about user experience. By focusing on delivering the best possible UX to its customers, Canva has developed a platform that has attracted hundreds of millions of active users. This devotion to great UX is foundational to Canva's growth over the past decade.
With this in mind, Canva's engineers knew they couldn't build user-facing APIs directly over Snowflake, as Snowflake simply couldn't meet the latency or concurrency requirements to support a fast user experience. Snowflake is well suited for other parts of their data stack, but for user-facing analytics, they'd need something else.
So, Canva's engineering teams created custom extraction processes over Snowflake to export analytics into an operational database like MySQL or DynamoDB. They leveraged these traditional databases as a "speed layer" to support their application development.
But this approach proved time-consuming and difficult to maintain. Different teams would create their own processes and systems, resulting in a sprawling ecosystem of custom code and myriad databases to support various applications and services.
Occasionally their teams attempted to bypass Snowflake directly, capturing telemetry events directly into DynamoDB. This approach didn't work either because DynamoDB struggled to handle Canva's analytics requirements. It was difficult to run aggregations and complex to design the right schemas. They'd spend several months in the design phase trying to find the optimal schema and couldn't afford to redesign these schemas anytime they wanted to evolve or explore new use cases.
Canva's engineering teams believe in a "less is more" approach. They want to do fewer things and do them really well. As such, they carefully select technology partners that handle all of the complexities of specific functions, allowing their teams to focus on developing new use cases.
Canva's lead engineers recognized that their existing data stack wasn’t suited to support user-facing applications, so they began a search for a real-time analytics platform with the following requirements:
Canva needed to reduce its costs to produce user-facing analytics. They wanted a technology partner that would not only meet their technical requirements, but also reduce their overall cost including cloud storage and compute, developer hours, and maintenance.
Canva wanted a technology partner that would remove complexity, not add it. They weren't interested in setting up and scaling new infrastructure. Rather, they wanted to focus on developing use cases, validating ideas, and shipping things to market.
Canva's goal was to build impressive user experiences that delighted their customers. Based on past experiences, they knew that delayed analytics would only cause more frustration. As such, one of the requirements for their proof of concept was a technology that could attain a p99 API response latency of less than 100 milliseconds across many concurrent requests, ensuring a positive customer experience for their many active users.
Low skill barrier
Having started their careers during the Hadoop era, Canva's engineers understood the complexities of building and maintaining data infrastructure. While technologies like Apache Spark and Flink were both technically feasible, Canva's engineers knew that going down this path would require a deep understanding of these ecosystems by highly-specialized technologists. Instead, Canva wanted an SQL-based analytics engine with intuitive abstractions that wouldn't require them to learn and understand the deep internals of new tools or frameworks.
Canva ran proofs of concept with four technology vendors under these criteria.
lower compute costs
faster development cycle
faster end-to-end latency
After nearly six months of rigorous testing and evaluation of various vendors, Canva chose Tinybird as its real-time data analytics partner. Ultimately, Canva selected Tinybird on the strength of its ease of use, performance, and incredible developer experience. In Tinybird, Canva had found the simple, best-of-breed real-time analytics tool that would reduce costs, boost performance, and shorten their time to get user-facing analytics to market.
Tinybird massively reduces Canva's cost
Since transitioning from the existing stack to Tinybird for user-facing, real-time analytics, Canva has reduced its cloud storage and compute costs by roughly 10x. Initially, Canva was worried that by adding new tooling for this use case they might incur additional costs, but the switch to a tool optimized for their customer-facing use cases resulted in significant cost savings.
Tinybird accelerates Canva's development
With Tinybird, Canva's engineers work faster. For example, an initial MVP for Canva's "Design Insights" feature took almost four months to complete using a cloud NoSQL database. With Tinybird, they built and validated a proof of concept with satisfactory performance in just two weeks.
The importance of this increase in velocity can't be understated. By switching to a purpose-built tool with a focus on developer ergonomics, Canva gets features into the hands of customers faster. Beta releases happen sooner, feedback cycles shorten, and differentiating user experiences go to market faster.
Canva's backend engineers love working with Tinybird
Before working with Tinybird, Canva's backend engineers would often need to rely on external teams, such as Data Engineering and Data Science, to build data models in the warehouse and expose analytics for their consumption.
With Tinybird, the Software Engineering team has a self-serve, production-ready system that empowers them to build new data applications with nothing but SQL.
Beyond the intuitive developer experience, Canva's engineers have been impressed with Tinybird's customer support. In Tinybird, Canva has found a partner that provides tangible assistance through formal code reviews, SQL optimizations, and support during networking changes or load tests.
As with any tool, Canva has found opportunities for improvement with Tinybird: bug fixes, feature ideas, etc. - and they've been repeatedly impressed with how quickly Tinybird has responded with product enhancements or roadmap commitments to keep Canva on track.
In the 12 months since completing the initial Proof of Concept, Canva has shipped seven (7) new differentiating user experiences using Tinybird, with at least three more in the works.
Insights for creators to understand their content performance
Canva is a platform for creators, and creators want to understand the performance of their creations in an instant. With Tinybird, Canva has created a Creator Insights feature that shows customers live analytics on content views and engagement, helping creators develop the kinds of content that their customers love.
Before Tinybird, Canva suffered from customer complaints due to delayed or missing data. The batch process that underpinned their Creator Insights feature was brittle and non-performant, so they moved the feature to Tinybird.
With Tinybird, Canva's engineers were able to build the Creator Insights proof of concept in about 2 weeks and ship it to production in less than 2 months (time mostly spent testing and validating the feature), shaving nearly 4 months of total engineering time in the process.
Brand reports for Enterprise customers
Many know Canva as a platform for individual creators, but Canva boasts a strong cadre of enterprise customers that use the platform for internal design development and collaboration.
These customers want to know how their organization is using Canva, from seat management to top users to template adoption and more.
This was a complex analytics problem for Canva's engineers at first. They originally turned to their Data Science team to develop a solution and ended up with a system that ran models on the data warehouse once a month, dumping the results into S3, loading them into RDS, and building custom APIs to serve them from RDS to their application.
With Tinybird, the analytics were no less complex, but the results were massively cheaper and much more performant. They developed a solution with a 10x lower overall cost, with end-to-end latency that could be measured in single-digit seconds versus once per month.