Unified Agent Console  /  UX Case Study Internal tool  ·  Sole product designer

Internet service provider · Technical support

Five systems, one angry customer, ninety seconds.

Every call landed on an agent who had to open four or five separate tools before they could begin to help. I designed the one screen that replaced them.

Role
Sole product designer
Duration
4 weeks
Platform
Internal web app (React)

01 Overview

The call starts before the agent knows anything.

Agents at this internet service provider handle thousands of calls a week. Slow speeds, dropped connections, dead Wi-Fi, choppy video calls. By the time a customer reaches a person, they have usually rebooted the router twice and lost an hour.

To help them, agents had to work across four or five disconnected legacy systems: one for the account, one for installed devices, one for network and outage status, one for billing. Every call began with several minutes of tab-hopping before troubleshooting could start.

I designed a single console that brings customer, device, network and billing context onto one screen, and puts an AI-generated summary of the customer's last seven days at the top of it, so the agent walks into the call already knowing what is probably wrong.

02 Problem statement

Context lived in five places. The customer was in one.

Everything an agent needed to diagnose a connectivity issue existed somewhere in the company. None of it existed together. Agents assembled the picture by hand, on a live call, while a frustrated person waited. The assembly was inconsistent, so two agents could reach two different conclusions about the same fault.

Rather than describe that, it is easier to let you feel it.

03 Try the old way

Open five systems. The customer is waiting.

A customer has just called. Before you can troubleshoot anything, you need five facts, and every one of them lives in a different tool. Click each system to look one up. The clock starts on your first click.

Incoming #4471  /  Tier 1, voice
"No internet since Tuesday. I've restarted the box twice."
00.0Customer on hold

What you still need

That took you 0 seconds. An agent did it on every call.

And that is only the gathering. Diagnosis had not started yet, the customer had heard nothing useful, and any agent who skipped a system risked troubleshooting a router during a known area outage.

Legacy, five systems
0.0s
Unified console
0.8s
5 facts remaining

04 Project goals

What we agreed success looked like.

G1

Cut handle time

Remove system-switching from the call entirely, not just make each system faster.

G2

Speed up diagnosis

Surface device, network and outage data automatically instead of asking agents to hunt for it.

G3

Lower cognitive load

Summarise recent customer activity so agents are not reconstructing a timeline mid-call.

G4

Build a foundation

Ship a component system the support organisation could extend to other agent tools.

05 UX process

Four weeks, run in parallel rather than in sequence.

A one-month timeline meant research and stakeholder alignment could not be separate phases. I ran agent interviews while the PM and I were already pressure-testing scope, so findings could change the roadmap while there was still time for them to matter.

Week 01, Discover

Stakeholder interviews, agent interviews across PST and MST, qualitative analysis, personas.

Week 02, Define

Empathy mapping, journey mapping, information architecture, low-fidelity wireframes.

Week 03, Design

High-fidelity screens, in-progress engineering reviews on component feasibility.

Week 04, Validate

Refinement, edge-case states with QA, developer handoff and build support.

06 Research methodology

Two tracks: the business, and the people on the phones.

Track A, stakeholder interviews

Sessions with the Product Manager and support operations leads.

  • What success meant commercially: handle time and first-call resolution
  • Which legacy systems were realistically replaceable inside the timeline
  • Whether live network and outage data could feed a new interface at all
Track B, agent interviews

Real technical support agents, recruited across PST and MST time zones to catch regional differences in call volume and workflow habits.

  • Screen-by-screen walkthroughs of a recent live call
  • Where they felt slowed down, unsure, or forced to guess
  • What they wished they knew the moment a call connected

07 Qualitative analysis

Four patterns came out of affinity mapping.

F1

System-switching was the single biggest time cost

Agents estimated four to five logins just to get oriented, before troubleshooting began. Everything downstream inherited that delay.

F2

Agents wanted context, not more data

Raw logs and device IDs were not useful mid-call. What agents needed was a fast read on what was likely wrong, so they could start somewhere sensible.

F3

Outage awareness was inconsistent

Some agents checked a separate outage map, others did not check at all. That led to full troubleshooting sessions on faults that were already known network problems.

F4

Confidence dropped under time pressure

Agents described feeling rushed to close calls, which sometimes meant skipping steps like reviewing full device history. The tooling was quietly encouraging shortcuts.

08 Personas

Two agents anchored every decision.

Alex and Nina anchored the core screens. Interviews with Jordan, Daniel and Priya, who use adjacent parts of the same console for billing, onboarding and account care, confirmed the same root problem: too many systems, not enough context, everywhere in the support organisation.

09 Empathy map

What it actually feels like to take the call.

Says

"I don't have time to check five places before I even start troubleshooting."

"I never know if there's an outage until I've already asked three questions."

Thinks

"There has to be a faster way to see what's going on with this account."

"I hope I'm not missing something sitting in a system I forgot to open."

Does
  • Opens multiple systems per call
  • Cross-references device and outage data by hand
  • Keeps notes outside the system to hold onto context
Feels
  • Rushed, and occasionally uncertain
  • Responsible for a bad experience the tools created
  • Relieved when a call closes, not confident it closed well

10 Journey map, current state

Where the ninety seconds went.

Design opportunity: collapse "identify customer" through "diagnose" into a single screen, with context generated automatically instead of assembled by hand.

11 Design strategy

Three principles I held everything against.

One screen, not five logins

Everything needed to start troubleshooting, account, device, network and billing, visible without switching context. Anything that required a second window had to justify itself.

Summarise before you ask an agent to dig

AI insights give the agent a starting hypothesis. They do not replace judgement, and they never hide the underlying record. Agents can always open the raw history behind the summary.

Make status visible at a glance

Outage state, device health and account flags are scannable in seconds. An agent should never discover a known outage on question four.

12 Information architecture

Five systems, redrawn as four zones.

Agent Console
├── Customer lookup
├── Customer overview  <- default landing view
│   ├── Account and billing snapshot
│   ├── AI Insights          7-day summary, expandable to 90
│   ├── Device panel         router and modem status, connection history
│   ├── Map view             customer and device location, live outage overlay
│   └── Chat assistant       AI search across account and device records
├── Case notes and history
└── Escalation          Tier 2 handoff

Consolidating five systems into these four zones was the core architectural decision. Everything an agent needs in the first sixty seconds of a call now lives above the fold on one screen.

13 Wireframes and high-fidelity design

From layout priority to the finished console.

Low-fidelity wireframes tested one question above all: tabs, or a single scrollable panel? Agents rejected tabs in review. They said tabs recreated the same switching problem the project was meant to remove. The scrollable overview won, with the map and outage overlay one click away rather than buried.

A note on these screens

Any on-screen branding has been blurred throughout this gallery. Click a screen to view it larger.

Customer lookup

An agent starts a call by looking a customer up with an account ID, name, unique identifier or phone number. A single customer can hold more than one account.

Search by customer detail
Search by customer detail
Search result and account match
Search result and account match

Customer overview

Once an agent is inside an account, everything sits on one screen: account status, recent activity and the AI-generated summary that used to take four extra logins to assemble.

Customer overview, post-login
Customer overview, post-login

Map and outage view

Customer and device locations plotted against live network status, so an agent can rule a known outage in or out before troubleshooting the router.

Map view, live network status
Map view, live network status
Map view, address search and filters
Map view, address search and filters

AI insights

Every action tied to a customer, timestamped, feeds the AI summary. This is what lets the assistant surface a hypothesis before the agent asks a single question.

AI insights, full activity summary
AI insights, full activity summary
Customer timeline widget
Customer timeline widget
Timeline, expanded detail
Timeline, expanded detail
Timeline, insights and analytics
Timeline, insights and analytics

Trouble tickets and dispatch

When an issue sits at the customer's device and needs a hands-on fix, the agent opens a trouble ticket directly from the account and the system assigns a technician.

Trouble ticket and technician dispatch
Trouble ticket and technician dispatch

Billing

Payment status, autopay and plan details in the same shell as everything else, so a billing question mid-call never means switching tools.

Billing overview
Billing overview

Device management

Installed hardware, connection health and which physical ports a customer's equipment is tied to, plus remote reboot and restart, and temporary device swaps for a faulty unit ahead of a technician visit.

Device info overview
Device info overview
Port and connection detail
Port and connection detail
Account info detail
Account info detail
Remote reboot and restart
Remote reboot and restart
Device swap flow
Device swap flow
Device swap, confirmation
Device swap, confirmation

Dashboard

A roll-up of the customer's products, active trouble tickets and accounts, the landing view for a returning case.

Dashboard, accounts and tickets
Dashboard, accounts and tickets
Dashboard, expanded detail
Dashboard, expanded detail

Chat assistant

Plain-language search across customer, device and account records, for the moments an agent knows what they need but not which panel it lives in.

Chat assistant, conversation view
Chat assistant, conversation view
Chat assistant, account context
Chat assistant, account context
Chat assistant, insights handoff
Chat assistant, insights handoff

14 Design decisions and engineering trade-offs

What I chose, and what I gave up to ship in four weeks.

AI Insights defaults to 7 days
Most calls only need recent context. Ninety days is available for escalations and repeat-issue investigations, but making it the default would have buried the signal under noise.
The chat assistant sits beside the UI, not on top of it
Rather than forcing agents to learn a new navigation model, the assistant was scoped as a fast lookup layer alongside the structured interface, for agents like Nina who jump between related records constantly.
A map, not a table, for outages
Agents think spatially about outages: "is this neighbourhood affected?" A map made the relationship between customer location and outage radius immediate, instead of asking agents to translate from a list.
React over Angular
Decided with engineering on team familiarity and component reuse across other internal tools. Not a design call, but it shaped how modular the component library needed to be.
Near-real-time, not real-time, outage data
True live network status was not feasible in the timeline, so I settled on a short refresh interval instead. I raised the trade-off with research participants to confirm it would not undermine trust in the tool.
Summarisation, not diagnosis
The AI widget summarises activity, it does not propose a root cause. That was an engineering feasibility call for this release, and it is the clearest opportunity for a second phase.

Collaboration: I worked with the PM through research and low-fidelity work to prioritise against the timeline, ran design reviews with engineers before high-fidelity was locked, and brought QA in during the final week to catch edge cases: no devices on file, outage feed unavailable, AI summary still loading. Early enough to design for them rather than patch them afterwards.

15 Final solution

The same five facts. One screen.

This is the shape of the console, rebuilt here as a working sketch. Everything an agent had to hunt for a moment ago now sits on one screen, including the time filter on AI Insights and the chat assistant.

Customer #4471 Fiber 500/500 · installed 14 Mar 2023
Account active Paid in full Area outage open

AI Insights

    Devices2 on file

    Router GX-820
    Uptime 41h · firmware current
    Online
    Modem, optical terminal
    Signal degraded since 08:12
    Degraded
    Downstream throughput, 24h

    Chat assistantBeta

    Ask me about this account, its devices, or recent network events.
    Location and live outage overlay
    SECTOR 14 #4471
    Customer premises
    Active outage, 412 accounts
    01

    AI Insights

    Summarises the customer's activity across the last seven days: disconnects, speed drops, device restarts. The agent opens the call with a hypothesis instead of a blank screen. Filterable up to ninety days.

    Default 7d, expandable 90d
    02

    Chat assistant

    An AI assistant for plain-language search across customer, device and account records. Built for the moments when an agent knows what they are looking for but not which panel it lives in.

    Natural-language lookup
    03

    Unified customer view

    Account, billing, network and device information on a single screen. The four or five logins that used to open a call are gone.

    5 systems to 1 screen
    04

    Map and outage view

    Customer and device locations plotted against live outage alerts, so an agent can rule a network fault in or out before troubleshooting the router.

    Location and live alerts

    This interactive sketch is a simplified rebuild for the case study. The actual production screens are in the high-fidelity gallery further up this page.

    16 Agent feedback

    Taking it back to the people who'd actually use it.

    Once the console was in a usable state, I got on calls with real support agents, not a survey, an actual walkthrough, to see how the design held up against the way they really work.

    The goal wasn't to confirm what I already believed. It was to find out where the design was still wrong, and it did.

    Challenge

    Every agent saw the console through their own domain

    Agents aren't generalists. Some are assigned to billing, some to device support, some to account management, and each group had a different opinion about what the "important" part of the screen was. Getting everyone aligned on a single layout, rather than the layout that only served the person in the room, was the hardest part of this round.

    Challenge

    Billing agents pushed back the hardest

    Billing agents specifically didn't want device or account information on their screen at all. Their first reaction was that it was clutter, extra sections that had nothing to do with their job. It took walking through actual calls with them to change that view.

    What changed the argument

    The reframe was simple once it was visible: a billing agent who could see a device status flag didn't need to transfer the customer to device support just to answer "is my router the problem?" What looked like clutter in a screenshot was, on a live call, the difference between resolving something in one conversation and bouncing the customer to another queue. That's the argument that got buy-in, not a design walkthrough, a side-by-side of a call handled with the old transfer-heavy flow against one where the agent had everything already in view.

    17 Impact and key learnings

    The fix was not a faster tool. It was fewer of them.

    By consolidating five systems into one console, agents stopped context-switching just to understand who they were talking to and what was likely wrong. Reducing handle time and raising first-call confidence were not features bolted on at the end, they were designed into the information architecture itself.

    What I would carry forward
    • Running research and stakeholder alignment in parallel was what made four weeks possible, but it meant validating some decisions, like the map view, later than I would have liked.
    • Bringing engineering into design review before high-fidelity was locked saved real rework. Component-level trade-offs are far cheaper to solve at that stage.
    • Scoping AI to summarisation rather than diagnosis was right for this timeline, and it is the obvious starting point for a second phase.
    • Getting agents from different domains to agree on one layout took more than a walkthrough. It took showing billing agents a real call where the "clutter" they didn't want saved a transfer, not just telling them it would.
    Unified Agent Console · UX Case Study Back to top ↑