Problem
To verify SMS opt-ins for The Campaign Registry, the Compliance team must upload screenshot evidence provided by merchants and match each file to a specific opt-in instance (Source ID). This workflow is required before new merchants go live with Postscript.
Product Design
1. Bulk Uploading Files
I replaced the one-by-one upload flow with a bulk upload experience. The system supports partial success, providing clear file-level errors without blocking progress. To ensure performance and reliability at scale, I worked with engineering to define upload limits around file count and size. This approach removed repetitive actions and dramatically increased throughput for large compliance audits.
2. Automated Source ID ↔ File Name Matching
During research, I observed the Compliance team already followed consistent file-naming conventions to manually match screenshots to Source IDs. I leveraged this existing behavior by designing an automated system that extracts Source IDs directly from file names. Undetermined or ambiguous matches are flagged for user confirmation. This reduced lookup time and improved matching accuracy.
3. Auto-Approval for Internal Uploads
To reduce unnecessary compliance overhead, I designed an auto-approval system for files uploaded by trusted internal users with a @postscript.io email address. This allowed the team to focus on higher-risk reviews.
4. Modal-Based Review Experience
I explored reusing the existing table layout to display newly uploaded files, but found it introduced unnecessary complexity by mixing new uploads with previously approved evidence. Instead, I designed a modal-based experience that clearly scoped which files were being submitted. This simplified the mental model and avoided edge cases like disabling bulk uploads during pending verification.
5. Error Handling & UX Refinements
Through iteration, I added a confirmation step, improved error contrast for accessibility, and increased friction around cancellation to prevent accidental data loss.