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

  1. 1
  2. 2
    Scaling to Count Billions
    3 people · 56 points · first shared 2024 · 14 comments on HN
  3. 3
    Yes, You Can Use AI in Our Interviews. In Fact, We Insist
    3 people · 10 points · first shared 2025 · 2 comments on HN
  4. 4
  5. 5
    When URL parsers disagree (CVE-2023-38633)
    3 people · 4 points · first shared 2023 · discussion on HN
  6. 6
    Endpoint Vulnerability Management at Scale
    3 people · 4 points · first shared 2024 · discussion on HN
  7. 7
    Faster continuous integration builds at Canva
    2 people · 25 points · first shared 2024 · 6 comments on HN
  8. 8
    The science of routing print orders
    2 people · 22 points · first shared 2024 · 4 comments on HN
  9. 9
    Real-Time Mouse Pointers
    2 people · 10 points · first shared 2024 · discussion on HN
  10. 10
    How Canva saves millions annually in Amazon S3 costs
    2 people · 9 points · first shared 2023 · 1 comments on HN
  11. 11
    How Canva collects 25B events per day
    2 people · 5 points · first shared 2024 · 1 comments on HN
  12. 12
  13. 13
    Adding Responsiveness to Canva's Design System
    2 people · 4 points · first shared 2024 · 1 comments on HN
  14. 14
    Canva uses S3 for logged-in session management
    2 people · 4 points · first shared 2026 · discussion on HN
  15. 15
    Trust but test: Vendor security testing at Canva
    2 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…
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…

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close