Telecom E-Commerce UX Live Prototyping Price Transparency

Shopping Flow & Price Simplification

Client Verizon Value — Total Wireless
Role UX Designer & Prototyper
Year 2024
NDA
Confidentiality Notice

To respect client confidentiality, the visuals in this case study were re-created from scratch for portfolio purposes — the screens were rebuilt with an AI-assisted design system based on the publicly visible product. Specific data and internal details are anonymized. The core UX challenges, logic, and design processes remain authentic to my contribution.

The Challenge

Wireless plan pricing is inherently confusing. Customers adding multiple phone lines face compounding complexity: per-line costs shift based on plan tier, device selection, and discount combinations like AutoPay or BYOD. The existing purchase flow made it nearly impossible for customers to understand what they would actually pay each month — especially when configuring 2, 3, or 4 lines simultaneously.

The cart was a black box. Customers couldn't see a per-line breakdown, couldn't understand how discounts were applied, and often abandoned the flow out of confusion rather than cost. The core problem wasn't the price itself — it was the lack of price transparency at the moment of decision.

My Approach

Rather than designing static mockups in Figma, I live-coded functional HTML prototypes to explore the problem space. Complex interactive states — responsive cart panels that transform from side drawers to bottom sheets, multi-line plan configurations with real-time price updates, accordion behaviors with progressive disclosure — these are nearly impossible to communicate in static frames. Code was the design tool.

Through six prototypes, I systematically explored plan comparison layouts, cart panel architectures, and pricing display patterns. The breakthrough came with the "line item box" pattern — compact mini-cards within the cart that gave each phone line its own visual identity, showing plan, device, and cost at a glance. This pattern made multi-line pricing finally legible.

Process

01
Research & Audit
02
Flow Mapping
03
Cart Architecture
04
Live-Coded Prototyping
05
Pricing Innovation
06
Handoff & Adoption
6
Functional prototypes live-coded in HTML, CSS & JS
Line Items
Per-line pricing pattern adopted into the shipped product
D + M
Responsive system shipped across desktop & mobile

Rapid Prototyping in Code

This came first — before any coded design system existed. Each prototype below is a fully functional HTML application I live-coded to test a different bet on the same pricing problem, so they deliberately look different from one another: this was divergent exploration, not a finished visual language. Toggle between desktop and mobile to see the responsive behaviors. Every one was shared directly with stakeholders and engineering as a living specification.

01 — Plan Comparison Table
A horizontally scrollable comparison table with sticky columns. Explored how to present 3 plan tiers with pricing, data, perks, and feature breakdowns in a scannable format.
02 — Step-by-Step Plan Configurator
A React-based interactive configurator that walks users through line selection, plan choice, and device pairing step by step. Features real-time price calculations, multi-line support, and a detailed cost breakdown modal — including the "Savings & Due Today" summary bar that became a key pattern in the final product.
03 — The Key Innovation: Line Item Pricing & Savings Summary
This prototype introduced the "line item box" pattern — compact mini-cards within the cart that give each phone line its own visual identity, showing plan, device, and per-line cost at a glance. Combined with a persistent "Savings & Due Today" summary bar, this pattern made multi-line pricing finally legible and trustworthy. Both concepts were adopted into the final shipped product.

Additional Prototypes

The Brand, Reverse-Engineered into Code

Total Wireless is one of several brands under one roof, so its design system was built in Figma as a tight, white-label architecture — a single set of nested components, re-skinned per brand. Powerful and rigorous, but locked inside Figma. It was never handed to designers as code, so as the AI era arrived there was no way to prototype with the real brand in running code.

So I reverse-engineered it. Working from the publicly visible product, I rebuilt the brand as code: design tokens for color, type, radius, and spacing, wired into a typed shadcn/ui component registry on Next.js. Now an AI — or any engineer — can assemble a new screen and it comes out on-brand by construction: the right navy, teal, and red; the right radii, type, and spacing.

The early live-coded prototypes proved the UX fast, but each was a one-off throwaway. This was the opposite: one reusable system, faithful to the brand and close enough to production to ship — the definitive version of the same idea, and the bridge between the brand and AI-coded prototypes.

globals.css — brand tokens
@theme inline {
  /* Brand — from the Figma source of truth */
  --font-heading: "Galano Grotesque", "Inter";

  --color-tw-navy-900: #000330;  /* primary text  */
  --color-tw-navy-500: #26358B;  /* brand blue    */
  --color-tw-teal-400: #00C8B7;  /* savings/promo */
  --color-tw-red-600 : #EE0000;  /* Add to Cart   */
  --color-tw-gray-100: #F2F2F2;  /* page surface  */
}
button.tsx — variants mapped to Figma
const buttonVariants = cva(
  "rounded-full font-bold transition-all",
  { variants: {
      variant: {
        default: "bg-tw-navy-900 text-white",      // primary
        cta    : "bg-tw-red-600 text-white",        // Add to Cart
        teal   : "bg-tw-teal-400 text-tw-navy-900",  // savings
      },
  } }
)

Every brand value lives in code. Colors, type, and radii come from tokens extracted from Figma (left); each component maps a Figma variant onto those tokens (right) — so “Add to Cart” is always tw-red-600, never a guess. That constraint is exactly what lets an AI build a prototype that stays on-brand.

12 Production Components

Button PlanCard SavingsBar Stepper LineCounter SegmentedControl PhoneOption Card Tabs Input Badge Separator

The Storybook — Live Component Catalog

This is where the reverse-engineered system becomes something a team can actually use. The whole thing ships as a browsable styleguide, running live in the page: brand tokens, every component with its variants and states, and guides for pulling components from the registry and tracing each one back to its Figma origin. Open Brand, Components, or Guides and click around — this is the catalog a teammate, or an AI agent, pulls from to build on-brand, every time.

Total Wireless · Design System · Storybook Open full screen ↗

A live, static export of the Next.js styleguide — browse it here, or open it full screen ↗

Shipped Product

Team Output

The shopping flow shipped across desktop and mobile. My prototypes and the design-system patterns informed the cart architecture, the per-line pricing display, and the responsive behavior. Here is the journey end to end — each desktop screen beside its mobile counterpart.

01 — Home & Plan Selection

Homepage — desktop
Homepage — mobile

Home — plan promo and the entry points into the shopping flow.

Plan selection — desktop
Plan selection — mobile

Plan selection — three unlimited tiers compared side by side, price-first.

02 — Choose Your Phone & Plan

Choose your phone — desktop
Choose your phone — mobile

Plan detail — bring your own phone, or pick a device to pair with the plan.

Device and plan detail — desktop
Device and plan detail — mobile

Device detail — choose the offer, then the matching plan, in one place.

03 — Cart: Line-Item Pricing

Cart — desktop
Cart — mobile

Cart — device and plan broken out per line, with a persistent Subtotal & Auto Pay summary. This is the “line-item box” pattern in the shipped product.

04 — Checkout

Checkout — desktop
Checkout — mobile

Checkout — account, number, shipping, and payment, with the running Order Summary always in view.

Payment method — desktop
Payment method — mobile

Payment — card, PayPal, or PIN, with the Savings & Due Today total confirmed before purchase.

Deliverables

  • 6 Live HTML Prototypes
  • Figma Flow Documentation
  • Cart Component Patterns
  • Pricing Display System
  • Responsive Specifications

Methods

  • Live-Coded Prototyping
  • Competitive Analysis
  • Interaction Flow Mapping
  • Stakeholder Reviews

Tech Stack

  • HTML / CSS / JavaScript
  • Tailwind CSS
  • React (configurator)
  • Firebase (data persistence)
  • Figma
← All Projects Next: KOJI FIZZ →