All work

Transcenda / Web

Unifying file viewing across a clinical trial platform

A shared design-system pattern for viewing documents and images on a clinical trial platform, used by people reviewing contracts, medical images and consent forms.

4 weeksSole designer · 1 engineer

Challenge

5 products had built 9 separate, often hard-coded viewers for the same need: looking at a file. Each was rebuilt from scratch and behaved differently.

Goal

One pattern any product can adopt, that opens from anywhere and closes without losing your place.

What I did

Spotted and framed the problem, audited every use case, studied 10 other tools, designed the pattern and tested it with each product.

Results

1 pattern
replacing 9 separate, hard-coded viewers
2 variants
shipped into the design system
5 products
using the pattern

Full case study · 7 min read

The use-case audit, the teardown and the pitch

  • Use-case audit
  • 10 tools studied
  • Anatomy
  • In use
  • The hardest call

From 9 viewers to 1 pattern

5 products had solved file viewing on their own, 9 times over, each with its own controls and behaviour. I replaced them with one shared pattern in the design system.

What other teams have built

Four of the nine existing viewers. Same need, different chrome, controls and behaviour.

A legacy release-form viewer with Redact & Edit controls
Release form viewer
A legacy viewer for scanned tickets, with only a Cancel action
Scanned image viewer
A legacy .docx viewer with an Open edit mode action
Document viewer
A legacy medical-imaging viewer with a sign-off flow and side forms
Imaging with side forms

The key insight

A file viewer didn't fit anywhere in the platform's navigation. Too heavy for a pop-up, too temporary for a page. So I stopped treating it as a component and made it a new navigation layer that sits above everything.

Two design decisions

Decision 1

Two variants on one shell

The media viewer handles documents and images with built-in controls. The custom content variant gives teams a blank area inside the same shell for their own flows, such as countersigning.

Why Once the pattern was a navigation layer, the content didn't have to be a file. Teams could put a dataset mapper or a sign-off flow inside it and get the same open and close behaviour for free.

Media viewer anatomy with numbered zones and four scrolling modes
Decision 2

Opens anywhere, without losing your place

It opens from an overview page, a child page, a side panel or even a pop-up. Closing it returns you exactly where you were.

Why Most tools we studied opened files in a new tab, which breaks context, or in a pop-up, which is too cramped to work alongside. A layer above every level avoids both.

A document open in the viewer with review questions alongside

Rules for using it

These came from testing the pattern against each of the nine use cases, not written upfront.

Use it for

  • Quick reference without disruptionConsult a file while staying in the current task.
  • File plus a parallel taskView a document and fill a form, confirm answers or raise a query at the same time.
  • Fast actions on the filePrint, download or annotate right inside the viewer.
  • Custom flow, same behaviourAny short flow that opens above the current context and closes without side effects. Use the custom content variant.

Don't use it for

  • Complex file editingFor substantial edits, open a dedicated editing tool. The viewer is for viewing.
  • Long multi-step workflowsPast 3 or 4 steps, or with its own sub-navigation, a dedicated page fits better.
  • The file is the destinationIf the file is the destination rather than a reference, use a full page.

Full case study · 7 min read

The use-case audit, the teardown and the pitch

  • Use-case audit
  • 10 tools studied
  • Anatomy
  • In use
  • The hardest call