Virgin Media O2
Lumi AI – Agent Assistant for the Contact Centre
Leading UX for Lumi AI — Virgin Media O2's in-house intelligent assistant for contact centre agents. Built on Gemini AI, Lumi listens to live calls and surfaces context, guidance, and alerts in real time.
Overview
Lumi AI is Virgin Media O2’s in-house intelligent agent assistant, built entirely by a cross-functional internal team. It runs alongside the existing agent desktop and listens to live customer conversations in real time, surfacing context, predictions, guidance, and alerts without agents needing to ask for them.
The product spans a wide capability set: pre-call customer context, real-time emotion and complaint prediction, a process recommender that suggests scripts and resources mid-call, and a structured alert layer for vulnerability, complaints, and sales opportunities.
I joined as UX and UI Design Lead at the point where core capabilities had been defined and the team needed to translate them into a coherent agent experience. My role is end-to-end: discovery, research, UX strategy, interaction design, and prototyping through to high-fidelity handoff.
Business Context
Contact centre operations are one of Virgin Media O2’s largest cost centres. Agent experience directly shapes customer experience — agents who are overwhelmed, context-switching between systems, or uncertain about the right next step create slower, lower-quality interactions.
The business case for Lumi AI was threefold: reduce agent effort, improve resolution quality, and build the internal AI capability needed to support wider automation across VMO2 customer journeys. Getting the agent experience right was not a feature consideration — it was the condition for the whole programme succeeding.
Lumi is built on Gemini AI and runs on Google Cloud Platform. The decision to build in-house rather than buy an off-the-shelf solution reflects the scale and complexity of VMO2’s contact centre operations and the need for deep integration with existing systems.
Problem
The existing agent desktop — Engage — requires agents to navigate multiple disconnected systems to handle a single customer query. Context is fragmented. Each call begins with agents having little to no visibility of the customer’s history, current account situation, or likely reason for calling. Agents compensate with experience and memory, but this is inconsistent and does not scale.
The opportunity Lumi addresses is not just efficiency — it is consistency. Even the most experienced agent has cognitive limits during a live call. Lumi’s role is to extend every agent’s awareness: to surface what they need before they think to ask, and to flag what they might miss under pressure.
The design challenge was not building a feature list. It was deciding what to surface, when, in what form, and at what level of prominence — in a context where agents are already managing a live conversation with a real customer.
Constraints
- Lumi must coexist with the existing Engage desktop, not replace it. Integration surface is defined, not open-ended
- Agents are measured on handle time and quality scores — the design had to feel fast and frictionless, or agents would work around it
- A large cross-functional team (product, engineering, data science, operations, security, compliance) meant design decisions involved many stakeholders with different and sometimes competing priorities
- The product is live and actively iterated — design decisions have immediate deployment consequences
- On-site research was required to understand real agent behaviour; the desktop environment and call reality cannot be accurately simulated in an office
Research
I conducted hands-on user research on-site with Customer Contact Agents across multiple contact centre locations in the UK and internationally. This was not optional — agent behaviour in a live contact centre is materially different from what agents describe in interviews. Call pressure, system habits, and workarounds only become visible when you are there.
Key observations from on-site sessions:
- Agents develop strong personal systems for managing information gaps — workarounds that work for experienced agents but are invisible to new starters
- The beginning of a call is the highest-pressure moment. Agents have seconds to orient to a customer’s situation before the customer expects a response. Any tool that adds friction at this point will be abandoned
- Agents vary significantly in how they use assistive tools — some want dense information they can scan quickly; others want minimal prompts they act on without reading
- Trust in AI-generated content was conditional: agents were open to using Lumi’s suggestions, but needed to understand the basis of a suggestion before acting on it during a live call
- Vulnerability and complaint situations were the moments where agents felt most exposed — and where consistent guidance had the highest value
I ran design workshops with the cross-functional team to translate research findings into design principles and to build shared understanding of agent needs across engineering, operations, and product.
Insights
Insight 1: Pre-call context is the highest-value design problem. Lumi surfaces customer context before the conversation begins — account details, last interaction summary, intent signals. Getting this right reduces the cognitive spike at call start more than any in-call feature.
Insight 2: Prediction requires careful framing. Lumi’s emotion predictor and complaint predictor give agents advance signals about a customer’s likely state. These are powerful — but only if agents understand they are probabilistic signals, not facts. The framing in the UI directly determines whether agents use these productively or become over-reliant on them.
Insight 3: Alerts must be tiered by urgency and consequence. Vulnerability alerts, complaint alerts, and sales alerts serve very different purposes and carry different stakes. Treating them visually as equivalent would either desensitise agents to high-stakes alerts or cause them to treat every alert with the same weight. The information hierarchy in the alert system needed to reflect real operational priority.
Insight 4: The agent’s voice must stay central. The marketing content framing — “the voice of the agent remains at the forefront” — reflects a genuine design constraint. A tool that removes agent judgement creates compliance risk and erodes agent ownership. Lumi’s role is to inform decisions, not make them.
Product Thinking
The product’s stated mission is to “transform agent experiences through AI in the contact centre.” In practice, that meant making a series of product framing decisions that determined what Lumi is and what it is not.
The most important framing decision: Lumi is an ambient assistant, not a search tool. It listens and surfaces — agents do not query it. This was the right call, but it has significant design implications. An ambient assistant that surfaces irrelevant information at the wrong moment is more disruptive than no assistant at all. Every surfacing decision is a design decision.
I contributed to shaping the product’s capability sequencing. The pre-call context layer (summaries, predictors) and the real-time support layer (360 Process Recommender, alerts) serve different agent needs and operate on different timescales. Designing them as a coherent whole — rather than a collection of features — required early alignment on the experience model across the product team.
I also pushed for clarity on the difference between features that reduce agent effort and features that improve agent quality. These are related but not the same, and conflating them creates design briefs that cannot be prioritised. Effort reduction lives in speed and frictionlessness. Quality improvement lives in consistency, confidence, and appropriate escalation.
Key Decisions
Decision: Surface pre-call context as structured summaries, not raw data. The instinct from some stakeholders was to surface as much account data as possible upfront. Research showed this overwhelmed agents at call start. We designed three structured summary types — intent summary, last human interaction summary, and account details summary — each scoped to what is actually actionable in the first 30 seconds of a call.
Decision: Frame predictors as signals, not certainties. The emotion predictor and complaint predictor use language that signals probability, not diagnosis. “This customer may be frustrated” rather than “this customer is frustrated.” This was a deliberate framing choice to preserve agent judgement and avoid the AI creating a self-fulfilling tone.
Decision: Alert hierarchy based on operational consequence, not technical priority. Vulnerability alerts sit at the top of the alert hierarchy — visually and behaviourally distinct from complaint alerts and sales alerts. The cost of missing a vulnerability signal is categorically higher than missing a sales opportunity. The design reflects this, even though technically all three alerts are generated by the same underlying system.
Decision: The 360 Process Recommender surfaces resources contextually, not as a library. Rather than giving agents a searchable knowledge base, the recommender listens to the conversation and surfaces the relevant script or resource at the moment it becomes relevant. This required close collaboration with the knowledge management team to structure content in a way the AI could interpret and surface accurately.
Design Process
I work end-to-end: from on-site discovery through to high-fidelity prototypes reviewed by engineering for implementation. The process is iterative and fast — Lumi is a live product, and design decisions feed directly into active development sprints.
The structural design challenge was organising a wide feature set into a coherent desktop experience without overwhelming agents. Lumi coexists with Engage (the primary desktop application) and needs to earn attention without competing for it. The picture-in-picture capability — allowing Lumi to be popped out onto the desktop as a separate overlay — was an important design decision that gives agents control over how they integrate Lumi into their existing workflow.
I have run design workshops with the cross-functional team at multiple stages: initial IA and prioritisation, iterative prototype reviews, and research synthesis sessions that translate on-site findings into actionable design direction.
Prototyping in Figma is tested against the real agent environment wherever possible. Simulated testing reveals some issues; on-site observation with agents using the actual desktop reveals the rest.
Validation
Validation for a live product in a contact centre environment requires on-site presence. Agents using Lumi in a real call context behave differently from agents reviewing a prototype in a meeting room.
Key validation activities:
- On-site observation sessions at multiple contact centre locations, watching agents use Lumi during live calls
- Structured feedback sessions with agents after shifts, capturing specific friction points and moments of value
- Design workshops with operations and training leads to identify where the experience created confusion or inconsistency in agent behaviour
- Review of alert response patterns to understand which alert types were being acted on and which were being dismissed
The feedback loop is continuous. The agent voice is explicitly built into Lumi’s development model — agent feedback shapes what is built and prioritised next.
Final Solution
Lumi AI operates in three layers:
Pre-call context layer — Before the conversation begins, agents see:
- An intent summary explaining why the customer is likely calling
- A last human interaction summary giving context from previous calls or chats
- A customer details summary with key account information upfront
Real-time intelligence layer — As the call progresses:
- Emotion predictor signals how the customer may be feeling, helping agents adapt tone
- Complaint predictor provides early warning of potential escalation
- 360 Process Recommender listens to the conversation and surfaces relevant scripts and resources for faster, accurate resolution
Alert layer — Proactive signals throughout the call:
- Vulnerability alerts to ensure no customer need is missed
- Complaint alerts to support correct recognition and logging
- Sales alerts to surface relevant opportunities contextually
The product is deployed alongside the existing Engage desktop. The picture-in-picture capability allows agents to position Lumi independently on their desktop, giving them control over how it fits into their existing workflow.
Collaboration
Lumi is built by a large cross-functional team. Effective collaboration across product, data engineering, frontend engineering, operations, security, and compliance is not optional — it is the only way a product of this complexity ships.
My role includes educating the team on UX and the value of user research. In a technically-led product team, there is always a risk that design becomes a delivery function rather than a discovery function. I have invested time in building shared understanding of agent needs across the team — through research synthesis sessions, workshop facilitation, and making research findings accessible and compelling to non-designers.
The most productive collaborations have been with operations and contact centre leads, who have deep knowledge of agent behaviour that is not available through any other channel. Treating them as research partners rather than stakeholders to manage has produced better design decisions.
Influence
I have contributed to the product’s strategic direction beyond the immediate design brief. This includes input on capability sequencing — which features should ship first and why, based on where the design evidence suggests the highest agent value lies — and on how the UX strategy should evolve as Lumi moves towards deeper agentic AI integration.
The UX strategy I am building provides a decision-making framework for the product team: a consistent set of principles for what Lumi surfaces, when, in what form, and at what prominence. This matters more as the feature set expands — without it, each new capability risks being designed in isolation.
Outcomes
The project is ongoing. Lumi AI is live and being actively developed and expanded.
Qualitative outcomes observed to date:
- Agents who engage with the pre-call context layer report arriving at calls feeling more prepared, particularly for sensitive or complex customer situations
- The alert system has improved consistency in vulnerability and complaint identification — situations where agent-to-agent variation was highest before Lumi
- The 360 Process Recommender has reduced the number of cases where agents put customers on hold to search for process guidance
- The feedback loop between agents and the product team is active — agent input is shaping the roadmap in ways that were not happening before Lumi
Formal outcome measurement is ongoing as the product scales across the contact centre estate.
Failure and Risk
Designing for a real-time, high-pressure environment surfaces failure modes that lab testing cannot predict. Some early surfacing decisions created moments of distraction rather than support — technically accurate information appearing at the wrong moment in a call, when agents had no cognitive bandwidth to process it.
The design response has been to think carefully about conversation stage: what is useful at call start is different from what is useful mid-resolution, which is different from what is useful at close. Lumi needs to understand where in a call it is, not just what the customer has said.
The breadth of the cross-functional team is also a design risk. With many stakeholders, there is always pressure for Lumi to surface more — more information, more alerts, more suggestions. The design discipline required is the discipline of restraint: protecting the agent’s cognitive headspace as the product grows.
Reflection
This is the most complex product environment I have worked in: a live AI system, a real-time contact centre context, a large cross-functional team, and agents whose trust has to be earned rather than assumed.
The biggest shift in my thinking has been about what AI does to design responsibility. When a product makes predictions about a customer’s emotional state, or surfaces a vulnerability alert, or recommends a specific process — and agents act on those signals — the design of those moments carries real consequence. Getting the framing wrong is not a usability issue. It is an accuracy issue, a trust issue, and in some cases an ethical issue.
Designing Lumi has pushed me to think harder about what responsible AI product design actually means in practice, beyond principles and into interface decisions.