top of page

Fixing broken downloads

CSV Download Optimization

CSV Download Optimization.png

Background

This project was part of Angler, a phishing response platform developed for government agencies in Singapore.

When users report suspicious emails using an in-mail plugin, the data is routed to Angler. The platform uses AI to determine whether the email is malicious and assigns a threat level. Each report becomes a case managed by responders inside the platform.

Role of CSV Exports

Responders frequently export CSV files for operational reviews, investigations, and cross-agency audits. These exports help them analyze trends, track volume, and support compliance reporting.

 

But the experience was broken. Users submitted download requests and often received nothing—no file, no message, no status. They had no idea what went wrong.

Why This Project Mattered
 

The goal of this project was to make CSV exports predictable, transparent, and scalable. The feature was core to daily workflows, but failures slowed down response, wasted time, and strained backend systems.

 

This wasn't about adding new functionality. It was about making something essential actually work the way users expected it to.

My Role
 

I led this project from start to finish. While working closely with engineering and internal stakeholders, I owned the product direction and delivery.

 

I conducted interviews with responders, audited usage logs, defined constraints, mapped error types to user-facing feedback, wrote all email copy, designed the new flow in Figma, and documented implementation-ready specs.

Problem

 

User research and log audits revealed seven core issues:
 

  • Large downloads overloaded backend resources and degraded performance

  • Duplicate download requests created unnecessary storage and confusion

  • No feedback left users unaware of success or failure

  • The calendar-based date picker was slow and error-prone

  • Simultaneous large exports affected overall platform stability

  • Export options were fragmented across the UI

  • Responders lacked filtering tools for large, cross-agency datasets

 

These issues resulted in inefficiency, reduced trust, and higher operational cost.

Solution

01. Smart Request Handling
.  

  • Enforced required date ranges and export size limits to minimize system strain and reduce failed attempts.

  • Scheduled large exports for next-day delivery at 8 AM to shift heavy loads away from peak hours.

02. Clear UI and Feedback
.  

  • Displayed export details such as date range, status, file size, and download link to reduce user uncertainty.

  • Introduced pre-set date range shortcuts for quicker, more accurate input.

03. Unified and Secure Access
.  

  • Consolidated all export tools into a single, streamlined interface for better navigation.

  • Applied role-based permissions to ensure appropriate access control across teams.

Design Comparison
.  

To highlight the impact, I created a visual comparison between the original and improved export experience.

Before

After

Results

 

  • 30% boost in operational efficiency
    Required date ranges and export size limits reduced trial-and-error. Scheduled deliveries for large exports freed up responders to focus on analysis instead of monitoring requests.
     

  • 67% reduction in system overload incidents per quarter
    Export traffic was redistributed through capped requests and next-day delivery at 8 AM, minimizing peak-time strain.

     

  • Fewer failed requests, clearer outcomes
    Users received immediate, detailed feedback on export status, file size, and download availability reducing guesswork and repeated attempts.

     

  • A once-unpredictable tool became a trusted daily asset
    With clearer flows, unified access, and role-based controls, teams now depend on the export system for consistent, reliable operations.

Reflection

When systems fail without explanation, users blame themselves or try again and again. That’s costly and avoidable.

This project taught me how impactful it is to design not just for success but for failure. By giving users visibility and clarity, I helped rebuild trust in a tool they use every day.

A core feature doesn’t need to be complex. It just needs to do what it’s supposed to do and tell you when it can’t.

Summary
 

Redesigned the CSV export experience in Angler, improving reliability, clarity, and system performance for government agency responders. The result was fewer failures, better feedback, and a smoother path from data to decision.

Up next: another project you might like!

Fixing Support Portal Pain Points

© Shannen Lee

  • LinkedIn - Grey Circle
bottom of page