CARA DECUSATIS
Electronic Deposit Uploader
Aligning stakeholders, defining UX vision, and navigating technical requirements to build and test a key enterprise application
Overview
Like many other government agencies, the United States Copyright Office (USCO) is undertaking reform and modernization efforts to ensure that their services meet the needs of their users. At the heart of these modernization efforts is the creation of the new Enterprise Copyright System (ECS), an integrated system that unites the registration, licensing, public records, and recordation USCO platforms.
As the design lead on the eDeposit team, I was responsible for defining and directing all aspects of the interface, behavior, and navigation related to uploading a work(s) for copyright registration in ECS. This work was guided by a specific and important deadline — a congressional promise to initiate pilot testing on aspects of the new registration platform by December of 2025.
At the conclusion of this project, we built a robust and highly-usable multi-filetype uploader that was successfully tested by stakeholders associated with the Copyright Modernization Committee.
Client
U.S. Copyright Office
Duration
February 2023 - April 2024 (14 months)
Role
I was the sole Product Designer on an agile team that consisted of three developers, a product owner, a scrum master, a business analyst, a tech lead, and a QA engineer.
I also worked closely with members of the Copyright Office, primarily with a project manager and the Associate Register of Copyrights.
Goal
Design an intuitive, efficient, and secure upload process that:
1. Supports the needs of individual applicants as well as those of large publishing companies.
2. Streamlines the upload process and successfully integrates with the rest of the registration process, as well as the Enterprise Copyright System.
3. Dynamically incorporates logic and structure based on copyright regulations, thereby reducing the burden on applicants to interpret legal or procedural requirements.
Requirements
Build an uploader that can:
-
Support all accepted file types.
-
Be paused and resumed by the user.
-
Resume and recover uploads from unexpected interruptions such as network issues.
-
Handle extremely large upload sizes like motion pictures.
-
Continuously upload in the background while the user proceeds through the rest of their registration.
-
Support drag and drop as well as browse and select for individual files, groups of files, and folders.
Users need to be able to:
-
Delete files.
-
Title files after they are uploaded, both manually and using an automatic process via file metadata.
-
Perform bulk actions for titling files.
-
Seamlessly move in between steps in the registration process. .
Constraints
The uploader must:
-
Be built using Uppy, an open-source uploader that utilizes TUS protocol.
-
Abide by the Copyright Compendium and associated practices for registration of different works.
-
Support both standard and group registration and their respective data models.
-
Successfully plug- into the rest of the multi-step copyright registration process that is concurrently being built by a different project team.
Other constraints:
-
Users cannot view full-size images, play media, or access files once they have been uploaded. This was due to legal precautions.
-
The copyright registration process does not employ session saving, so there must be a saving mechanism after the user manually enters data.
Process
1. Alignment
When I began on this project, I focused on creating alignment across the team so we all had a shared understanding of the product direction, our priorities, and what we still hadn't figured out yet. There was no UX resource on this team before I joined, so it was important to quickly ramp up and start adding shape to the project beyond just technical requirements.
I led weekly UX grooming sessions where we reviewed existing and new designs, walked through user workflows, and identified gaps or alternate paths that still needed to be addressed.
An example from one of my first grooming sessions, where we reviewed screens previously built by the project manager to clarify expectations around user paths.
(Click to expand)
A workflow chart outlining how virus scanning may occur for both large and small uploads.
These grooming sessions were critical to the success of our product because the uploader (and its associated processes) had many different possible user flows and procedural variations due to the complexity of copyright registration.
My role as the UX lead was to facilitate these discussions, synthesize information from both Copyright and dev stakeholders, and guide the group towards shared decisions.
Because the uploader would ultimately plug into a larger enterprise system and not operate in isolation, it was especially important to ensure that each product decision aligned with upstream and downstream processes.
All UX issues and decisions were then documented in the "UX decision tracker", a document I created and maintained on Jira.

One page of the "UX decision tracker".
2. Testing
We had 15-20 Copyright examiners test the uploader and complete a survey after each upload they performed. We collected over 500 participant responses during both rounds of testing.
The survey asked participants to record technical information about their upload (such as upload speed, web browser, total upload size and more), and report on the overall experience of uploading files.
The goal of testing was to "stress test" the uploader, as well as trial the steps a participant would need to complete when participating in the Limited Pilot. These steps included accessing and downloaded zip files, creating a test Login.gov account, and creating a test ECS account.





Test instructions sent to internal test participants and an example of some of the data we gathered.

After each round of testing, I reviewed, categorized, and triaged all participant responses in Excel. I presented these results to team members and stakeholders during UX grooming so we could to strategize and plan necessary improvements before the Limited Pilot.
Key takeways from the first round of internal testing.

A figjam board detailing the major issues surfaced during the second round of internal testing.
Major changes we implemented after conducting testing:
1. Virus scan takes too long
Fold in virus scanning with the upload and remove virus scanning animation
2. "Big gray box" is poor transition mechanisim
Create a skeleton loading state
3. Uploads fail or are non-responsive
Change the upload protocol
The biggest issue we discovered during testing was that the upload process was slow and unreliable. This was concerning because it indicated that our product was not performing at an acceptable level and would likely malfunction during the Limited Pilot.
Recognizing this risk, I advocated for adopting an alternative upload protocol that was discussed during previous development cycles--one that uploaded directly to the s3 bucket. Through various meetings I gathered that this alternative upload protocol would have the potential to address mostly all of the problems we encountered in testing, we just needed to rapidly evaluate trade-offs and secure stakeholder approval in order to implement it in time for the Limited Pilot.
I spearheaded an emergency effort to investigate this alternative upload protocol presented it to the Product owner and other stakeholders. After securing approval from the PO, rapid testing, and eventual implementation, the new upload protocol resulted in 30% faster uploads and a reduction of system errors by 50%.
3. Launching the Limited Pilot
In December of 2024, I led the set up of test accounts for participants in the Limited Pilot. This included performing 18 screening interviews where I assisted participants in creating a test ECS account, creating a test Login.gov account, downloading the necessary test files, and scheduling their actual Limited Pilot test session. Once all participants were onboarded and scheduled, we launched the Limited Pilot in January of 2025.
Throughout the Limited Pilot, I provided ongoing technical support, developed the note-taking template, and took detailed notes during test sessions.

The note template I created for note taking during Limited Pilot sessions.
Associate Register of Copyrights Robert Kasunic reporting on the success of the Limited Pilot. The video in its entirely can be viewed here.
In total there were 50 participants, all nominated by members of the Copyright Modernization Committee (CPMC). Sessions were 90 minutes long and were conducted over Microsoft teams and Zoom.
During the sessions, participants were asked to upload both single and multiple works using the new uploader. Participants also trialed portions of the registration process, such as titling works, assigning authors, and receiving a certificate preview.
The limited pilot was met with universal praise from participants; many described it as "night and day" compared to the eCO, the current copyright registration system.
4. Iteration based on Limited Pilot and accessibility review
I conducted a midpoint review during the Limited Pilot by analyzing 25 session notes and isolating uploader-related issues. I ordered these issues by priority, identified the stakeholders needed for resolution, and presented the findings to the team. This enabled us to plan work for the upcoming program interval (PI) and allocate the correct developer resources.
The eDeposit team also contacted an accessibility specialist to perform an accessibility review. She identified a critical violation: the uploader's informer messages were not accessible. This finding required a full redesign of how the system communicated errors, alerts, and other status messages, resulting in a substantial revision of the uploader's messaging architecture.



Findings from the midpoint review.
An example of how previous informer messages and one of their associated bugs.
5. Implementation and integration
After the Limited Pilot completed, I worked with the project manager and other Copyright office stakeholders to translate takeaways into a path forward for the registration system.
Several high-impact changes for the uploader required system-level consideration to ensure our workflows and architecture would be able to integrate into the broader registration ecosystem.
To support this transfer, I produced a comprehensive documentation package detailing the logic of Uppy, the structure behind upload alerts and error messages, and the rationale for key design decisions. I also clarified which decisions still required resolution so the registration team could continue development with clear guidance.






Uploader documentation detailing the error message schema.
Final designs
Uploading a single work

Empty state

Attaching file

Initiating upload

Upload complete
Uploading multiple works

Empty state

Attaching files

Initiating upload

Upload complete
Design changes and highlights
-
Consolidated uploader with list of uploaded items. Previously the uploader would "transform" to a list view of the uploads and utilized a skeleton loading screen. Now the list of uploads (and the delete functionality) are underneath the uploader frame. This provides the user with a more clear picture of system status and follows familiar uploading conventions.
-
Created additional opportunities to show the status of uploads via the "status" column. Users had expressed uncertainty as to whether or not their uploads were successful. To further emphasize and "celebrate" the success of the uploads, there are now multiple areas with green success indicators.
-
Specified language for standard application to reflect single file requirement. "Upload works"-> Upload Work, "Drag files or browse files" -> "Drag file or browse files."
-
Reduced the size of the upload frame in the empty state so that the user can see the full page architecture (including the next button.). Uploader space dynamically expands when items are added.
-
Moved the uploader buttons to the right to avoid competition and confusion with the "next" button.
-
Change Uppy's native styling to the Copyright Design system styling. Increase the size and target size of buttons and text to make them accessible.
Error states

All upload alerts, errors, and failures

Example of multiple alerts
Titling files-multiple works

Adding titles

Editing and clearing titles

Confirmation modals
Design changes and highlights
-
Reduced complexity and increased efficiency by making the "Use filename as title" a bulk action that applies to all works. This decision more closely aligns with the registration behavior of users when uploading multiple works.
-
Further specified language in confirmation modals and provided modals for bulk actions and unrecoverable actions.


