View
Product DesignTelecom · Wholesale~12 Weeks

NumberConsole

Turning a slow, manual process into self-service software for telecom partners - replacing weeks of email-and-spreadsheet back-and-forth with something that takes minutes.

Client
A major US telecom carrier (name withheld under NDA)
My Role
Lead UX Designer - research, flows & interface design
Team
1 PM · 1 analyst · 4 engineers · 1 product designer
Status
Phase 1 - launching shortly

Client name and certain details are withheld under NDA. Visuals are generalized to protect confidentiality.

( In one line )

I designed a self-service tool that lets telecom partners get set up, and manage phone numbers in bulk on their own - built for one of the largest mobile carriers in the US, serving partners who manage numbers in batches of tens to hundreds of thousands.

The Setup

( 01 - Context )
( The situation )

Some companies need phone numbers in huge quantities - tens or hundreds of thousands at a time - to power apps, send messages, and route calls for their own customers. My client provides those numbers wholesale, but there was no product for partners to actually get and manage them.

How it worked before

A partner who needed 20,000 numbers sent an email. An internal team processed it by hand using spreadsheets. The partner waited - sometimes weeks - with no way to see progress, no explanation when something didn't work, and no way to set up or hand back numbers themselves.

Graphic - Before → After comparison
Messy email + spreadsheet + 'weeks' → a clean dashboard + 'minutes'
( My job )

Design the self-service product that replaces all of that - where partners search for numbers, request them in bulk, track progress, and configure or return them without ever emailing a human.

The Real Challenge

( 02 - What Made It Hard )
( Three forces )

This wasn't a simple e-commerce checkout. Three things made it genuinely hard - and each one shaped the design.

01
Bulk and detail at the same time

Partners think in big batches ('give me 20,000'). But each number costs money every month and has its own settings. It had to feel effortless for huge batches yet still let someone manage a single number.

02
Freedom, but with guardrails

Every active number costs the partner money, and returning a number can't be undone. Giving partners control also meant protecting them from expensive, irreversible mistakes.

03
It's not instant

Fulfilling a request takes time and often only partly succeeds - a request for 20,000 might return 18,000 because a region ran out. 'In progress' and 'partly done' had to feel trustworthy, not broken.

How do we hand partners full control over something expensive, irreversible, and slow - and make it feel calm and obvious the whole way through?- The question I kept returning to

Telecom Supply Chain

( 03 - Research )
( The Landscape )

Phone numbers don’t appear from nowhere. They flow through a chain of three players — a supplier, a carrier, and the businesses building on top. Only one of them uses the product. The other two shape it.

Colin
The Supplier
Sets the rules

Numbers are regulated — every move must be tracked.

Owns the upstream inventory and the rules that govern it. Numbers come from here, but only under strict regulatory and contractual conditions.
What they constrain
  • Which numbers can be issued in which regions
  • How quickly inventory can be allocated
  • What gets logged for audit and compliance
Owen
The Carrier
Owns the platform

Numbers are assets — distribute them responsibly.

Buys numbers wholesale from the supplier and resells access to business customers. The product I designed is theirs — built to let their customers self-serve instead of going through manual ops.
What they constrain
  • Pricing model (flat fee per active number)
  • Eligibility checks before activation
  • What partners can and can’t do without intervention
Ava
The Builder
Uses the product

Numbers are fuel — if I run out, my product stops.

A developer or operations lead at a company building voice or messaging into their product. She needs numbers fast, in bulk, without depending on humans on the other end of an email.
Her pain points (the ones the product solves)
  • No real-time visibility into availability
  • Days or weeks of waiting after a request
  • No early warning before she runs low
  • No way to fix what failed without starting over
( FOCUS FOR LAUNCH )

Ava is the only one of the three who actually uses the product — so she’s who I designed for. Owen and Colin don’t disappear; their rules, prices, and constraints show up in every screen as eligibility checks, pricing tiers, and audit trails. Understanding the whole chain is what made it possible to design for one user in it without breaking the others.

Structuring the Product

( 04 - Information Architecture )
( Four real jobs )

I organized everything around the four real jobs a partner does, in plain terms - each section answering one clear question.

Dashboard
What do I have, and is it doing anything?
Get Numbers
I need more.
Requests
Where's my order at?
Inventory
Set up, review, or hand back what I own.
Key call

I kept things I'm waiting for (Requests) separate from things I own (Inventory). An early version mixed them and instantly felt confusing - people couldn't tell what was real versus pending.

Graphic - Product map (information architecture)
Number Console branching into its four sections
Screenshot - Numbers without services count surfaced on dashboard

The “Numbers without services” count is the dashboard’s most opinionated decision — idle numbers cost money every month, so surfacing that figure makes the cost of inaction visible. It’s the first thing an operations manager should see.

The Decisions That Mattered

( 05 - Key Choices )
( Five choices )

Rather than tour every screen, here are the five choices I'm proudest of - each solving a specific human problem.

01

Getting numbers: describe, don't browse

You can't scroll through 20,000 numbers. Instead, partners describe what they want (area + quantity), hit Check Availability to see what's actually free, and confirm before committing. The price is shown right there, so the bill is never a surprise.

1
Describe
Area + quantity
2
Check
See what's available
3
Confirm
Price shown upfront
Graphic - Allocation flow: Describe → Check → Confirm
The 'see the price before you commit' moment
02

Requests: making 'partly done' make sense

The requests screen opens with four simple status tiles, so a manager sees the whole picture in a glance. Tapping in shows a plain-English reason for every line. This one detail killed days of "why did this fail?" email threads.

Screenshot - Status tiles overview
Requests statuses

Designed to scale: at 50,000 numbers, you can't list every failure as its own row. Reasons aggregate. "1,247 numbers limited by area code 415" becomes one expandable group, not 1,247 errors. Users filter by status, not by row, so partial failures stay legible at any volume.

Screenshot - Aggregated failures by reason
03

Setting up a number: a guided two-step

Turning on a service (like voice or messaging) used to fail constantly because a required setup step got skipped. I turned it into a short two-step wizard that won't let you finish until the requirements are filled in - the most common failure simply became impossible.

04

Handing numbers back: friction on purpose

Returning numbers can't be undone. So the action is easy to find but deliberately hard to fire by accident: a warning, a clear count of what's affected, and an "I understand this can't be undone" checkbox that must be ticked before the button works. Fast for the sure, impossible for the careless.

Reversible action
No friction: a single tap and it's done.
Irreversible action
Layered confirmation: slow on purpose.
Graphic - The 'friction dial' concept
Reversible = no friction · irreversible = layered confirmation
05

Bulk by spreadsheet: meet people where they are

Partners live in spreadsheets, so I let them upload one to act on thousands of numbers at once. The system checks the file and confirms in plain terms ("all 5,400 numbers found") before anything happens - validate first, commit second.

Screenshot - Bulk spreadsheet upload

Impact

( 06 - How We'll Measure It )
( Honest framing )

This product launches shortly, so I won't pretend I have live results yet. Here's what I can stand behind today, and the signals we'll watch once it's in partners' hands.

100%

of partner number management was manual before this - every request handled by people and spreadsheets. The clearest measure of success is how much of that work disappears.

( Validated pre-launch )
Internal validation

The teams closest to the old manual process could follow each flow without explanation.

Clarity check

'Partly done' status and plain-language reasons consistently read as clear - the exact thing that used to trigger back-and-forth.

Error prevention

Setup steps that previously failed are now structurally impossible to skip - an entire category of error designed out.

What I Took Away

( 07 - Reflections )
01
Clear status is the product

The most valuable thing I designed wasn't a screen - it was a shared, plain-language way to describe what's happening. When 'partly done - region ran out' means the same thing everywhere, trust builds itself.

02
Friction can be a feature

I learned to treat friction like a tool: none for safe actions, layered for irreversible ones - rather than something to remove everywhere.

03
Map people to the system, not just roles

Grouping people by their job in the bigger system predicted their needs far better than titles or demographics ever did.