
The first step was working through a series of questions with the product team that might seem simple but had real implications for how the feature would behave. Many of these questions didn't have obvious answers. Rather than treating the existing platform as the source of truth, we challenged long-standing assumptions together and evaluated each decision based on how administrators actually managed people in safety-critical environments.
With the structural decisions made, I worked through every data field from first principles — applying UX best practices to turn a rough list into a fully considered data model.
Many of these decisions seem small in isolation, but together they define how confidently administrators can complete a safety-critical task. I approached each field as an opportunity to remove uncertainty rather than simply collect information.
example:
Defining granular requirements and conditions for the username input field
The cLOTO platform has six roles in a defined hierarchy - each with its own permission level:
Revising the role structure itself was out of scope, but it was obvious that platform users were in the dark about what their role actually meant. The roles were platform-specific rather than industry-standard, with no reference point for users to understand their own permissions.
I studied the full role permission matrix thoroughly and explored several ways of presenting role permissions, including more detailed tables, but they introduced unnecessary complexity. Through iteration and feedback, created a simplified visual reference that made the hierarchy and capabilities of each role immediately clear — linked contextually throughout the platform wherever cLOTO roles were mentioned.
before:
What the role matrix was
assumption:
With platform-specific cLOTO roles, users were in the dark about what their role actually meant, and didn't have a way to check that

after:
What the role matrix became
easily accessible:
The role matrix is now cross-referenced throughout the platform whenever user roles are mentioned



dependencies:
Early UI explorations for the user management flows helped shape the design system
With a high-fidelity interactive prototype built in ProtoPie, I ran usability testing sessions with target users. Just as importantly, testing challenged some of my assumptions. Rather than treating validation as the goal, I used each session to uncover what we still hadn't considered:
prototyping:
The high-fidelity prototype allowed for an "immersive experience" during usability testing
data synthesis:
Affinity mapping helped to see trends
Several of the strongest improvements weren't ideas I brought into the project—they came directly from observing EHS leaders explain how they actually managed their teams. Those conversations reshaped the final experience far more than I expected.
refinement example:
When deactivating a user, the EHS managers wanted to be able to add a note specifying the reason, which was accommodated in the design iteration
The most prominent unmet need was training and compliance tracking — users wanted to see statuses pertaining to compliance training and audit - who is due, whose training is expired etc. Training status, they explained, directly determines whether a user is authorized to execute lockout procedures. It was a legitimate and important request. However, our legal department determined that surfacing this information would introduce liability for MasterLock, and there was no time within the project timeline to develop the necessary legal protocols. The feature was scoped out, with the intention of revisiting it in a future phase.
While it was disappointing not to deliver functionality users clearly valued, protecting the company from legal risk was the responsible decision. The challenge became finding ways to acknowledge the need without introducing false confidence into the product.
descoped:
Statuses pertaining to compliance training - for legal reasons

Across every screen, field, and interaction, I meticulously crafted the UX copy — status labels, form field names, placeholders, and supporting text — ensuring that every word was clear, consistent, and purposeful. In a platform where a misunderstood status or an ambiguous field label can lead to the wrong person being authorized for a safety-critical procedure, language isn't a finishing touch. It's a design decision.
I frequently iterated on terminology with product partners and stakeholders, testing whether labels reflected how users naturally described their work rather than how the system was originally built. To accelerate exploration, I used AI tools to rapidly generate and refine language alternatives before validating them with stakeholders. That allowed me to spend more time evaluating clarity instead of drafting copy from scratch.
handoff example:
Location dropdown conditions & labels for when it's expanded, collapsed, has or doesn't have a search bar, scroll behavior, empty state, error handling etc.
documentation:
Sorting and filtering behavior established was documented and applied as a cross-platform pattern for other areas
EHS manager:
“I think what I have seen is very simple in a good way - it takes you where you need it to. It's very easy.”
The decision to exclude training and audit information was driven by a legal constraint we didn't anticipate early enough in the process. This project reinforced an important lesson for me: legal, compliance, and operational constraints shape product decisions just as much as user needs. Bringing those partners into conversations earlier would have helped us identify tradeoffs sooner and explore alternative paths before expectations had been set.
As an option, in hindsight, I would have pushed to design a placeholder or forward-looking message within the UI — acknowledging that this capability was on the roadmap and setting expectations accordingly. Users who surfaced this need in testing had a legitimate and important use case, and leaving it completely unaddressed in the interface missed an opportunity to build trust and signal that their feedback had been heard.