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
April 5, 20258
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
How to Approach This
- Start by clarifying functional and non-functional requirements with the interviewer.
- Estimate the scale: QPS, storage, bandwidth. This drives your design decisions.
- Draw a high-level architecture first, then deep dive into 1-2 critical components.
- Discuss trade-offs explicitly (e.g., consistency vs availability, SQL vs NoSQL).
- 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 ProblemsSample 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...