
As a UX Design intern at Amergis, I designed an inline document viewer that eliminated context-switching for 200+ hiring managers processing 3,000+ credential reviews weekly*.
(*) Estimated based on research and test users.

Document Viewer component used for the credential review workflow.
200+
hiring managers using credential verification
15 - 20
credential documents reviewed per manager daily
3+
potential adoptions across other workflows
2
variants designed (simplified + full)
Automatic downloads created workflow chaos
Hiring managers at Amergis review 15-20 credential documents daily as part of the healthcare worker verification process. Every time they clicked a document link, it automatically downloaded to their computer, forcing them to leave their workflow, navigate to their downloads folder, open the file in an external viewer, and context-switch back.
User Pain
Broke concentration during high-volume review sessions
Required managing dozens of downloaded files daily
Made comparing multiple credentials inefficient
Created mental overhead tracking which files they'd already reviewed
Business Impact
User complaints about the credential review process
Opportunity to improve a core workflow for 200+ users
Need for a scalable solution across MatterWorx platform
Chance to establish reusable design patterns
Balancing simplicity, scalability, and speed
👥 for users
Make credential review seamless and in-context, eliminating the need to manage external files
🎨 for product
Create a reusable modal pattern for the MatterWorx design system that works across workflows
⚡️ for development
Balance feature richness with implementation speed to meet deadlines

I analyzed document preview experiences in Canvas LMS, Dropbox, Gmail, and Outlook to understand patterns in productivity workflows.
✓ lightweight ui wins
Users in high-volume review contexts need quick preview + basic actions (download, print), not complex annotation tools. Avoid feature bloat.
✓ surface essential metadata
File name, type, and uploader provide necessary context without overwhelming the interface.
✓ Always provide an escape hatch
If preview fails (unsupported format, corrupted file, network issue), users need a clear fallback path.
✓ design for the 70% case
Since most reviews involve 2-4 documents, optimize for quick sequential viewing rather than single deep interactions.
Three iterations to align with the design system:
Iteration 1
Aligning with Design System Patterns
feedback from ux lead
"Top toolbar makes the design feel dated and different from the MWx design system."

Before: Initial modal design with lightweight UI — basic functions are pinned as a top tool bar.
Design response
Introduced an island toolbar pattern that matches existing MatterWorx modal components, creating visual consistency across the platform.

After: I added an island tool bar that aligns the new element better with the MWx design system.
Design impact
Increased design system consistency and reduced the learning curve for users already familiar with MatterWorx patterns.
Iteration 2
Scoping Component Boundaries
feedback from ux lead
"Verify/Reject Qualification are platform-level workflow decisions, making them not intrinsic to the preview modal component."

Before: I included the Verify/Reject Qualification button on the modal, thinking it would help streamline the workflow.
Design response
Removed workflow-specific actions from the component, focusing it purely on document preview functionality.

After: I removed the platform-level action from the component.
Design impact
Created a more reusable, focused component that can be adopted across different workflows without modification.
Iteration 3
Adding Essential Context
Design update
Added metadata subheader (file name, type, upload date) and refined toolbar visual design for better hierarchy.

I added file metadata to the top of the modal.

Refined document viewer modal.
Design impact
Users now have necessary file information at a glance without leaving the preview context.
Balancing design vision with technical constraints
Challenge 1
Loading states
developer concern
"The initial design didn't account for loading states—what happens if a file takes too long to load?"
Design response
Added a loading state with spinner + file metadata, so users see that the system is working and know which document is loading.
Loading state design
why it matters
Manages user expectations during network delays and prevents the "is this broken?" moment that leads to repeated clicks.
challenge 2
Error Handling Clarity
Developer concern
"Error handling in the first iteration was too broad—all failures were treated the same, which wasn't helpful for users or debugging."
Design response
Defined three distinct error categories with specific user messaging and technical handling:
Network/initialization errors: Modal doesn't open, show toast alert on previous screen
File loading errors: Show fallback UI with download option inside modal
Action-level errors: Show contextual toast alerts for failed print/download attempts

Error handling diagram

Error type 1 handling example

Error type 2 handling example

Error type 3 handling example
Developer impact
This framework gave engineers concrete implementation guidance and reduced ambiguity during sprint planning.
challenge 3
Sprint Timeline Pressure
Developer concern
"The full toolbar is useful but complex to build—it's a challenge for delivering the feature in the upcoming sprint."
Design response
Created a simplified variant (no toolbar, essential actions in header only) + documented the full-featured version for future roadmap.

Delivered a sprint-ready simplified version for quick delivering.
Strategic Value
This dual-track approach let us deliver value to users fast (simplified version in beta) while maintaining the vision for richer functionality. It's now my default approach for any feature with competing timeline pressures.
Why this project mattered
For users
Eliminated context-switching for hiring managers
Previously, every document click triggered an automatic download, forcing managers out of MatterWorx and into external file viewers. This created workflow friction across an estimated 200+ hiring managers processing 3,000+ credential reviews weekly.
The inline viewer keeps users in-flow, reducing the cognitive load of managing multiple windows and downloaded files. Designed for the reality that 60-70% of credential reviews involve viewing 2-4 related documents—eliminating repeated download → open → close cycles.
For product
Created a reusable pattern, potentially adopted across 3+ workflows
The document viewer component is now being extended to assignment documents and timesheet attachments. The design system team is incorporating the pattern into MatterWorx's core component library, multiplying the impact beyond the initial credential verification use case.
Delivered phased implementation balancing speed and scalability: Simplified version (no toolbar) can be shipped in for rapid beta deployment. Full-featured version with zoom controls and island toolbar roadmapped for future sprints based on user feedback and usage patterns.
For Development
Established structured error handling that reduced developer friction
Documented three distinct error states (network failure, corrupted/unsupported files, action-level errors) with clear user messaging and fallback behaviors. This framework gave developers concrete implementation guidance and reduced ambiguity during build.
What this project taught me
Good enough shipped > perfect delayed
The simplified variant taught me to separate "MVP" from "vision." By designing both simultaneously, we gave the team a fast path to value while preserving the richer future state.
Lesson: This dual-track approach is now my default for any feature with competing timeline pressures.
Design systems require intentional contribution
Contributing a new component to an established system isn't just about matching visual style. I learned to study existing patterns, document integration points, and think about how 5 other teams might use this component.
Lesson: The island toolbar pattern can be extended to 3+ workflows because we designed for reusability from day one, not as an afterthought.

appreciation <3
Thank you to Geoff, Joe, and Chris for helping me with this project!


