BACK
Postpaid CRM - Enterprise
Led the transformation of a leading B2B telecom industry’s postpaid CRM portal, delivering a more intuitive, user-centered design that streamlined agent workflows and improved customer interactions.
Business Needs
"We need to simplify customer account management, reducing the time agents spend on repetitive tasks."
"We want a more personalized dashboard, feature dynamic widgets that adjust based on the agent’s role, showing only the most relevant metrics and KPIs."
"Bring the click count to minimum and keep everything upfront."
Pain Points
The problem I was trying to solve was the suboptimal inefficient user interface, scattered primary actions and 11 tables across 4 routes, each built slightly differently with inconsistent row states, confusing bulk actions and slow scan, making it challenging for employees to navigate through the portal.
Challenges
The cracks were small, but they were everywhere.
During customer calls, users kept getting confused navigating through tables, not because any single one was broken, but because small inconsistencies were everywhere.
A user struggled to find the action to deactivate and reverse a VAS service. The CTAs were sub-tab lookalikes, unlabeled, and placed differently than in other views.

Observation 1
An agent uploaded files with long names and the Source column blew out, pushing everything else off-screen. Each table handled column overflow its own way.

Observation 2
Audit
To find out whether those moments were edge cases or a pattern, I audited every table in the product and found 11 inconsistent implementations across 4 routes.
Row heights and cell padding
Header styling and sort behavior
Action placement and icon usage
Empty states, loading, and pagination
Upload / import button naming and icons
Column overflow rules
Approach
Tables aren't a feature of the product. They are the product.
Service descriptions, interaction history, line item details, usage summaries and payment logs were the most data-dense views in the product → 70+ char long text in several columns, and multiple metadata fields. If the pattern worked here, it would work everywhere.
Table Redesign
36–40px rows - agents scan volume, not whitespace
Content-first columns; metadata shrunk
Sticky columns for high-priority information
Discoverable, consistent row actions
Scale
Once the table was solid, I applied the same pattern to three more views - Billing, Queues, and Bulk Request Management - unifying density, alignment, action placement, and toolbars across the product.
Below are some other user stories I worked on:
360 Dashboard
Established main tab - sub tab visual hierarchy and introduced AI analyzer
Bulk Operation View
Fixed scattered CTAs, proposed template filteration and displayed response file key metrics
Service Request Framework
Designed SR creation pop up with differentiable read-only, auto-populated and editable values.
Outcome
A unified, task-first customer portal making information search and role-specific action visibility easy
Key Learnings
Redesign - Reflected carefully on how any new feature alters the app's current flows, interactions and the technicalities.
Doherty Threshold - Created multiple variations of features based off of UX laws to understand my user's mental model
Advocacy - Learned how to vouch for my designs communicating the rationale in stakeholder's terminology tieing them to a larger business objective
Postel's Law - The key to 10+ stakeholder's unique needs and a tendency to generate requirements on-the-spot was to differentiate between constructive feedback and noise
More


