The interaction panel is the core mechanic of CSRD, a desktop for telecom call-centre operators. It took five versions to turn a form people avoided into a panel that does most of the logging for them.
Categorisation was so complicated (up to 5 levels) that operators selected ‘Other’, left the description blank, or wrote notes on paper and filled them in at the end of the call or after the shift.
To identify the customer, one operator had to check 7 systems, going from finding the caller through to linking the ticket or service.
Chat, email, SMS and calls lived apart and were tied to the customer by hand.
A caller may only represent the account owner, which changes what can be shared or done — and the UI didn't show it.
Updating a previous interaction meant a new browser tab and lost context.
Business processes at telecom differ a lot, not only for different providers but even for their representatives in dBusiness processes in telecom vary widely, not only between providers but also among their representatives in different countries. So we cannot use a single product without any changes for Telefonica Uruguay and Telefonica Ecuador. That’s why we have a core product and dozens of its variations (integrations) tailored for each customer.
Even with a good UX, the subject domain includes specific terminology, in-company guidelines, and processes to learn.
The company signs a contract for 10 — 15 years and primarily upgrades the product when an upgrade becomes cheaper than support or when the support contract expires.
Each company has its own policies on sensitive data. The product lifecycle is long, so we work with data collected at the beginning of the development process and can obtain comparison data only if the company has used the previous version of the product.
So, based on this features we get the data from 3 main sources: Customers requirements and requests, sales team requests, usability studies results.
To understand is our decision good enough we need to be sure that
Spoiler: two of these ideas survived to the final version.






Sales asked for retention metrics and customer interests so operators could make small talk. We designed a colourful header.
Studies showed 1st and 2nd line don't do retention, interest icons could mean anything, and nobody uploads an avatar when signing a mobile contract. Better to make the call fast enough that no small talk is needed.
Caller vs customer was now visible — but operators had to memorise which one sat on top. Even the design team needed a moment.
Linking via search worked only for billing accounts and products; tickets were still manual.
Parallel interactions: while one caller looks for their last bill, the operator finishes an email with router instructions to another customer — email doesn't need an instant reply — and keeps a few chats going.
Profile photos became initials. There was no reason, and no source, for pictures.
Finds the customer. The system searches by phone number and suggests the customer — or, if the caller is a contact person, the customers they represent. One click to accept or decline.
Reasons split from description. Reasons exist to collect service data, so weak spots show up without reading every note.
One field for every level. All nested categories merged into a single search — no need to learn a telco's hierarchy.
Linking is back, with suggestions. Open product A during the call, and it's suggested as related; create or open a ticket, and it's linked to this interaction.
The caller picks a reason by pressing a number before the operator picks up.
By ID number or secret word, through IVR or voice recognition.
Pre-filled from the reasons and details already logged.
Few fill it in; keep it only where 2nd line must describe reproduction steps.