The Opportunity
For most of Relativity's history, uploading documents required a Windows-only desktop application installed on the user's local machine. Whether someone needed to upload one document or 100,000, they were forced into the same workflow.
The experience was outdated, required users to work with load files, and generated a significant amount of support demand.
The immediate opportunity was simple: make it possible to upload a document directly from the web application.
Start Small
The first release focused on a very specific customer need: uploading a single document to an existing workspace.
We introduced a lightweight drag-and-drop experience directly from the dashboard, eliminating the need to switch to the desktop client for a simple upload.
The response was strong, but customer feedback quickly revealed that the problem was bigger than single-file uploads. Users wanted to upload multiple files, control the names of those files, and stop or remove uploads while they were in progress.
Rather than treating the first release as the final solution, we used that feedback to expand the experience.
Evolving the Experience
The next iteration increased the upload limit from one file to 100 files at a time.
This introduced a new design challenge: with multiple files uploading simultaneously, users needed to understand the state of every individual upload and recover from errors without losing their progress.
I explored and tested several approaches with customers, stakeholders, product managers, and engineering leads.
The resulting experience gave users control over their uploads while keeping status visible throughout the process. Users could add or remove files, rename them before uploading, and distinguish the original filename from the name used within Relativity.
The goal wasn't simply to support more files. It was to make a potentially complex process feel predictable and manageable.
A Reusable Pattern
The multi-file upload experience became more than a solution for one feature.
The pattern was subsequently adopted across Relativity to support different types of data ingestion and file replacement workflows. One of the first extensions was uploading transcript designations, which eventually connected to additional workflows such as Field Mapping.
This helped establish a reusable interaction pattern that other teams could leverage rather than designing file-upload experiences independently
Impact
After launch, the feature was used approximately 25 times per day, with some of Relativity's largest customers among its most frequent users.
More importantly, the design evolved from solving a narrow support-driven need into a flexible pattern used across the product.
What started as "How can we let someone upload one file?" became a foundation for a more modern, consistent approach to data ingestion throughout Relativity.