Verizon - Retail Companion & Personal Shopper Copy
Industry
Retail UX/ AI
Client
Verizon
Service
UX/UI Design
Date
2024-25
Verizon’s in-store plan builder was designed around the rep, so customers sat through a pitch they could not see. I led the redesign of Retail Companion, a shared 15″ kiosk that puts the customer in control of the upgrade while staying synced live to POS.

Making an AI quote feel like advice, not a pitch.
Verizon reps were using AI to build upgrade quotes that customers didn't trust. I owned the customer's side end to end, Retail Companion on the collaboration table, and turned a rep tool into a conversation both people can see, question and change.
- Role
- Lead UX Designer · RC design owner
- Scope
- Strategy → research → design → VQA
- Team
- PM, 2 eng squads, UXR, VDS
- Shipped to
- 50-store US pilot
Customer takes over on RC.

- Problem
- In-store quotes were built by reps, out of the customer's sight. 54% of customers felt "sold to", and only 38% accepted the rep's recommendation.
- My strategy
- Three bets: make the AI explain itself, give the customer the same live quote on their own screen, and handle every device type with one add-a-line flow.
- Outcome
- Acceptance nearly doubled, to 67%. Upgrade completion rose 34% and NPS 18 points across a 50-store pilot.
Metrics from Verizon's research and analytics teams. Add one line on method: pilot window, comparison group.
The sale happens across a table, not a counter.
Verizon's NextGen stores replaced the counter with a collaboration table. The rep sits beside the customer with a POS iPad. Between them stands Retail Companion: a 15″ portrait screen on a stand that rotates 180°, so it can face whoever needs it.
Personal Shopper is the AI that builds the quote. The rep starts it on POS; the customer reviews and changes it on Retail Companion. I owned Retail Companion end to end and worked with the POS team so both screens behaved as one.


Constraints that shaped every screen
- Two readers, one screen. Type and pricing had to be legible to someone sitting opposite.
- Glare. In-store lighting washed out low-contrast UI.
- Rotation. Every state had to make sense whichever way the screen faced.
- Interruptions. Customers walk off and reps get pulled away, so sessions needed timeouts and safe resumes.
Imagine walking into a store to upgrade one phone. Twenty minutes later the rep turns an iPad toward you with a number on it. You have no idea how they got there, or whether it's the best deal or just the one they need to sell.
How do we get more customers to accept upgrade offers?
Why don't customers trust the offer they're shown, and what would they need to see to trust it?
The same moment hurt three people
- Can't see how the quote was built
- Can't compare current plan vs offered plan
- Finds out the real monthly cost at checkout, or on the first bill
- Builds every quote by hand across devices, plans, perks and promos
- Jumps between POS, printed plan sheets and separate tools
- Narrates everything verbally
- Upgrades and new lines are the core retail revenue
- Verbal recommendations rarely converted
- Long sessions limited how many customers a store could serve
What was actually broken
The old Plan Builder followed the rep's workflow, not the customer's understanding. Account data sat three levels deep. Trade-in and credit ran in separate tools. Nothing showed the difference between what the customer pays today and what they'd pay tomorrow.
So the tool couldn't explain itself, and the rep had to do it out loud.
We sat at the table with them.
Store visits in New York and Dallas, rep shadowing, customer intercepts, and stakeholder interviews. I joined the sessions and synthesised findings with Verizon's UXR team.

NYC store visits. One annotation reads "rep stepping aside to build the order on POS". That moment drove the shared-quote idea.
Customers don't want an AI choosing their plan.
They don't trust generic AI. When the quote cited their own usage and tenure, trust jumped 41 points.
Came for guidance, not a pitch
Most visitors wanted human advice, and 54% felt "sold to". The screen had to feel neutral and customer-controlled.
Of rep time lost to context switching
POS, printed plan sheets and verbal narration broke the conversation.
Negative sentiment to generic AI quotes
Quotes that cited the customer's own usage and tenure raised trust by 41 points.
Longer sessions when current plan came first
Showing what they pay today anchored the conversation: "I'm paying that much? Tell me more."
"It just wants me to spend more."
Customer · early AI quote, no reasons"It actually knows my situation."
Customer · after reasons were added"I just show them their account and let them react."
Store rep · after launchThe principles I held every screen to
Research artifactsSynthesis board and current-state journey map+
Where trust broke in the store.
I mapped the in-store visit from walk-in to signed quote and marked every moment where the customer lost confidence. Select a stage to see what went wrong and where it's solved.
Three bets, and what I said no to.
The research pointed at one root cause: the customer couldn't see or influence the quote. I turned that into three bets and aligned product, engineering and the POS team around them before designing flows.
Make the AI explain itself
Every pick carries a one-line reason in the customer's terms, so the quote reads as advice.
One quote, two screens
The customer gets the rep's live quote on their own screen, and only one person edits at a time.
One flow for every device
Adding a phone, watch, tablet or home internet runs on the same spine, so customers learn it once.
Trust came from recognising yourself in the reason.
Problem
Early AI quotes without reasons scored poorly: "it just wants me to spend more." Reps also had to explain every price change out loud.
Insight
Customers didn't need to understand the model. They needed to see their own life in the recommendation.
Decision
A one-line reason under every pick, written in the customer's terms, and a money summary that never leaves the screen.
Device
Plan
Perks
Protection
A working recreation of the shipped pattern. Reasons are word for word from the designs.
How I made the AI legible
- A reason taxonomy. History, continuity, interests, household, peers. Every pick maps to one, so a reason is always available and always short.
- The rep controls the timing. Reasons can appear too early in a conversation, so a toggle lets the rep reveal them when it helps.
- Suggest, don't add. Perks based on similar customers sit next to an Add button. The quote never grows without a person choosing it.
- Money is never a surprise. RC always shows current monthly → est. new monthly → due today, so every edit shows its cost instantly.
Confirm: who owned the reason taxonomy (you + data science?)
The shipped quote, on both screens


It took four tries to get the AI's entrance right
Pop-up offer
Felt like an upsell ad. Dismissed before reading.
RejectedName it
What you learned
RejectedName it
What you learned
RejectedSavings-first, reasons inline
Led with what the customer gains. Became the "Perfect bundle".
ShippedResultAI recommendation acceptance, up from a 38% rep-verbal baseline. Contextual reasons were the decisive change.
See the screens · how the quote is built on POSThe rep's side I designed with the POS team: reason for visit, authentication, the AI quote, inline edits, price breakdown+
Handing the quote across the table, without losing control.
Problem
The quote lived on the rep's iPad, out of sight. Putting it on the customer's screen created two new problems: connecting two devices in front of the customer, and two people editing the same quote.
Insight
Customers felt least in control "when the rep typed something and the screen changed without explanation." The fix wasn't co-editing. It was clarity about who's driving.
Decision
The customer brings the quote to their screen with a code. Then only one screen edits at a time: RC can ask for control, POS can always take it, and the paused screen says why.
Part 1 · Connecting the two screens
POS · rep
Retail Companion · customer
Connect to your specialist
Scan the code on your specialist's iPad, or enter the 6 digits they share.
Connect to your specialist
Scan the code on your specialist's iPad, or enter the 6 digits they share.
Connecting to your specialist…
Steps 3–4 are redrawn in low fidelity. The rest are the shipped designs.
Part 2 · One editor at a time, the rep as master
Retail Companion
Continue editing here
POS · Personal Shopper
Refresh Edit on POS


ResultRep efficiency in pilot stores. Reps stopped narrating and started "leading with the screen".
See the shipped screens · all four hand-off states on RC and POSIncluding the paused POS screen that keeps a live summary, with Refresh and Edit on POS+
1 · Editing on RC


2 · Editing on POS


3 · RC requests control


4 · Back to RC


One spine for six device types.
Problem
"Add a line" hid two jobs: upgrading a line the household already has, where eligibility differs per line, and adding a new line, where there's no device yet for the AI to build on. Each device type added its own rules on top.
Insight
For an existing line the customer asks "can I upgrade, and what will it cost?". For a new line they ask "what should I get?". Under both, the shape of the task is the same.
Decision
I pushed for one spine instead of a flow per device: intent → device or line → generate → quote. Device rules live only in the middle steps. Customers learn it once; engineering builds it once.
Pick a path and a device. Grey cards are the shared spine; red cards exist only for that device. Click any card to step through the screens.
Eligibility before commitment
Without this, a customer only learns at checkout that a line isn't eligible. Every line shows its status before it's selected, and the same states feed early upgrade and buyout.
Rules that protect the customer
- Removing a line asks first.
- Pending lines are flagged before the customer continues, because they'd be removed.
- The last line can't be removed. Its remove (×) button disappears, so a quote can never be emptied by accident.

ResultDevice types (smartphone, basic phone, tablet, watch, home internet and combo orders) on one flow, instead of six to learn, build and test.
See the screens · eligibility and line removalPer-line upgrade status, remove confirmations, and the last-line rule+
The hard moments, end to end.
Beyond the three stories, I owned every money moment on RC, where the old process relied on a rep explaining things out loud. Open any one for the problem, the decision and the screens.
Trade-inA separate tool became a guided step inside the quote10 screens · RC+
- Problem
- Trade-in ran in a separate tool mid-transaction. Customers lost track of their quote.
- Decision
- Pre-select the account's own device, verify the IMEI inside the field, ask four yes/no condition questions, and show the value as a monthly credit. "Skip trade-in" on every step, so nobody is trapped.
Early upgrade & buyoutMaking "you still owe $466" feel fair8 screens · RC + POS+
- Problem
- Remaining device balances were disputed at the counter, and device checks happened off screen.
- Decision
- Numbers first (device to return, amount paid, early-upgrade amount), then a plain qualification checklist, then an explicit Accept or Decline. POS handles ID, activation-lock and stolen-list checks.
Credit reviewConsent before credit, with a path either way3 screens · RC+
- Problem
- Credit checks are a high-anxiety moment, and "no" used to be a dead end.
- Decision
- Plain-language soft-check consent, remembered for 30 days. "No" still produces a quote, just without financing.
Down paymentA finance-limit wall became a choice5 screens · RC+
- Problem
- When a device exceeded the finance limit, the rep offered a down payment verbally, with nothing on screen.
- Decision
- The required minimum shown up front, the final price and monthly recalculated as the customer types, and one tap to split it across lines.
Design systemOne system, six screen sizesFrom a 3840px table to an 800px locker+
- What I did
- Extended Verizon's design system (VDS, moving to Monarch mid-program) to retail hardware: 16px minimum body on RC, 700+ weight prices, 44px targets, higher contrast for store light. New components (AI quote card, port-in drawer, down-payment calculator, idle-timeout modal) went back into the shared library.






The calls that shaped it.
iRestructure the IA around the customerShipped
Tension
Reps knew the old rep-centric structure. Changing it meant retraining.
Call
Admin functions moved to POS. RC follows the customer's journey.
Result
Reps now "lead with the screen".
iiExplain every AI pick, even at the cost of density67% acceptance
Tension
Reasons add a line to every card on an already dense screen.
Call
One-line reasons in the customer's terms, with a rep-controlled toggle.
Result
Acceptance rose from 38% to 67%.
iiiLock editing to one device instead of co-editingShipped
Tension
Real-time co-editing sounds better, but merges would change prices under someone's finger.
Call
An explicit edit lock with the rep as master and a request-to-edit hand-off.
Result
No silent overwrites. Both people always know who's driving.
ivOne add-a-line spine for every deviceShipped
Tension
Each device team wanted its own flow, because watches, tablets and home internet all had special rules.
Call
One frame. Device rules live only in the middle steps.
Result
Six device types without six flows to learn or build.
vSplit-view plan comparison with deltas+34% completion
Tension
Full plan detail vs a glanceable comparison.
Call
Current vs recommended side by side, highlighting only what changes.
Result
The single biggest driver of upgrade completion.
viLetting customers remove the last lineI lost this one · draft
What I argued
Customers should be able to remove every line, including the last, with a confirmation, instead of asking the rep to start over. I designed it, and the version is archived in Figma.
Why it was cut
Your words: e.g. the backend couldn't handle an empty quote this release.
What I'd do now
Placeholder: what you learned. Replace with your real story if you have a stronger one.

Presenting the down-payment flow, with written documentation of every state, to Verizon's product design board.
What changed in the store.
Results from the 50-store US pilot, measured by Verizon's research and analytics teams.
Plan upgrade completion
Driven by side-by-side comparison of current vs recommended.
NPS
Customers said they felt "understood" and "not pressured".
Projected annual uplift
Pilot results extrapolated across US retail.
Rep efficiency
Less narration, more conversation.
Session engagement
When the current plan was shown first.
Device types, one flow
One add-a-line spine.
Add method: pilot dates, control group, and whether $28M is a finance projection.
What I'd do differently.
Trust needs time on screen
Some customers skipped the reasons in testing. I'd use motion to slow the AI reveal, so the reasons land before the price.
Prototype the physical rotation earlier
The two-mode screen was right, but the transition was under-designed. A cardboard prototype in week two would have caught it.
Make the system its own product sooner
Extending VDS paid off in reuse. I'd set up the retail system with its own governance from day one.
