How do we let users make changes
safely in a system without disrupting
what's live?

Changing a complex system can be risky. Users need a safe space to explore changes while keeping the current version intact.

My role

I worked with product and engineering to define the workflow for creating, exploring and reviewing changes before they become the new version.

01 The complexity

A system may have a current version that people rely on, but users also need to explore changes, propose new states, compare versions, review their work, and return to previous versions. The challenge was keeping a clear distinction between what exists today and what the user is proposing for tomorrow.

02 The design challenge

We wanted to make change feel safe. We created a simple mental model where users move from the Current version to a Draft, review their changes, and then create a New version. The current version stays protected while users explore and make changes in a separate draft.

Research findings

03 Separating current from draft

The first important decision was to make the current version read-only. Users could explore it freely, but changes happened inside a draft.

Research findings
Research findings

04 Making change visible

A user shouldn't have to remember what the previous version looked like. So we introduced comparison as part of the workflow.

Research findings

05 Designing for review

Changes need to be understood and reviewed. We made it easy for teams to compare versions, leave feedback, and collaborate before moving forward.

Research findings

06 Key design decision

Don't make users afraid to experiment. Users can experiment with a proposed change in a draft while the current version remains protected. This separates exploration from execution, giving users room to iterate before deciding what moves forward.

07 The result

Research findings
Research findings

What I learned

So how can a user move from understanding an existing system to proposing a new one without accidentally changing the live state?

By separating exploration from execution; users can make changes in a draft, compare versions, and review them before they become the new state.