CSV report generator

DesignMedium30 min

Your task

Design a CSV report generator for a SaaS dashboard. A user clicks 'export', and the system produces a CSV of their data (could be a few rows or up to a few hundred thousand) and lets them download it. Small reports should feel instant; large ones can take a while. Describe how you generate the file and deliver it to the user without timing out the web request.

It covers

  • Csv export
  • Async generation
  • Large files