ROLE

Product Designer

Product Designer

TEAM

Solo designer (8 months)
→ 3 Designers + Engineers

Solo designer (8 months)
→ 3 Designers + Engineers

Platforms

Desktop App

Desktop App

TIMELINE

18 Months

18 Months

Context & Background

A major US energy provider had been using a 10-year-old legacy system for customer service. CSRs navigated 8-16 separate windows to complete basic transactions, resulting in 5-7 minute handling times and high error rates.

The Challenge

CSRs spent more time remembering where information lived than solving customer issues. The fragmented interface caused cognitive overload, frequent errors, and customer frustration.

Goal

Consolidate fragmented systems into a unified interface that reduces average handling time by 10% within 18 months—without disrupting live operations.

Research & Insights

Methods: 20+ CSR session recordings, stakeholder workshops, SME collaboration

Key insight: This wasn't just a usability problem. It was a workflow fragmentation problem. CSRs created sticky-note "cheat sheets" to navigate windows. The system was organized by technical modules, but CSRs think in tasks ("resolve billing" not "open CMS").

Context & Background

When I joined the company in Jan 2024, there were no designers, the product existed, but it was developer-built with no design system, no UI consistency, and no shared design language. As the first and only designer, I had to juggle between delivering new features, rapid POCs, and establishing a visual foundation for the entire organization.

Challenge

Without a design system, developers reused mismatched components from Ant Design and Tailwind CSS. Over time, these inconsistencies caused fragmented styles, inefficient collaboration, and difficulty scaling to future products and POCs.

Outcome & Impact

After 18 months of development and 3 months post-launch, the redesigned platform delivered measurable results:

Context & Background

When I joined the company in Jan 2024, there were no designers, the product existed, but it was developer-built with no design system, no UI consistency, and no shared design language. As the first and only designer, I had to juggle between delivering new features, rapid POCs, and establishing a visual foundation for the entire organization.

12% Faster

Reduced Handling Time

Reduced Handling Time

Average transaction time dropped from
5-7 minutes to 4.4-6.2 minutes

Unlocks government and
enterprise deals

94% Fewer Windows

Unified Interface

Unified Interface

Consolidated 8-16 separate windows
into one seamless platform

Platform admins control their
infrastructure

60% Fewer Clicks

Streamlined Workflows

Streamlined Workflows

Common tasks now require significantly
fewer interactions

Explicit workflows prevent mistakes

The Process

Fast-paced collaboration between design, engineering, and product. I mapped existing flows, designed mid-fidelity solutions with existing components, and iterated based on technical constraints to ship quickly.

Design Solution

I consolidated 16+ fragmented windows into a unified platform built around three core principles: task-based navigation, progressive disclosure, and contextual actions. The solution restructured the interface around CSR workflows rather than technical systems, creating a single source of truth for customer data.

Some Key Design Decisions

Exploring specific scenarios that shaped the final solution

Design Decision #1: Card-Based Modular Layout

Problem

When CSRs receive a call, they need to quickly verify customer identity by asking for details like Customer ID, email address, or last payment date. In the legacy system, accessing this verification information required navigating multiple windows, with some data duplicated across different modules.

Solution

Solution:

Created card components organized around the most frequently accessed workflows:

  • Account Information (left sidebar) - Quick identity verification with customer details, contact info, and service address

  • Billing Summary - Current charges, balance, and payment due dates

  • Payment & Collection - Payment history, collection status, and pending payments

  • Disconnection & Utility Report - Shut-off notices and utility report generation

  • Payment Arrangement Eligibility - Eligibility check with denial reasons and available actions

  • Income Status - Financial verification data

Why this matters:

Cards reflect actual CSR workflows identified through SME workshops. For example, when handling payment arrangements, CSRs always check billing summary, payment history, and eligibility status together. This eliminated window-switching and reduced handling time by 12%.

Design Decision #2: Task-Based Navigation with Dismissible Tabs

Problem

The legacy system was organized by technical modules, but card sorting revealed CSRs think in workflows: "verify customer," "handle billing," "process payment arrangement." Additionally, opening detailed views or performing updates required launching entirely new windows, disrupting the call flow.

Solution

Restructured navigation around CSR workflows with a persistent tab system:

  • 360 View - Complete customer snapshot with all cards visible

  • Account Information - Quick reference sidebar + full detail tab for updates

  • Incident History - Historical interactions and service issues

  • Dismissible tabs - Additional modules (Contacts, Payment History) open as tabs within the same interface, allowing CSRs to keep context while accessing detailed information or processing updates

Why this matters:

Aligns interface with CSR mental models from card sorting research while maintaining context during multi-step tasks. CSRs no longer lose track of which window contains what information, everything stays within one unified interface. This improved the 3-week training period for new hires.

Reflection: What Did I Learn?

Working on a decade-old legacy system transformation taught me that enterprise UX isn't about reinventing everything. It's about deeply understanding workflows and designing pragmatic solutions within real-world constraints.

Reflections on Enterprise Design Constraints

As a designer working on an Oracle-based enterprise system, technical limitations are the default state. The reality is: you rarely have unlimited budget, complete stakeholder alignment, or freedom to rebuild from scratch.

Success means collaborating early with engineers to understand constraints, validating designs quickly through CSR testing, learning if you're heading in the right direction, and iterating based on feedback to improve in the next phase.

This project reinforced that clarity emerges through making. The 20+ session recordings, stakeholder workshops, and card sorting weren't just deliverables. They were thinking tools that surfaced questions, exposed assumptions, and drove alignment when technical specs were evolving rapidly.

What Worked

Video analysis over surveys: Watching 20+ CSR sessions revealed pain points users couldn't articulate in interviews. Like the cognitive load from context-switching and the elaborate sticky-note systems they created

Design system first approach: Building the component library upfront felt slow initially, but enabled rapid iteration and consistent handoff. The 400+ components became a reusable asset for future projects

Cross-functional collaboration: Weekly workshops with SMEs and engineers kept design grounded in operational reality and technical feasibility, preventing late-stage rework

What I'd Do Differently

Earlier technical validation: I initially designed interactions assuming certain backend capabilities, only to learn later that Oracle constraints required adjustments. Now I involve engineers during wireframing, not after high-fidelity designs

More comprehensive edge case documentation: We focused heavily on primary workflows but under-documented edge cases (duplicate accounts, system outages), leading to developer questions during QA. A detailed exceptions guide alongside the design system would have helped

Post-launch feedback loop: Due to project handoff timing, I didn't get to observe the full rollout or gather sustained CSR feedback. Negotiating a 30-60 day post-launch support window would have allowed real-world validation and iteration

What I'm Still Thinking About

Balancing standardization with flexibility: While the fixed card layout enabled consistent training, some experienced CSRs wanted to customize their workspace. How might we allow personalization without sacrificing the benefits of standardization?

Progressive disclosure vs. show-all approach: Usability testing showed CSRs preferred seeing all cards at once, but I wonder if progressive disclosure (showing only relevant cards per call type) would reduce overwhelm for newer CSRs during simple transactions