Empathy was built as a practice in the team: direct interviews with brands actively using the product, workflow journeys mapped end to end. Listening to users at scale was established: a running research pipeline instead of ad-hoc calls.
Three months of support tickets, read as research, not filed and forgotten.
Research, Echo acceptance criteria, design system, testing.
Co-research on workflow studies, split component ownership on the design system.
Recruited research participants, coached us on interviewing.
Cleared high-severity issues on the spot as they surfaced.
Built the Echo extraction pipeline.
Every design team says they build for the user. For a while, I couldn't even reach mine.
Hierarchy, spacing, industry patterns. It looked like design. It was guesswork.
Rare data. Few insights. The occasional CSM suggestion coming in from the side.
No steady way for design to reach users, hear them, or turn what they said into work.
I needed to build a research system that bridges the gap between the user, and the product we build for them.
Connecting with users was the obvious first move.
Interviews were lined up with heavy users of the platform: Mokobara, ClayCo, MyBageecha, Phutari, and more. Swapneel and I co-interviewed their marketing managers, leads, retention marketers, and performance marketers.
I came out with a long list of insights that's since reshaped how several features work. A few, to give you the shape of it:
| Area | What broke |
|---|---|
| Broken workflows | To complete a single goal, users had to navigate constantly. Modules and capabilities were scattered across the platform instead of living where the work happened. |
| Segmentation | Couldn't use more than one segment per campaign. Couldn't upload or save a segment the way they wanted to. Some were building segments in Shopify first, then had no way to modify them with BoB-specific data once inside the platform. |
| Campaign creation | No draft management. No way to build multi-path or drip campaigns. Users expected omnichannel campaigns, which the platform didn't support at the time. No visibility into what a campaign would cost before running it. Templates lost the media users had added during creation. |
| Campaign analytics | Users needed to correlate two campaigns against each other and had no way to. Also uncovered a critical bug misattributing order revenue to the wrong campaign. |
Several new features I designed were based on these workflow studies:
Fixes shipped before the study wrapped. Archit acted on urgent analytics-related bugs immediately.
The team got its first real evidence to work from, not opinion.
Talking to users didn't scale.
Every study started with weeks of chasing the right people before a single session happened.
Users behave differently when they know they're being watched. The more we interviewed, the more that started to shape what we heard.
There was no running list of insights to draw from. Gathering fresh data for each feature would have stretched timelines I didn't have room to stretch.
Scheduling a call for every feature wasn't fair to their time, and it wouldn't scale.
I needed a channel that didn't rely on booking a call. I tried three things.
GoalSo users could log frustration the moment something broke.
OutcomeEngineering never had bandwidth. It never shipped.
GoalSo support agents could capture what they were hearing.
OutcomeCSMs wouldn't use it. Their reason was fair.
"We've been telling you these problems for months. What changed?"
Support team
GoalThe feedback was already being written every day, in the users' own words. We just weren't reading tickets as research.
OutcomeThis is the one that worked. The rest of this case study is what came from it.
This is what users actually experienced.
Support tickets are the most honest channel a product has. On a call, users smooth things over. On support channels, they're frustrated and specific:
"how do i delete all these templates?"
MyBageecha
"I can't find "Overview" anywhere."
Namya Living
"Where can I activate this popup"
The Sass Bar
"I just wanted to find where the whatsapp template was haha"
Papayain
"could you let us know the path to download the dump of flow builder"
Mensa Brands
"Cannot see the previous msgs for some reason"
ELINOR JEWELS
"where can we check the logs of those messages if they are going out?"
Cococart
"I'm unable to find templetes"
Rustic Art
"unable to find recent chat in transcript"
Callmate
"New messages not clearly visible on the dashboard"
Power Sutra
"Where we can find the IDs of the approved templates?"
Riyasat
"Our WhatsApp Widget is not visible on website page."
Tribal Veda
"How can we remove/disable the "Need Help?" chatbot widget from the website?"
Ecosys
An extraction pipeline, plus the judgment layer that makes it usable.
I defined the acceptance criteria and the taxonomy: the layer that decides whether Echo caught something worth acting on, and where it fits.
Huge credit to Roshas, our AI engineer. He built the extraction pipeline that ingests every ticket and pulls out the ones with a UX-actionable signal.
| Category | Count | Share |
|---|---|---|
| UX actionables | 1,280 | 22.4% |
| Product feature requests | 259 | 4.5% |
| Account / Billing | 1,460 | 25.6% |
| Performance | 547 | 9.6% |
| AI / Bot bugs and quality | 220 | 3.9% |
| Irrelevant (meeting schedules or duplicate tickets) | 1,930 | 33.8% |
| Category | Count |
|---|---|
| Guidance | |
| Findability | |
| Broken behavior | |
| Missing element | |
| Status mismatch |
+ 5 more categories, mapped to Nielsen's heuristics
Four things came out of reading 5,707 tickets.
Out of 5,707 tickets read that quarter, 1,280 pointed to something the design team could act on.
Guidance (347) and Findability (234) made up 45% of all UX pain over three months. Both point to the same thing: the product wasn't guiding anyone.
| Module | Guidance + Findability | Share of that pain |
|---|---|---|
| WhatsApp Bot | 99 | 17.0% |
| Campaign Builder | 55 | 9.5% |
| Template Creation | 49 | 8.4% |
| Team Inbox | 37 | 6.4% |
| Analytics | 25 | 4.3% |
The top three modules hold 35% of guidance and findability pain in the whole platform. All three are places where users have to build something: a bot flow, a campaign, a template. That's where guidance failure concentrates.
A new feature no longer starts from zero. Echo keeps a running, searchable record of what users have struggled with.
Listening was only half of the empathy. The other half is to act upon it.
Echo made pain visible. What was still missing was actually building features and enhancements users would love.
ApproachFigma prototypes, task-completion and comprehension tests with real users.
OutcomeWe could confirm a fix worked before shipping it, instead of finding out from the next ticket.
ApproachPrototypes wired to Microsoft Clarity. Session recordings, rage clicks, heatmaps.
OutcomeSo we could watch real behaviour at scale without needing someone in the room.
The audit questions I'd built for myself became a shared team practice. Any designer running an audit now runs the same one. So the diagnosis stays consistent no matter who's doing it.
Swapneel and I split the component library, each fully owning our own set. We also built a token-based architecture, giving the system consistent output and clear rules throughout.
The way team works now.
Echo keeps a live backlog of user problems in the users' own words, refreshed automatically. No more chasing calls or waiting for a crisis.
The classifier separates our work from everyone else's, so the team spends its time on the tickets that are actually design's problem.
The design system means fixes ship consistently across screens.
Moderated testing catches issues before shipping, not after.
Every designer on the team runs the same heuristic audit, so the diagnoses match.
What I'd Do Next
Right now Echo gives me a ranked list; a designer still has to pull items into the backlog by hand. Auto-tagging would take that step out.
The Clarity POC is scoped. Once it's running, every fix would ship alongside a Clarity recording that shows how real users actually behave with it.
They carry the same kind of feedback support tickets do. The pipeline doesn't care about the source; my acceptance criteria carry over unchanged.
What This Project Taught Me
Both are true, and I now trust tickets more. The best user research your company runs might already be running. Nobody's reading it as research.
Mine was partly right and partly wrong. Users had to show me both.
Every practice in this case study got built the moment I hit the gap it filled. Only later did they add up to a system.