In this 10+ year legacy enterprise software overhaul, as the Design Lead (Design Innovation Specialist), these were my core responsibilities:
Product Strategy & Mentorship: Guided Product Management junior peers in defining roadmaps and prioritizing feature, translating user insights into viable business requirements.
End-to-End Design Ownership: Drove the full-cycle product design process, from initial user research and core user flows to final engineering handoff.
Design Infrastructure: Established and owned the 0-to-1 Design System, ensuring design consistency and maximizing long-term development velocity.
Strategic Orchestration: Aligned engineering constraints and stakeholder business objectives, securing technical scalability while maintaining high UX standards.
The screenshot of one of the legacy search functions, taking over the whole window with extensive filters.
To capture unfiltered ethnographic insights, I conducted 5+ on-site observations within the labs and interviewed several operators of varying seniority during their active shifts. This helped me understand the actual workflows with critical context, and identify hidden gaps within the legacy platform
One peculiar behavior caught my attention during the research: engineers were manually setting up the exact same filter parameters over and over agin because the system cannot "remember" the common filter set.
Without session memory, every page refresh instantly erased complex filter criteria. Engineers were trapped in a setup cycle, manually rebuilding their search environment dozens of times per shift, simply because they accidentally refreshed the page or switched to another task.
Massive, static filter fields hijacked over 70% of the screen real estate for one-time configurations. This interface bloat suffocated the actual data viewport and forced unnecessary scrolling.
Search wasn’t a global utility; it was a series of isolated destinations. Users had to break their concentration and navigate away from their active workflows into specific sub-pages just to cross-reference related operational data.
The core realization was that search is the foundation of the workstation (90% of the search criteria remains unchanged for an 8-hour shift). The legacy system failed by treating search as a transactional action to be repeated.
By redefining search as a Persistent State, we established a conceptual foundation that justified architectural upgrades over surface-level UI cleanup.
Eliminate redundant data entry by storing search parameters in the URL.
Maximize the data viewport by collapsing static filters.
Dissolve silos into a single, global entry point.
I opted for an integrated search panel rather than a modal to maintain context continuity. This ensures that operators can stay in the same environment to tweak the filter parameters without the disruptive context-switching inherent in modal overlays.
Before committing to pixels, I utilized rapid hand-drawn sketches to explore different filter architectures. We diverged and systematically evaluated several concepts to solve the spatial monopoly, assessing their practicality and impact on operator efficiency.
Interaction nightmare due to high parameter volume.
Rejected; operators require higher visibility for active filters.
Rejected for reintroducing spatial inefficiency and pushing results off-screen.
Discarded to avoid functional confusion with "Quick Action" on search result table.
The optimal balance was found in a dedicated independent filter row. Applying Gestalt principles, I placed the filters in close proximity to the search bar to maintain a clear mental connection, while ensuring the row remained visually distinct from the result table's action buttons to prevent functional confusion.
By separating the search text area from the filter set, we provided immediate visibility of active criteria. This allows users to perform quick adjustments directly from the row without needing to reopen the full filter panel. We achieved a "zero-footprint" UI that frees up vertical real estate while keeping all parameters easily accessible.
Usability testing revealed a demand for complex, cross-attribute queries that exceeded our initial architectural scope. At the same time, we hit a technical performance wall: to maintain efficiency at scale, the database required queries to be directed at specific partitioned tables.
Without a "smart-suggestion" engine to automate indexing, a single universal search bar would have led to frequent empty states and user frustration.
I introduced explicit "Search Types" as a pragmatic mental framework; this guides users to the correct data subset and ensures they get exactly what they expect, preventing the frustration while respecting the backend's strict technical boundaries.
Early feedback showed that the minimalist landing page intimidated users as they were accustomed to the data-dense legacy environment.
Users experienced “Blank Canvas Paralysis,“ that hindered workflow adoption—they simply didn't know where to initiate their work.
The final design incorporated a prominent, dedicated "Search" button alongside the unified input field. This universally recognized functional affordance provided the necessary guidance that instantly broke user hesitation and confidently initiated their workflows.
During the structural audit, I identified a fundamental flaw in the PRD: attributes that should have functioned as filters were misclassified as distinct Search Types only because they require user input. This misalignment with the underlying database architecture and established user habits created significant cognitive confusion and technical complexity.
I successfully advocated for an updated filter panel, correcting the logic and dismantling the artificial gates. By re-categorizing attributes as filters, I reclaimed the intuitive flow missing from the initial requirements.
Operators can now set their criteria once, bookmark it, and never need to open the filter panel again. The system persists these states, turning search from a "form-filling task" into a single-click entry point.
By modernizing the grid and reclaiming space from static filters, operators can now view 60% more case rows at the same time. This drastically reduced repetitive scrolling and allowed engineers to cross-reference more efficiently.
URL-persistent architecture unlocked new possibilities for navigation. By mapping every system state to a unique URL, I introduced "Hyperlink Search," enabling users to search with a click. The new architecture also allows operators to backtrack their search history, providing a level of navigational resilience previously impossible in the legacy platform.
Modernizing a decade-old system requires surgical pragmatism. During the reconstruction, I encountered numerous boundary conditions where radical change was not feasible. UX leadership is about identifying where to push for a backend overhaul and where to work within constraints (e.g., the Search Types) to deliver immediate value without compromising stability.
Ten years of "Usability Debt" created rigid user habits that felt like muscle memory. Overcoming this inertia required more than a UI update; it required a strategic reconstruction of the information architecture. By pairing corrected logic with explicit visual guidance, I turned inherited habits from an obstacle into a foundation for the new system's adoption.
General UI patterns often collapse in hyper-specific industrial environments. This project proved that "best practices" must be Stress-Tested against operational reality. Discarding popular patterns in favor of custom architectures that solve the "Spatial Monopoly" of data-intensive workflows was essential to our success.
To build upon our foundational qualitative research, I strategically embedded behavioral trackers to establish a Data-Driven Design Making (DDDM) framework. This transition allows us to observe user interactions at a much larger scale, moving from time-intensive individual studies to a more efficient, high-leverage optimization process.
By tracking specific usage patterns across operational teams, we are building the data baseline needed to refine System Defaults and implement Personalized Saved Search Criteria, ensuring the workspace adapts automatically to the specific requirements of every user's shift.