Design a Design Export and Download Service

Last updated: April 5, 2025

Quick Overview

Design a service that exports Canva designs to multiple formats (PNG, PDF, MP4, GIF, SVG) with options for quality, size, and batch export, handling millions of exports daily.

Canva
System Design
Software Engineer
Canva
April 5, 2025
Software Engineer
System Design
System Design
Medium

8

4

2,890 solved


Design a service that exports Canva designs to multiple formats (PNG, PDF, MP4, GIF, SVG) with options for quality, size, and batch export, handling millions of exports daily.

Export is a critical user journey at Canva. Every design session eventually leads to a download or share. The service must handle diverse output formats, large batch exports, background removal and other premium processing, and deliver results quickly to maintain user satisfaction.

What the Interviewer Expects
  • Design the export pipeline for multiple output formats with format-specific optimizations
  • Handle batch exports (multi-page presentations, bulk social media posts)
  • Implement progress tracking and error recovery for long-running exports
  • Design for both synchronous (small exports) and asynchronous (large exports) workflows
Key Topics to Cover
Async job processing and queue management
Format-specific rendering optimization
Progress tracking with WebSockets
Priority queues and fair scheduling
How to Approach This
  1. Start by clarifying functional and non-functional requirements with the interviewer.
  2. Estimate the scale: QPS, storage, bandwidth. This drives your design decisions.
  3. Draw a high-level architecture first, then deep dive into 1-2 critical components.
  4. Discuss trade-offs explicitly (e.g., consistency vs availability, SQL vs NoSQL).
  5. Address failure scenarios, monitoring, and how the system handles 10x traffic spikes.
Possible Follow-up Questions
  • How would you prioritize exports for paying vs free users?
  • How would you handle an export that fails halfway through a 100-page document?
  • How would you implement video export from animated designs?
Sharpen Your Skills on Codemia

Practice similar problems with our interactive workspace, get AI feedback, and track your progress.

Practice System Design Problems
Sample Answer
Export Pipeline Architecture

The export service uses a two-path architecture. Fast path: small single-page exports (PNG, JPEG under 10MB) are rendered synchronously and returned d...

Queue Management and Priority

Export jobs are submitted to a priority queue (SQS with multiple queues or Redis-based). Priority levels: P0 (Pro/Enterprise users, small exports), P1...


Submit Your Answer
Markdown supported

Related Questions