Canva Developers logo
  • Home
  • Your apps
Engineering Blog
OverviewSubscribeSubscribe
Discover more
UI/UXBackendMachine LearningInfrastructureSecurityEngineering PracticesData Platform
About Canva

Canva Engineering Blog

The technology behind Canva. We're sharing how we solve complex engineering problems to empower everyone in the world to design.

Security

When URL parsers disagree (CVE-2023-38633)

Discovery and walkthrough of CVE-2023-38633 in librsvg, when two URL parser implementations (Rust and Glib) disagree on file scheme parsing leading to path traversal.

Zac SimsSep 5, 2023

Engineering Practices

How we built the Canva Apps SDK

Our journey to empower developers to build flexible apps with a simple powerful app platform.

Martin CronjéJul 28, 2023

Backend

Relational Database Migration with AWS Database Migration Service (DMS)

How we reliably migrated hundreds of GBs of relational DB data for our service split project

Dafu AiJun 19, 2023

Distributed Tracing

End-to-end Tracing

How Canva implemented end-to-end tracing and are using it to drive operational insights

Ian SlesserJun 14, 2023

Amazon S3

How Canva saves millions annually in Amazon S3 costs

Understanding our data and usage patterns was the real key.

Josh SmithMay 4, 2023

Color Space

A journey through color space with FFmpeg

For those who want to understand what color spaces are, find out how to transform videos from one color space into another one, or read about how I almost went crazy trying to find out why videos generated with Canva look slightly off in terms of color.

Sven SchindlerApr 17, 2023

Security

Discovering Headroll (CVE-2023–0704) in Chromium

Discovery of Headless Chromium security vulnerability, how it works, and mitigations that should be applied to similar configurations

Zac Sims, Rhys ElsmoreApr 5, 2023

Data-Driven Segmentation

Understanding a Diverse User Base with Frequency Segmentation at Scale

How we developed a bespoke frequency-recency segmentation to understand our users' diverse usage patterns.

Cuong Duong, Naomi StuartMar 16, 2023

Machine Learning

Deep Learning for Infinite (Multi-Lingual) Keywords

How we used a CLIP-inspired model to suggest keywords for template labeling in multiple languages.

Sachinthaka AbeywardanaJan 24, 2023

Backend Engineering

From Zero to 50 Million Uploads per Day: Scaling Media at Canva

The evolution of media persistence during hypergrowth at Canva

Jacky Chen, Robert SharpNov 29, 2022

© 2023 All Rights Reserved. Canva®
Privacy policyTerms