All work

Case study · Enterprise SaaS · Contract lifecycle management

Modernizing the CLM contract record

The page where contracts are created, reviewed and sent for signature, rebuilt around status, next actions and context.

Role
UX designer, led the redesign
Product
CLM platform, contract record
Team
Product, engineering, QA
Platform
Web
Scope
Record header, lifecycle, tabs, actions, activity, files, related contracts
Modernized contract record with key facts header, lifecycle stepper, tabs and grouped Actions panel

Client branding is removed from all screens. Contracts, accounts and people shown are demo data.

In 30 seconds

Skim the bold lines and visuals; open "More context" for detail.
Problem
The legacy contract record hid status, next actions and key facts behind ten chevrons, a 12-link sidebar and unlabelled icons.
My role
UX designer; led the redesign with product, engineering and QA.
What I did
Audited every legacy view, then designed a facts header, a 6-stage stepper, tabs, labelled panels and phase-grouped actions.
Result
One consistent record pattern where status, value and the next action are visible at a glance.
10 → 6lifecycle stages shown
9legacy problems addressed
1 clickto the next action
00FrameOverview

The contract record is where every contract is created, reviewed and signed.

In CLM, the contract record is the working page for a single agreement. Users capture details, generate or upload documents, route for review and approval, send for signature and track obligations after activation.

More context

The legacy record had grown feature by feature. I redesigned it so users can see where a contract stands and what to do next without hunting.

Before vs after · drag to compare
Legacy contract record Modernized contract record BeforeAfter

Drag the handle, or use the arrow keys after focusing it.

01FrameProblem framing

Users couldn't tell where a contract stood or what to do next.

The record showed every possible status at once, hid actions behind unlabelled icons, and spread one contract's context across a long link list. Users relied on memory and on asking colleagues.

Problem statement

Contract owners need to know a contract's status, its key facts and their next action at a glance, but the legacy record makes them read everything to find anything.

How might we · 1

Show where a contract is in its lifecycle, and what's already done?

How might we · 2

Put the right next action in front of the user for the current stage?

How might we · 3

Keep documents, activity and related contracts one click away, without leaving the record?

02DiscoverAudit of the current experience

Nine problems, all visible in the legacy screens.

I audited every view of the legacy record: details, next steps, activity, obligations, documents, related contracts and the contracts list. Each problem below is pinned on the real screens.

Legacy screens · annotated
Legacy contract details with ten-stage status bar, link list and empty fields 12345
  1. Status is a red dot"Request · In progress" sits in small text next to an unclear title like "qq with acc".
  2. Ten stages, no progressExpired, Terminated, Canceled and Renewed all show on a draft; nothing marks completed steps.
  3. Twelve links in a columnA long sidebar list takes a whole column just to switch views.
  4. Unlabelled icon railNext steps, activity and approvals hide behind icons with no names.
  5. Key facts buriedValue, owner and dates sit among many empty "-" fields.
01High

No sense of progress

Ten stages always visible, none marked done.

Six relevant stages with checks for completed ones

02High

Actions hidden

Next steps behind an unlabelled icon, all equal weight.

Labelled rail and actions grouped by phase

03High

Key facts buried

Value, account and owner lost among empty fields.

Key facts strip under the title

04Medium

Navigation eats space

Twelve sidebar links take a full column.

Horizontal tabs with a More overflow

05Medium

Weak status signal

Red dot and small text for status.

Colour-coded status chips everywhere

06Medium

Thin activity

Little context on who did what.

Date-grouped feed with actor, object and link

07Medium

Flat documents

No versions, no status, truncated columns.

Version hierarchy, status chips, Compare

08Medium

Unclear relationships

Single chain with a "+0" node.

Parent, children, amendments and related, grouped

09Low

Inconsistent formats

Mixed date formats across views.

One date format across the record

03DiscoverUsers

Two people live on this page: the contract owner and the legal reviewer.

Owners move contracts forward. Reviewers check documents and obligations. Both need status and context first, then detail.

Persona pairIllustrative
CO

The Contract owner

Sales or procurement manager
Goals
Get the contract signed and activated without chasing anyone.
Frustrations
Can't tell what stage it's in or what's blocking it.
Needs
Status, value and the next action visible immediately.
Success metric
Time from request to signature
LR

The Legal reviewer

Contract manager or legal ops
Goals
Review the right document version and track obligations.
Frustrations
Versions and history scattered; relationships unclear.
Needs
Document versions, activity and related contracts in one place.
Success metric
Time to find the right document and history
04DefineDesign principles

Status first, next action second, detail on demand.

Five principles guided every decision on the record.

1

Show progress, not options

Only relevant stages, with completed ones checked.

2

Facts above the fold

Number, account, owner and value under the title.

3

Actions by phase

Group actions, and disable what doesn't apply yet.

4

Context beside, not instead

Panels open next to details, never replacing them.

5

One visual language

Same chips, dates and tables across every view.

05DefineInformation architecture

Same capabilities, reorganized around how people actually work.

Nothing was removed. Navigation moved from a sidebar column into tabs, hidden icons became labelled panels, and actions were grouped by lifecycle phase.

Before → after IA

Before Legacy

HeaderNameRed status dotEdit page
Status10 chevrons, no progress
Navigation12-item sidebar link list
ActionsUnlabelled icon7 flat buttons
ContextActivity iconApprovals iconSign icon

After Modernized

HeaderTitle + status chipNumberAccountOwnerValue
Status6 stages, checks for done
NavigationTabsMore overflow
ActionsAuthoringReview & approvalSignature
ContextActionsReviewsActivityFiles
06DefineBefore vs after

Ten undifferentiated stages became six that show progress.

Terminal states such as Terminated, Canceled and Amended still exist, but they appear only when a contract reaches them, instead of crowding every draft.

Before
In DraftIn ReviewIn ApprovalsIn SignaturesIn EffectExpiredTerminatedAmendedCanceledRenewed
After
RequestIn AuthoringIn ReviewIn SignaturesActivatedExpired
07DesignFinal design · Header and lifecycle

Everything you need to know about a contract, above the fold.

The title carries a status chip, a key facts strip follows, then the lifecycle stepper. Details sit in collapsible sections, so users can fold away what they don't need.

Modernized screens
Modernized contract details page with header, key facts, stepper and tabs 12345
  1. Status in the titleA colour-coded chip, readable at a glance.
  2. Key facts stripNumber, account, owner and total value, each with an icon.
  3. Progress you can readCompleted stages are checked; the current one is highlighted.
  4. Tabs, not a link columnExtra views fold into "More" as space runs out.
  5. Labelled railActions, Reviews, Activity and Files, named.
08DesignFinal design · Actions and side panels

Next actions grouped by phase, with context one click away.

The labelled rail opens panels beside the details: Actions grouped by phase with unavailable ones disabled, Activity as a readable feed, and Files grouped by purpose.

Modernized screens
Actions panel grouped into Authoring and Review and Approval with disabled actions 1234
  1. Grouped by phaseAuthoring, Review & Approval, then Signature.
  2. Unavailable is visibleActions that don't fit this stage are shown but disabled.
  3. Icons with labelsEvery action names exactly what it does.
  4. Panel beside, not overDetails stay readable; tabs collapse into More.
09DesignFinal design · Documents and fulfillments

Versions, statuses and evidence, readable at a glance.

Documents now show version history as expandable rows with status chips, and fulfillments show whether each obligation was met on time, late, rejected or waived.

Modernized screens
Documents table with version hierarchy and status chips, plus Upload and Compare 123
  1. Version hierarchyEarlier versions nest under the current one.
  2. Status chipsIn progress, Complete and Extracting are distinct.
  3. Compare in placeUpload and Compare sit with the table.
10DesignFinal design · Related contracts

A contract's family, organized by relationship type.

The parent sits above the current contract, with child contracts, amendments and related agreements grouped below. Linking uses the same structure, so users always know what they're connecting.

Modernized screens
Related contracts hierarchy with parent, current, child, amendment and related groups 1234
  1. Three viewsHierarchical, tree or list.
  2. Current contract markedLabelled and outlined in the map.
  3. Grouped by typeChild, amendment and related, each with Add.
  4. Zoom and fitFor large contract families.
11DesignFinal design · Contracts list and obligations

The same patterns carry through the list and every child record.

The contracts list uses readable names and status chips. Obligation records reuse the header, stepper and collapsible sections, so users learn the pattern once.

Modernized screens
Modernized contracts list with descriptive names, record types and status chips 12
  1. Names that describeType and party in every contract name.
  2. Status chipsIn Review, Activated and In Signatures stand out.
12ValidateValidation

Users found status and next actions in seconds, not minutes.

Six participants completed three tasks on both versions: find a contract's status and value, take the next action, and find the latest signed document.

FindingsIllustrative · 6 participants, 3 tasks
FindingSeverityChange made
Participants missed the next steps icon on the legacy recordHighLabelled rail; Actions opens by default on In Review
Disabled actions confused some usersMediumTooltip explains why an action isn't available yet
"More" tab hid frequently used viewsMediumTab order by usage; More shows a count
Older document versions were hard to findLowExpandable version rows
13DeliverOutcomes and learnings

Projected: faster status checks, fewer clicks to act, one pattern everywhere.

These are targets, not measured results, and will be replaced with live data after rollout.

Expected impactProjected · Illustrative
10 → 6

Lifecycle stages shown on a typical contract

~50%

Faster to find status and value

1 click

To the next action from any tab

What I'd do differently
  1. Instrument the legacy page firstClick data on the old icon rail would have made the case for labels even faster.
  2. Design terminal states earlyTerminated, Canceled and Amended needed their own treatment once hidden from the stepper.
  3. Ship the pattern as componentsHeader, stepper and panels became a reusable record template; I'd formalize it sooner.