Legacy constraints
This project shows how I work in complex, high-constraint systems, bringing clarity to ambiguity, grounding decisions in real usage, and evolving legacy platforms without disrupting what already works. To respect NDA constraints, high-fidelity visuals have been replaced with simplified, low-fidelity representations.
Mission
“Modernizing a product people already depend on.”
Context
I led the discovery and redesign of a legacy case management system within a connected ERP. The system predated modern UX practices and had accumulated significant complexity over time, making the core challenge less about visual modernization and more about understanding how the system actually functioned in practice and how users relied on it day to day.
Through discovery work informed by qualitative research and user interviews, I clarified existing workflows, pain points, and user mental models, and used those insights to define a future-ready system vision. While grounded in short-term feasibility, the work intentionally went beyond a minimum migration, introducing clearer system concepts and interaction patterns that delivered immediate value while establishing a more coherent foundation for long-term evolution.
Problem
- Poor usability & cognitive load: The case management area was confusing, cumbersome, and inefficient compared to modern case tools, leading to slower workflows and reduced user confidence.
- Legacy-driven fragmentation: Structural and technical legacy constraints limited usability and future evolution, pushing users toward external tools and weakening the value of the overall suite.
- Change without disruption: The core challenge was to improve clarity and adoption without breaking established workflows, while evolving the system beyond a one-to-one legacy migration.
Constraints
- Legacy backend dependency: The redesign had to operate on top of an existing legacy backend, requiring full backward compatibility to enable a smooth transition from the old experience to the new one.
- Immutable data model: Significant portions of the underlying data model and system behavior could not be changed, constraining how far interaction patterns could be simplified or restructured.
- Evolving design system: The new experience needed to be built on a recently introduced design system that was still maturing and lacked many components required for complex, data-heavy workflows.
- Short-term vs long-term tradeoffs: Design decisions had to balance immediate feasibility with long-term consistency, avoiding tactical solutions that would limit future system evolution.
My role
- Problem ownership & planning: Took ownership of problem framing in the absence of clear product ownership, defining a roadmap and phased approach to achieve the project goals.
- Discovery & alignment leadership: Led discovery and alignment work by designing, facilitating, and synthesizing workshops to clarify scope, priorities, constraints, and tradeoffs.
- Cross-functional orchestration: Acted as a connective lead across design, engineering, and key stakeholders, maintaining shared understanding and enabling timely decision-making as new information emerged.
- Design system partnership: Partnered closely with design system owners to identify gaps, request new patterns, and align on solutions required to support complex, data-heavy workflows.
- Adaptive execution: Continuously adjusted plans based on discovery insights, technical constraints, and delivery realities to keep the work both ambitious and feasible.
- Interaction & workflow design: Designed and delivered the core interaction patterns and end-to-end workflows required for implementation.
- User research & validation: Planned and executed qualitative research, including interviews with current users to understand real-world usage and pain points, followed by prototype-based interviews to validate assumptions, pressure-test edge cases, and refine workflows ahead of implementation.
Exploration
1. Frame the problem space
- Established a working team model with clear roles, responsibilities, and decision dynamics.
- Reviewed existing research, prior learnings, and known unknowns to build context and identify gaps early.
- Conducted qualitative user interviews to understand user roles, responsibilities, and how different personas interacted with the system across the case lifecycle.
- Analyzed comparable tools and market patterns to pressure-test assumptions and broaden perspective.
- Defined a clear scope to maintain focus and avoid premature solutioning.
- Mapped end-to-end user journeys to ground the work in real workflows and pain points.
- Prioritized problems based on user impact and system value rather than feature parity.
2. Design toward a coherent solution
- Mapped the current system components, states, and functional boundaries to understand what could and could not change.
- Used qualitative research to surface edge cases, usability issues, and implicit assumptions, and to inform detailed decisions around system states, transitions, and interaction logic.
- Translated discovery insights into clear interaction patterns and workflows aligned with the design system.
- Proposed targeted improvements that went beyond a one-to-one migration while remaining feasible within constraints.
Decision points
1. Reduce friction at case creation, even if it meant deferring completeness
Capturing a case in the legacy system was confusing and overwhelming: users faced too many fields, unclear requirements, and frequent dead ends. This led to hesitation and incomplete submissions.
Instead of redesigning the full form upfront, I focused on identifying the minimum essential information required to start a case. The new experience allowed users to create a case quickly with only the critical inputs, while deferring secondary details to later stages.
This reduced initial friction, helped users regain momentum, and improved confidence without sacrificing data integrity.


2. Make case activity legible by consolidating scattered information into a single timeline
Following the progress of a case was difficult: information was fragmented across views, multiple people could be involved, and users struggled to understand what had happened, what was pending, and who was responsible.
To address this, I pushed to adopt and evolve an early-stage timeline component from the design system. I collaborated with the design system owners to adapt it to the needs of case management, using it as a scalable, chronological source of truth that unified events, comments, status changes, and system actions in one place.
This decision prioritized clarity and traceability over adding new features, and significantly improved users’ ability to reason about case state and history.


Outcome
- Future-ready modernization: Delivered a scalable, future-ready case management experience that clarified system concepts while preserving full functional parity.
- Design system impact: The timeline concept demonstrated value beyond this initiative and was adopted as a shared design system component, shaping how activity and history are represented across multiple product areas.
- Product adoption & consolidation: Increased adoption of the new case experience, reducing reliance on external tools and reinforcing the value of the suite as an integrated system.
- Operational efficiency & confidence: Enabled service teams to gain clearer visibility into case status and history, reducing duplicated communication, improving operational efficiency, and increasing customer confidence.
What I learned
- Explicit alignment beats implicit agreement: Clear communication across teams is critical in complex systems, especially when changes affect shared workflows and long-lived foundations. Making assumptions explicit early reduced downstream misalignment.
- End-to-end ownership enables better tradeoffs: Owning the full design lifecycle, including roadmap definition, made it easier to evaluate tradeoffs holistically and avoid local optimizations that undermined system coherence.
- Focus creates momentum: Deliberately prioritizing the highest-impact problems helped the team deliver immediate value while keeping longer-term system evolution in view.
- Immature systems are leverage points: Working with a still-evolving design system became an advantage when engaged early, creating opportunities to shape new components and patterns around real, complex product needs.