# Canva Engineering

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

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Worker Backpressure (Part 1)

DevFeed: [Worker Backpressure (Part 1)](<https://devfeed.tech/articles/worker-backpressure-part-1-37935.md>)

Original publisher: [Read original article](<https://www.canva.dev/blog/engineering/worker-backpressure-part-1-how-we-taught-our-queue-workers-to-slow-down/>)

Author: Mikalai Barysau

Published: 2026-09-17T00:00:00Z

Content type: article

Language: en

Sources: [Canva Engineering](<https://devfeed.tech/sources/canva-engineering.md>)

Topics: [backpressure](<https://devfeed.tech/topics/backpressure.md>), [Back end](<https://devfeed.tech/topics/backend.md>), [reliability](<https://devfeed.tech/topics/reliability.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [backpressure](<https://devfeed.tech/tags/backpressure.md>), [dependencies](<https://devfeed.tech/tags/dependencies.md>), [outage](<https://devfeed.tech/tags/outage.md>), [queue](<https://devfeed.tech/tags/queue.md>), [reliability](<https://devfeed.tech/tags/reliability.md>), [worker](<https://devfeed.tech/tags/worker.md>)

### AI overview

Canva describes Worker Backpressure, a reliability mechanism for queue workers that slows processing when dependencies fail and speeds it back up after recovery. During a cloud-provider outage, the mechanism helped prevent failed messages from accumulating on the Dead Letter Queue and avoided an on-call page.

### Source excerpt

How we taught Canva's queue workers to slow down when dependencies fail, then speed back up on their own.

## Session revocations at scale

DevFeed: [Session revocations at scale](<https://devfeed.tech/articles/session-revocations-at-scale-37933.md>)

Original publisher: [Read original article](<https://www.canva.dev/blog/engineering/session-revocations-at-scale/>)

Author: Llew Vallis

Published: 2026-07-22T00:00:01Z

Content type: article

Language: en

Sources: [Canva Engineering](<https://devfeed.tech/sources/canva-engineering.md>)

Topics: [sessions](<https://devfeed.tech/topics/sessions.md>), [Cookies](<https://devfeed.tech/topics/cookies.md>), [Authorization](<https://devfeed.tech/topics/authorization.md>), [Caching](<https://devfeed.tech/topics/caching.md>), [MySQL](<https://devfeed.tech/topics/mysql.md>), [scaling](<https://devfeed.tech/topics/scaling.md>), [gateway](<https://devfeed.tech/topics/gateway.md>), [Redis](<https://devfeed.tech/topics/redis.md>), [reliability](<https://devfeed.tech/topics/reliability.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [caching](<https://devfeed.tech/tags/caching.md>), [cookies](<https://devfeed.tech/tags/cookies.md>), [gateway](<https://devfeed.tech/tags/gateway.md>), [mysql](<https://devfeed.tech/tags/mysql.md>), [permissions](<https://devfeed.tech/tags/permissions.md>), [redis](<https://devfeed.tech/tags/redis.md>), [reliability](<https://devfeed.tech/tags/reliability.md>), [scaling](<https://devfeed.tech/tags/scaling.md>), [security](<https://devfeed.tech/tags/security.md>), [sessions](<https://devfeed.tech/tags/sessions.md>)

### AI overview

Canva describes how it manages session revocations for hundreds of millions of users. The system keeps revocations in memory for fast gateway checks, while MySQL handles refresh-time lookups; the article explains how loading the cache during deployments created database load and discusses evaluating Redis as a caching solution.

### Source excerpt

How Canva keeps hundreds of millions of user sessions fast and secure

## AI Interview Success: An Interviewer's Inside Guide

DevFeed: [AI Interview Success: An Interviewer's Inside Guide](<https://devfeed.tech/articles/ai-interview-success-an-interviewer-s-inside-guide-37927.md>)

Original publisher: [Read original article](<https://www.canva.dev/blog/engineering/ai-interview-success/>)

Author: Karl Hörnlund

Published: 2025-10-20T00:00:01Z

Content type: article

Language: en

Sources: [Canva Engineering](<https://devfeed.tech/sources/canva-engineering.md>)

Topics: [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Development](<https://devfeed.tech/topics/development.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-assisted-programming](<https://devfeed.tech/tags/ai-assisted-programming.md>), [development](<https://devfeed.tech/tags/development.md>), [guide](<https://devfeed.tech/tags/guide.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [interview](<https://devfeed.tech/tags/interview.md>), [interviews](<https://devfeed.tech/tags/interviews.md>), [ownership](<https://devfeed.tech/tags/ownership.md>), [production](<https://devfeed.tech/tags/production.md>), [programming](<https://devfeed.tech/tags/programming.md>), [requirements](<https://devfeed.tech/tags/requirements.md>), [review](<https://devfeed.tech/tags/review.md>), [technical](<https://devfeed.tech/tags/technical.md>), [workflow](<https://devfeed.tech/tags/workflow.md>)

### AI overview

An interviewer shares guidance for succeeding in AI-assisted programming interviews. The article emphasizes using AI strategically while retaining ownership of technical decisions, understanding requirements, evaluating generated code, maintaining production-quality standards, and clearly explaining trade-offs.

### Source excerpt

From the Other Side of the Screen: What We're Looking For in Your AI-Assisted Interview

## From Intern Project to Production: How I Shipped the Draw Tool for Canva's Present Mode

DevFeed: [From Intern Project to Production: How I Shipped the Draw Tool for Canva's Present Mode](<https://devfeed.tech/articles/from-intern-project-to-production-how-i-shipped-the-draw-tool-for-canva-s-present-mode-37930.md>)

Original publisher: [Read original article](<https://www.canva.dev/blog/engineering/draw-in-present-mode/>)

Author: Edwina Adisusila

Published: 2025-08-06T00:00:01Z

Content type: article

Language: en

Sources: [Canva Engineering](<https://devfeed.tech/sources/canva-engineering.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [Front end](<https://devfeed.tech/topics/frontend.md>), [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>), [real-time](<https://devfeed.tech/topics/real-time.md>)

Tags: [code-reviews](<https://devfeed.tech/tags/code-reviews.md>), [draw-tool](<https://devfeed.tech/tags/draw-tool.md>), [feature](<https://devfeed.tech/tags/feature.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [i](<https://devfeed.tech/tags/i.md>), [intern](<https://devfeed.tech/tags/intern.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [new-feature](<https://devfeed.tech/tags/new-feature.md>), [overview](<https://devfeed.tech/tags/overview.md>), [production](<https://devfeed.tech/tags/production.md>), [quality](<https://devfeed.tech/tags/quality.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [technical](<https://devfeed.tech/tags/technical.md>), [tool](<https://devfeed.tech/tags/tool.md>), [user](<https://devfeed.tech/tags/user.md>), [users](<https://devfeed.tech/tags/users.md>)

### AI overview

A Canva engineer describes evolving an internship proof of concept into the Draw in Present Mode feature and shipping it to production. The article covers user demand, implementation and testing, code reviews, release planning, analytics monitoring, and the technical challenge of integrating drawing into Canva's separate editor and presenting code domains.

### Source excerpt

Overview of the technical hurdles I overcame to evolve my intern project into a new feature for users.

## Measuring Commercial Impact at Scale at Canva

DevFeed: [Measuring Commercial Impact at Scale at Canva](<https://devfeed.tech/articles/measuring-commercial-impact-at-scale-at-canva-37932.md>)

Original publisher: [Read original article](<https://www.canva.dev/blog/engineering/measuring-commerical-impact-at-scale/>)

Author: Jun Ye

Published: 2025-06-20T00:00:01Z

Content type: article

Language: en

Sources: [Canva Engineering](<https://devfeed.tech/sources/canva-engineering.md>)

Topics: [experiments](<https://devfeed.tech/topics/experiments.md>), [Streamlit](<https://devfeed.tech/topics/streamlit.md>), [data analytics](<https://devfeed.tech/topics/data-analytics.md>), [App](<https://devfeed.tech/topics/app.md>), [Software as a service](<https://devfeed.tech/topics/saas.md>)

Tags: [data-analytics](<https://devfeed.tech/tags/data-analytics.md>), [development](<https://devfeed.tech/tags/development.md>), [experiment](<https://devfeed.tech/tags/experiment.md>), [experimentation](<https://devfeed.tech/tags/experimentation.md>), [metrics](<https://devfeed.tech/tags/metrics.md>), [product](<https://devfeed.tech/tags/product.md>), [streamlit](<https://devfeed.tech/tags/streamlit.md>)

### AI overview

Canva describes its IMPACT app, an internal data product built with Snowflake, Streamlit, Snowpark, and Cortex. The app provides self-service estimates of commercial impact for experiment analysis using standardized logic aligned with Canva's finance model.

### Source excerpt

How We Built Canva's IMPACT App with Streamlit in Snowflake

## Yes, You Can Use AI in Our Interviews. In fact, we insist

DevFeed: [Yes, You Can Use AI in Our Interviews. In fact, we insist](<https://devfeed.tech/articles/yes-you-can-use-ai-in-our-interviews-in-fact-we-insist-37936.md>)

Original publisher: [Read original article](<https://www.canva.dev/blog/engineering/yes-you-can-use-ai-in-our-interviews/>)

Author: Simon Newton

Published: 2025-06-11T00:00:01Z

Content type: article

Language: en

Sources: [Canva Engineering](<https://devfeed.tech/sources/canva-engineering.md>)

Topics: [AI-assisted coding](<https://devfeed.tech/topics/ai-assisted-coding.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Algorithms, Complexity](<https://devfeed.tech/topics/algorithms-complexity.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-assisted-coding](<https://devfeed.tech/tags/ai-assisted-coding.md>), [claude](<https://devfeed.tech/tags/claude.md>), [coding](<https://devfeed.tech/tags/coding.md>), [copilot](<https://devfeed.tech/tags/copilot.md>), [cursor](<https://devfeed.tech/tags/cursor.md>), [generative-ai](<https://devfeed.tech/tags/generative-ai.md>), [interviews](<https://devfeed.tech/tags/interviews.md>), [software-engineering](<https://devfeed.tech/tags/software-engineering.md>)

### AI overview

Canva describes redesigning its technical interviews for the AI era. Candidates for backend, machine learning, and frontend engineering roles are expected to use tools such as Copilot, Cursor, and Claude. The company says this approach evaluates how candidates collaborate with AI in work-like conditions.

### Source excerpt

How We Redesigned Technical Interviews for the AI Era

## Behind the scenes of Canva's DesignDNA campaign

DevFeed: [Behind the scenes of Canva's DesignDNA campaign](<https://devfeed.tech/articles/behind-the-scenes-of-canva-s-designdna-campaign-37928.md>)

Original publisher: [Read original article](<https://www.canva.dev/blog/engineering/behind-the-scenes-of-canvas-designdna-campaign/>)

Author: Divya Patel

Published: 2025-02-24T00:00:01Z

Content type: article

Language: en

Sources: [Canva Engineering](<https://devfeed.tech/sources/canva-engineering.md>)

Topics: [Generative AI](<https://devfeed.tech/topics/generative-ai.md>), [AI Development](<https://devfeed.tech/topics/ai-development.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [generative-ai](<https://devfeed.tech/tags/generative-ai.md>), [machine-learning](<https://devfeed.tech/tags/machine-learning.md>), [year-in-review](<https://devfeed.tech/tags/year-in-review.md>)

### AI overview

Canva explains how it used generative AI to create its DesignDNA year-in-review campaign. The campaign matched users to one of seven design trends and generated personalized copy and imagery based on their design behaviors, while following internal privacy policies.

### Source excerpt

How we used generative AI to build our year-in-review campaign

## Image replacement in Canva designs using reverse image search

DevFeed: [Image replacement in Canva designs using reverse image search](<https://devfeed.tech/articles/image-replacement-in-canva-designs-using-reverse-image-search-37931.md>)

Original publisher: [Read original article](<https://www.canva.dev/blog/engineering/image-replacement-in-canva-designs-using-reverse-image-search/>)

Author: Sam Jacobs

Published: 2025-01-28T09:05:01Z

Content type: article

Language: en

Sources: [Canva Engineering](<https://devfeed.tech/sources/canva-engineering.md>)

Topics: [Machine learning](<https://devfeed.tech/topics/machine-learning.md>), [Image](<https://devfeed.tech/topics/image.md>), [Requirements](<https://devfeed.tech/topics/requirements.md>), [Database](<https://devfeed.tech/topics/database.md>), [recommendation systems](<https://devfeed.tech/topics/recommendation-systems.md>)

Tags: [backend](<https://devfeed.tech/tags/backend.md>), [database](<https://devfeed.tech/tags/database.md>), [design](<https://devfeed.tech/tags/design.md>), [embedding](<https://devfeed.tech/tags/embedding.md>), [frontend](<https://devfeed.tech/tags/frontend.md>), [image](<https://devfeed.tech/tags/image.md>), [intellectual-property](<https://devfeed.tech/tags/intellectual-property.md>), [machine-learning](<https://devfeed.tech/tags/machine-learning.md>), [models](<https://devfeed.tech/tags/models.md>), [requirements](<https://devfeed.tech/tags/requirements.md>), [search](<https://devfeed.tech/tags/search.md>)

### AI overview

Canva describes comparing image embedding models to build a scalable reverse image search system for replacing images in designs. The proposed system considers subject, color, tone, positioning, background, emotion, and aspect ratio while supporting IP-safe search across more than 150 million images.

### Source excerpt

Qualitative comparison of image embedding models to power a scalable similar-image replacement system for Canva designs.

## The foundations of Canva's continuous data platform with Snowpipe Streaming

DevFeed: [The foundations of Canva's continuous data platform with Snowpipe Streaming](<https://devfeed.tech/articles/the-foundations-of-canva-s-continuous-data-platform-with-snowpipe-streaming-37934.md>)

Original publisher: [Read original article](<https://www.canva.dev/blog/engineering/snowpipe-streaming/>)

Author: Jack Caperon

Published: 2025-01-06T00:00:01Z

Content type: article

Language: en

Sources: [Canva Engineering](<https://devfeed.tech/sources/canva-engineering.md>)

Topics: [Streaming](<https://devfeed.tech/topics/streaming.md>), [product analytics](<https://devfeed.tech/topics/product-analytics.md>), [data-platforms](<https://devfeed.tech/topics/data-platforms.md>), [Amazon S3](<https://devfeed.tech/topics/amazon-s3.md>), [Serverless](<https://devfeed.tech/topics/serverless.md>)

Tags: [analytics](<https://devfeed.tech/tags/analytics.md>), [continuous](<https://devfeed.tech/tags/continuous.md>), [data](<https://devfeed.tech/tags/data.md>), [data-platform](<https://devfeed.tech/tags/data-platform.md>), [partitioning](<https://devfeed.tech/tags/partitioning.md>), [performance](<https://devfeed.tech/tags/performance.md>), [s3](<https://devfeed.tech/tags/s3.md>), [snowflake](<https://devfeed.tech/tags/snowflake.md>), [streaming](<https://devfeed.tech/tags/streaming.md>)

### AI overview

Canva describes how it is building a continuous data platform with Snowpipe Streaming to support product analytics as its user base, workforce, and data volume grow. The article discusses schema management, streaming changes, cost reduction, and the limitations of its previous AWS Data Firehose-based approach.

### Source excerpt

Leveraging Snowpipe Streaming to build a continuous data platform.

## Canva incident report: API Gateway outage

DevFeed: [Canva incident report: API Gateway outage](<https://devfeed.tech/articles/canva-incident-report-api-gateway-outage-37929.md>)

Original publisher: [Read original article](<https://www.canva.dev/blog/engineering/canva-incident-report-api-gateway-outage/>)

Author: Brendan Humphreys

Published: 2024-12-20T00:00:01Z

Content type: article

Language: en

Sources: [Canva Engineering](<https://devfeed.tech/sources/canva-engineering.md>)

Topics: [incident](<https://devfeed.tech/topics/incident.md>), [Amazon API Gateway](<https://devfeed.tech/topics/amazon-api-gateway.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [Caching](<https://devfeed.tech/topics/caching.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [Netty](<https://devfeed.tech/topics/netty.md>), [Microservices](<https://devfeed.tech/topics/microservices.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [api-gateway](<https://devfeed.tech/tags/api-gateway.md>), [authentication](<https://devfeed.tech/tags/authentication.md>), [authorization](<https://devfeed.tech/tags/authorization.md>), [aws](<https://devfeed.tech/tags/aws.md>), [caching](<https://devfeed.tech/tags/caching.md>), [cloudflare](<https://devfeed.tech/tags/cloudflare.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [ecs](<https://devfeed.tech/tags/ecs.md>), [gateway](<https://devfeed.tech/tags/gateway.md>), [incident](<https://devfeed.tech/tags/incident.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [java](<https://devfeed.tech/tags/java.md>), [latency](<https://devfeed.tech/tags/latency.md>), [locking](<https://devfeed.tech/tags/locking.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [outage](<https://devfeed.tech/tags/outage.md>), [pir](<https://devfeed.tech/tags/pir.md>), [post-incident-review](<https://devfeed.tech/tags/post-incident-review.md>), [post-mortem](<https://devfeed.tech/tags/post-mortem.md>), [rate-limiting](<https://devfeed.tech/tags/rate-limiting.md>), [report](<https://devfeed.tech/tags/report.md>), [s3](<https://devfeed.tech/tags/s3.md>)

### AI overview

Canva's incident report examines a November 12, 2024 outage that made canva.com unavailable for about 52 minutes. It attributes the outage to failures in the API Gateway cluster involving an editor deployment, a locking issue, and network latency between Cloudflare locations, and describes the incident timeline, mitigation, and prevention steps.

### Source excerpt

An incident report for the Canva outage on November 12, 2024.