Canva Engineering
canva.dev · Company blog · on HN since 2023
Canva's engineering team writes about infrastructure, incidents, security, CI, data visualization and hiring practices at the design company.
What HN saysHN links it for incident reports and scaling write-ups; commenters call the API gateway outage report interesting, with timeouts as a key fix, and cite its WebSocket and GPU posts.
34HN people shared it
4linked it in comments
54stories submitted
429story points
3 months agolast shared
2023people per year2026
Most-shared posts
- 1Canva Incident API Gateway Outage – Canva Engineering Blog4 people · 10 points · first shared 2024 · discussion on HN
- 2Scaling to Count Billions3 people · 56 points · first shared 2024 · 14 comments on HN
- 3Yes, You Can Use AI in Our Interviews. In Fact, We Insist3 people · 10 points · first shared 2025 · 2 comments on HN
- 4Launching flourishcharts, our new interactive data visualization packages3 people · 7 points · first shared 2024 · 1 comments on HN
- 5When URL parsers disagree (CVE-2023-38633)3 people · 4 points · first shared 2023 · discussion on HN
- 6Endpoint Vulnerability Management at Scale3 people · 4 points · first shared 2024 · discussion on HN
- 7Faster continuous integration builds at Canva2 people · 25 points · first shared 2024 · 6 comments on HN
- 8The science of routing print orders2 people · 22 points · first shared 2024 · 4 comments on HN
- 9Real-Time Mouse Pointers2 people · 10 points · first shared 2024 · discussion on HN
- 10How Canva saves millions annually in Amazon S3 costs2 people · 9 points · first shared 2023 · 1 comments on HN
- 11How Canva collects 25B events per day2 people · 5 points · first shared 2024 · 1 comments on HN
- 12Image replacement in Canva designs using reverse image search2 people · 4 points · first shared 2025 · 1 comments on HN
- 13Adding Responsiveness to Canva's Design System2 people · 4 points · first shared 2024 · 1 comments on HN
- 14Canva uses S3 for logged-in session management2 people · 4 points · first shared 2026 · discussion on HN
- 15Trust but test: Vendor security testing at Canva2 people · 2 points · first shared 2024 · discussion on HN
What HN people wrote when they linked it
SerCe · 2025-01-25
I wrote about the way we handle WebSocket connections at Canva a while ago [1]. Even though some small things have changed here and there since the post was published, the overall approach has held up pretty well handling many millions of concurrent connections.
That said, even with great framework-level support, it's much, much harder to build a streaming functionality compared to plain request/response if you've got some notion of a "session".
[1]: https://www.canva.dev/blog/engineering/enabling-real-time-collaboratio…
emmanueloga_ · 2025-01-13
The whole incident report is interesting, but I feel like the most important part of the solution is buried here [0]:
* "We're adding timeouts to prevent user requests from waiting excessively long to retrieve assets."
When you get to the size of Canva, you can't forget your AbortController and exponential backoff on your Fetch API calls.
--
0: https://www.canva.dev/blog/engineering/canva-incident-report-api-gatew…
benatkin · 2025-01-13
I happened to prefer the original article: https://www.canva.dev/blog/engineering/canva-incident-report-api-gatew…
331c8c71 · 2024-01-13
Nix is the only solution for reproducible environments that I would call rock-solid.
It comes with costs and the gpu-related stuff is especially tricky e.g. https://www.canva.dev/blog/engineering/supporting-gpu-accelerated-mach…