Project 02
Designing for Scale: Integrating Legacy Logic into a Unified CRM.
A system-first approach to reconciling legacy habits, unifying fragmented features, and future-proofing for white-labeling.
UX Designer | Figma | 2024 - Present
Some screens have been modified and details omitted to respect confidentiality.
The company’s internal ecosystem was a collection of fragmented legacy tools, each operating with its own contradictory logic and visual language. As the business prepared for a new phase of growth, these 'feature islands' became a significant bottleneck.My mission was to architect CRM V2: a unified, scalable system designed to consolidate existing functionality into a single 'source of truth.' The priority was to build a core framework that was inherently extendablefor future modules, while maintaining the flexibility to be white-labeled and rebranded for a diverse range of external clients.
The Human Factor: The Friction of Change
Challenge
Existing features were "islands" built by different teams at different times. While users complained about the old system’s clunkiness, they had developed "muscle memory" for its quirks. The challenge wasn't just designing a better workflow; it was navigating the friction of breaking old habits without causing "change shock" or a drop in productivity.
🔎 My Strategy:
I audited every conflicting workflow to find a "Universal Logic." To minimize "change shock," I identified Anchor Points—keeping the mental model of core tasks consistent while streamlining the steps to make the efficiency gains immediately obvious.
To unify the experience, I identified core actions that appeared across every module and established a Universal Pattern Language:
I moved all primary actions (Create, Edit, Export) to consistent "Anchor Points" in the UI. Users no longer had to "hunt" for the button—their eyes knew exactly where to go, regardless of the module.
I replaced full-page redirects and inconsistent pop-ups with a unified Side-Drawer for editing. This allowed users to maintain their place in the "Main List" (keeping their context) while performing tasks, significantly reducing cognitive load.
Where a legacy workflow was deeply ingrained, I kept the logic of the step but cleaned up the interaction. I simplified the path to the goal without moving the "goalposts," making the transition feel like an upgrade rather than a total replacement.


Account Page Sample


Deal Page Sample
By reconciling these "islands" into a single logic, we eliminated the learning curve for new features. Initial feedback showed that legacy users could navigate the new V2 environment with minimal training because the system now "spoke one language."
Case Sample - Rich Data Table
Challenge
A common pitfall in CRM development is the "Delete and Rebuild" cycle, where adding a new module forces a total redesign of the old ones. The System Goal: I needed to design for the unknown.
🔎 My Strategy:
I treated the CRM as a modular ecosystem. By building a library of Atomic Components, I ensured the foundation was rigid enough to maintain order, but flexible enough to "plug and play" future V3 and V4 features without requiring a code overhaul.
Instead of designing a static table every time, I broke the table down into "Atomic" parts that could be toggled on or off based on the business requirement. To break down:
I created a component set of "Cell Types"—Status Badges, Avatars, Contacts, and etc.
I defined standardized behaviors for hover states, selection, and "Quick Actions" so the interaction logic never changes, regardless of the data.
I built in "Global Utilities" like sort, scroll action, and bulk actions as optional plugins.

The Result
This atomic approach transformed the data table from a static element into a dynamic framework, allowing for rapid assembly to meet any business requirement. By standardizing behaviors—such as sticky columns and fluid scroll actions—the system ensures data remains readable and functional across all screen sizes, from desktop to mobile.

Translating Complexity into Clarity
Challenge
In a CRM of this scale, requirements never exist in a vacuum; a change in one module creates a ripple effect across the entire system. While the BA team provided the technical data maps, the challenge was to synthesize "tons" of interdependent requirements into a single, cohesive interface. If I missed a single connection at the start, the foundation would be flawed for the user.
🔎 My Strategy:
My role was to act as the bridge between backend logic and frontend mental models before moving to hi-fi design. I acted as a Systems Architect. I mapped out the dependencies between "tons" of requirements to ensure the core structure could support every edge case.
I focused on three key areas to ensure the system remained intuitive despite its scale:
I deconstructed the BA’s technical requirements to identify "invisible threads"—connections between data points that users needed to see but were currently hidden in silos. In addition, by mapping the item into screen information architecture to illustrate how details could be presented into actual screen which prevent cognitive overload while actual design in the later stage.
I established a "Universal Thread" across modules. No matter how deep a user dives into the CRM, the way "Connected Entities" are presented remains identical, ensuring they never hit a logic dead-end.


The Result
By translating technical requirements into a functional hierarchy, I ensured the system was not just data-accurate, but operationally intuitive. I turned a complex web of requirements into a clear, navigable ecosystem that guides the user through the "noise."
Bringing it all together, this section contains several other screens to showcases the CRM’s unified visual language in action. My goal was to synthesize a vast array of technical requirements into a single, cohesive experience that scales across every module. By establishing a clear information hierarchy and consistent interaction patterns, I transformed the system's underlying complexity into a visually light and highly functional workspace. This ensures that no matter how deep a user dives, the interface remains predictable, readable, and easy to navigate.
The launch of CRM V2 marked a shift in the company’s product culture. We moved away from reactive, "one-off" feature building and into a proactive, system-first mindset. Even while staying within NDA boundaries, the impact of the new architecture was immediately measurable across below points:
Building a system of this scale redefined my approach to design, shifting my focus from individual screens to scalable ecosystems. I realized that my most critical role was that of a translator—bridging the gap between the BA team’s technical logic and the user’s mental model. By prioritizing architectural foresight over 'pixel speed,' I learned that a truly successful system isn't just one that looks polished today, but one that remains resilient, modular, and 'future-proof' for whoever inherits the project for V3 and beyond.
Always keen to explore the world, let’s connect 🧩
kaho.c.design@gmail.com