Designing a Dispute Workflow for Sidekick CRM
Enabling frontline agents to create and track dispute cases directly inside Sidekick, eliminating manual handoffs and restoring case visibility across teams.

What I did
Problem framing
User journey mapping
Hypothesis formation
Interaction design
Cross-functional collaboration
Collaboration
Oanh Le (Designer)
Anh Pham (Designer)
Margie Heath (BA)
Banking Agents
Company
Timeline
Nov 2019 - Dec 2020
Background
Overview
Sidekick is an internal CRM used by frontline banking agents to handle card and transaction-related inquiries. At the time of this project, dispute handling was not supported inside Sidekick. Agents had to manually record dispute cases in Excel and pass them to a separate Dispute Resolution team. Case status was managed in another system (SESS), which frontline agents could not access.
This created delays, duplicated work, and limited visibility when customers called back to check their dispute status.
The goal of this project was to introduce a structured dispute flow inside Sidekick to better support agents in managing and tracking dispute cases.
My role
Sidekick evolved in two phases:
Phase 1 (2018–2019): I contributed to the foundational features of the CRM alongside a senior designer, focusing on core agent workflows and interface patterns.
Phase 2 (2019–2020): I became the primary designer for Sidekick, leading requirement clarification and end-to-end UI design across new feature initiatives. The Transaction Dispute feature was initiated during this phase while I was based in the U.S. I worked directly with the Business Analyst on requirement definition, facilitated clarification sessions, and joined live calls with frontline agents to understand real workflow constraints, something that was only possible while operating within the same timezone.
Understanding the current process
The BA and I started off by having a meeting session with some frontline agents. Based on the discussion, I mapped out the existing dispute process:

It can take up to 10 minutes to creating one dispute case during a call. I have to remember which fields are required depending on the reason, and that makes it stressful.”
Most of the time we get it right, but since the system doesn’t guide required fields clearly, there are occasional cases where we need to call the customer back for missing information.
Key pain points
🔴 Unstructured Form Intake
Dispute intake was handled in Excel without dynamic field logic. Many data points were conditional (e.g., selecting one dispute type required different follow-up information), but the tool provided no guidance. Agents had to mentally track these dependencies, slowing intake and increasing the risk of incomplete documentation.
🔴 Lack of Status Visibility
Frontline agents had no real-time visibility into dispute status once a case was handed off. Without a centralized source of truth, they had to contact other teams for updates, delaying responses and impacting customer confidence.
🔴 Cross-Team Dependency
The dispute process relied heavily on manual handoffs between teams and systems. Each transition introduced delays, coordination overhead, and accountability gaps, making the workflow slow and fragmented.
Goal
Based on the insights above, the goal of this project was not just to streamline a workflow, but also to create a more reliable and scalable foundation that reduces operational friction and improves agent efficiency.
Objective
To achieve this, I focused on three core objectives:
Success metrics
To ensure the solution delivered measurable impact, I defined clear operational success indicators tied to efficiency and workflow clarity:
Hypotheses
Based on the pain points and success metrics, I translated the problem space into testable product hypotheses. Each hypothesis aimed to validate whether the new build of Dispute Transaction feature within Sidekick could measurably reduce operational friction and improve dispute handling efficiency.
Hypothesis 1
We hypothesized that embedding a structured, logic-driven dispute intake flow directly within Sidekick would reduce average dispute creation time by 20–30%, as agents would no longer need to mentally track conditional data dependencies during case creation.
Hypothesis 2
We hypothesized that introducing conditional required fields and real-time validation rules would reduce incomplete or incorrect dispute submissions by at least 25%, improving downstream processing efficiency and reducing rework across teams.
Hypothesis 3
We hypothesized that providing centralized, real-time dispute status visibility would reduce status-related escalations from frontline agents and improve case tracking confidence.
Solution decision & architecture
Build fully inside Sidekick vs Partial Integration
However, addressing the dispute intake problem required more than a feature decision, it required a system-level architectural choice. The BA and developers needed to determine whether to consolidate the entire dispute lifecycle into Sidekick, or design a hybrid model that integrated with existing systems. Each direction carried implications for technical debt, operational ownership, and long-term platform strategy.
Option A: Full Migration into Sidekick
Building the entire dispute lifecycle inside Sidekick. Dispute Resolution team would log into Sidekick and manage cases directly there. This means that we don't need for SESS in dispute handling.
Pros
No data syncing or tracking across multiple tools.
Status changes are instantly visible to frontline agents.
Reduces dependency on legacy tools like SESS.
Cons
Access & permissions for the Dispute Resolution Team
The back-office team would need onboarding.
SESS is deeply embedded in dispute operations and compliance tracking. Replacing it would require a full migration, not just adding a feature.
Full migration would significantly extend delivery time.
Option B: Frontline Scope Only + System Integration
Instead of replacing SESS, we embedded dispute creation and visibility into Sidekick and integrated with SESS as the system of record.
Pros
Minimal disruption to existing dispute operations.
No new access for Dispute Resolution team
Faster time-to-value compared to full migration
Lower architectural and compliance risk
Cons
Requires ongoing data synchronization between two systems
Partial visibility (no full investigation workflow in Sidekick)
👉 After evaluating both approaches, the team chose Option B: Frontline Scope Only + System Integration.

User journey
I started to map out what actions they would need to take to complete, some pain points they might encounter while performing those tasks and the opportunity for us to create.

Design
Faster transaction selection & reason capture
In the Dispute request page, users can see cardholder snapshot and the comment section. This lets users know the basic info of the customer they're supporting and also what other agents mentioned about them in previous calls. User can start creating a new dispute request by clicking the button on the top right.

1
How might we make transaction selection and dispute reason capture faster for frontline agents?
On the Case basic info, user would need to categorize the request (type D or U) and enter information. To address speed and reduce call handling time, we:


Ensuring complete & accurate information
2
How might we ensure agents capture complete and accurate dispute information the first time?
We introduced a reason-driven conditional form model:
Instead of relying on documentation or memory, business rules are embedded into the system.


Structured case preview before submission
3
How might we provide a structured case preview so agents can confidently submit dispute requests?
We designed a structured review screen summarizing:
This acts as a final quality checkpoint during the call.
4
How might we reduce the step of manually noting down the cardholder's shipping address?
Instead of requiring agents to manually record the address:
By doing that, we can remove redundant documentation steps and minimized transcription errors.

Streamlining handoff to back office
5
How might we streamline handoff?
We automated the case creation and assignment trigger:

Synchronizing case status for visibility
6
How might we synchronize dispute status so agents can view progress without direct access to back-office systems?
We introduced case visibility within Sidekick:
This reduced repeat calls and increased frontline confidence.

Evaluation
After a month launching this feature, we received positive feedback from users. However, they are some points that need more enhancement. We noticed that banking agents tended to forget to verify the address with cardholders. And that could cause some problem when documents couldn't be delivered to cardholders.

In order to solve this, I decided to add a header to separate the Mailing section from Dispute Preview. I also added a checkbox so force the address verifying action from users.

On the dispute details page, some agent wanted to know whether the Dispute Solving Team engaged on the process or not. That would help them to easily follow-up with the request and support their cardholders. Beside, they couldn't regenerate the form when there was any updates on the dispute transactions.

In order to solve this, I added a progress indicator. When a Dispute Solving agent is assigned for request, the progress indicator will move to "Dispute case processing". I also added the button "Regenerate dispute form" so banking agent can print it out and mail it to cardholders.

Impact
Although we did not measure the quantitative metrics due to constraints, qualitative feedback from agents indicated:
Operationally, the process shifted from fragmented coordination to structured case management.
Reflection
Design is not just about crafting interfaces, it begins with deep curiosity about how users actually work. Understanding the full workflow, from the first trigger to the final resolution, changes how problems are framed and solved. To me, being directly involved in requirement clarification and live agent conversations was a rare and fortunate experience. Compared to the common UX setup in many outsourcing environments in Vietnam at the time, where designers often received already-filtered requirements from Business Analysts, this exposure allowed me to see the problem in its raw, uncompressed form.
I also learned that solving a large problem does not mean building everything. It means identifying what truly needs to be built. Effective design balances user pain points with technical architecture, team capacity, and implementation effort. The goal is not completeness, but clarity, impact, and feasibility.
Acknowledgement
I would like to express my sincere appreciation to the people who supported this project and contributed to its success.
My deepest thanks to Oanh Le, who oversaw the Sidekick project. Her strategic direction and continuous guidance created the foundation that allowed the work to move forward with clarity and confidence. I am also grateful to Anh Pham, who collaborated closely with me throughout the wireframing and screen design process. Special thanks to Margie Heath, our Business Analyst, for her partnership in clarifying requirements, aligning stakeholders, and ensuring that decisions were grounded in business context. And developers that worked through challenges together for the most effective solutions...
This project was strengthened by their collaboration, support, and trust.
More case studies
Let's work together
Feel free to reach out. I’d love to hear what you’re working on.
Work
About me
Notes
Gallery
Contact
Designing a Dispute Workflow for Sidekick CRM
Enabling frontline agents to create and track dispute cases directly inside Sidekick, eliminating manual handoffs and restoring case visibility across teams.

What I did
Problem framing
User journey mapping
Hypothesis formation
Interaction design
Cross-functional collaboration
Collaboration
Oanh Le (Designer)
Anh Pham (Designer)
Margie Heath (BA)
Banking Agents
Company
Timeline
Nov 2019 - Dec 2020
Background
Overview
Sidekick is an internal CRM used by frontline banking agents to handle card and transaction-related inquiries. At the time of this project, dispute handling was not supported inside Sidekick. Agents had to manually record dispute cases in Excel and pass them to a separate Dispute Resolution team. Case status was managed in another system (SESS), which frontline agents could not access.
This created delays, duplicated work, and limited visibility when customers called back to check their dispute status.
The goal of this project was to introduce a structured dispute flow inside Sidekick to better support agents in managing and tracking dispute cases.
My role
Sidekick evolved in two phases:
Phase 1 (2018–2019): I contributed to the foundational features of the CRM alongside a senior designer, focusing on core agent workflows and interface patterns.
Phase 2 (2019–2020): I became the primary designer for Sidekick, leading requirement clarification and end-to-end UI design across new feature initiatives. The Transaction Dispute feature was initiated during this phase while I was based in the U.S. I worked directly with the Business Analyst on requirement definition, facilitated clarification sessions, and joined live calls with frontline agents to understand real workflow constraints, something that was only possible while operating within the same timezone.
Understanding the current process
The BA and I started off by having a meeting session with some frontline agents. Based on the discussion, I mapped out the existing dispute process:

It can take up to 10 minutes to creating one dispute case during a call. I have to remember which fields are required depending on the reason, and that makes it stressful.”
Most of the time we get it right, but since the system doesn’t guide required fields clearly, there are occasional cases where we need to call the customer back for missing information.
Key pain points
🔴 Unstructured Form Intake
Dispute intake was handled in Excel without dynamic field logic. Many data points were conditional (e.g., selecting one dispute type required different follow-up information), but the tool provided no guidance. Agents had to mentally track these dependencies, slowing intake and increasing the risk of incomplete documentation.
🔴 Lack of Status Visibility
Frontline agents had no real-time visibility into dispute status once a case was handed off. Without a centralized source of truth, they had to contact other teams for updates, delaying responses and impacting customer confidence.
🔴 Cross-Team Dependency
The dispute process relied heavily on manual handoffs between teams and systems. Each transition introduced delays, coordination overhead, and accountability gaps, making the workflow slow and fragmented.
Goal
Based on the insights above, the goal of this project was not just to streamline a workflow, but also to create a more reliable and scalable foundation that reduces operational friction and improves agent efficiency.
Objective
To achieve this, I focused on three core objectives:
Success metrics
To ensure the solution delivered measurable impact, I defined clear operational success indicators tied to efficiency and workflow clarity:
Hypotheses
Based on the pain points and success metrics, I translated the problem space into testable product hypotheses. Each hypothesis aimed to validate whether the new build of Dispute Transaction feature within Sidekick could measurably reduce operational friction and improve dispute handling efficiency.
Hypothesis 1
We hypothesized that embedding a structured, logic-driven dispute intake flow directly within Sidekick would reduce average dispute creation time by 20–30%, as agents would no longer need to mentally track conditional data dependencies during case creation.
Hypothesis 2
We hypothesized that introducing conditional required fields and real-time validation rules would reduce incomplete or incorrect dispute submissions by at least 25%, improving downstream processing efficiency and reducing rework across teams.
Hypothesis 3
We hypothesized that providing centralized, real-time dispute status visibility would reduce status-related escalations from frontline agents and improve case tracking confidence.
Solution decision & architecture
Build fully inside Sidekick vs Partial Integration
However, addressing the dispute intake problem required more than a feature decision, it required a system-level architectural choice. The BA and developers needed to determine whether to consolidate the entire dispute lifecycle into Sidekick, or design a hybrid model that integrated with existing systems. Each direction carried implications for technical debt, operational ownership, and long-term platform strategy.
Option A: Full Migration into Sidekick
Building the entire dispute lifecycle inside Sidekick. Dispute Resolution team would log into Sidekick and manage cases directly there. This means that we don't need for SESS in dispute handling.
Pros
No data syncing or tracking across multiple tools.
Status changes are instantly visible to frontline agents.
Reduces dependency on legacy tools like SESS.
Cons
Access & permissions for the Dispute Resolution Team
The back-office team would need onboarding.
SESS is deeply embedded in dispute operations and compliance tracking. Replacing it would require a full migration, not just adding a feature.
Full migration would significantly extend delivery time.
Option B: Frontline Scope Only + System Integration
Instead of replacing SESS, we embedded dispute creation and visibility into Sidekick and integrated with SESS as the system of record.
Pros
Minimal disruption to existing dispute operations.
No new access for Dispute Resolution team
Faster time-to-value compared to full migration
Lower architectural and compliance risk
Cons
Requires ongoing data synchronization between two systems
Partial visibility (no full investigation workflow in Sidekick)
👉 After evaluating both approaches, the team chose Option B: Frontline Scope Only + System Integration.

User journey
I started to map out what actions they would need to take to complete, some pain points they might encounter while performing those tasks and the opportunity for us to create.

Design
Faster transaction selection & reason capture
In the Dispute request page, users can see cardholder snapshot and the comment section. This lets users know the basic info of the customer they're supporting and also what other agents mentioned about them in previous calls. User can start creating a new dispute request by clicking the button on the top right.

1
How might we make transaction selection and dispute reason capture faster for frontline agents?
On the Case basic info, user would need to categorize the request (type D or U) and enter information. To address speed and reduce call handling time, we:


Ensuring complete & accurate information
2
How might we ensure agents capture complete and accurate dispute information the first time?
We introduced a reason-driven conditional form model:
Instead of relying on documentation or memory, business rules are embedded into the system.


Structured case preview before submission
3
How might we provide a structured case preview so agents can confidently submit dispute requests?
We designed a structured review screen summarizing:
This acts as a final quality checkpoint during the call.
4
How might we reduce the step of manually noting down the cardholder's shipping address?
Instead of requiring agents to manually record the address:
By doing that, we can remove redundant documentation steps and minimized transcription errors.

Streamlining handoff to back office
5
How might we streamline handoff?
We automated the case creation and assignment trigger:

Synchronizing case status for visibility
6
How might we synchronize dispute status so agents can view progress without direct access to back-office systems?
We introduced case visibility within Sidekick:
This reduced repeat calls and increased frontline confidence.

Evaluation
After a month launching this feature, we received positive feedback from users. However, they are some points that need more enhancement. We noticed that banking agents tended to forget to verify the address with cardholders. And that could cause some problem when documents couldn't be delivered to cardholders.

In order to solve this, I decided to add a header to separate the Mailing section from Dispute Preview. I also added a checkbox so force the address verifying action from users.

On the dispute details page, some agent wanted to know whether the Dispute Solving Team engaged on the process or not. That would help them to easily follow-up with the request and support their cardholders. Beside, they couldn't regenerate the form when there was any updates on the dispute transactions.

In order to solve this, I added a progress indicator. When a Dispute Solving agent is assigned for request, the progress indicator will move to "Dispute case processing". I also added the button "Regenerate dispute form" so banking agent can print it out and mail it to cardholders.

Impact
Although we did not measure the quantitative metrics due to constraints, qualitative feedback from agents indicated:
Operationally, the process shifted from fragmented coordination to structured case management.
Reflection
Design is not just about crafting interfaces, it begins with deep curiosity about how users actually work. Understanding the full workflow, from the first trigger to the final resolution, changes how problems are framed and solved. To me, being directly involved in requirement clarification and live agent conversations was a rare and fortunate experience. Compared to the common UX setup in many outsourcing environments in Vietnam at the time, where designers often received already-filtered requirements from Business Analysts, this exposure allowed me to see the problem in its raw, uncompressed form.
I also learned that solving a large problem does not mean building everything. It means identifying what truly needs to be built. Effective design balances user pain points with technical architecture, team capacity, and implementation effort. The goal is not completeness, but clarity, impact, and feasibility.
Acknowledgement
I would like to express my sincere appreciation to the people who supported this project and contributed to its success.
My deepest thanks to Oanh Le, who oversaw the Sidekick project. Her strategic direction and continuous guidance created the foundation that allowed the work to move forward with clarity and confidence. I am also grateful to Anh Pham, who collaborated closely with me throughout the wireframing and screen design process. Special thanks to Margie Heath, our Business Analyst, for her partnership in clarifying requirements, aligning stakeholders, and ensuring that decisions were grounded in business context. And developers that worked through challenges together for the most effective solutions...
This project was strengthened by their collaboration, support, and trust.
More case studies
Let's work together
Feel free to reach out. I’d love to hear what you’re working on.
Work
About me
Notes
Gallery
Contact
Designing a Dispute Workflow for Sidekick CRM
Enabling frontline agents to create and track dispute cases directly inside Sidekick, eliminating manual handoffs and restoring case visibility across teams.

What I did
Problem framing
User journey mapping
Hypothesis formation
Interaction design
Cross-functional collaboration
Collaboration
Oanh Le (Designer)
Anh Pham (Designer)
Margie Heath (BA)
Banking Agents
Project
Sidekick CRM
Company
Timeline
Nov 2019 - Dec 2020
Background
Overview
Sidekick is an internal CRM used by frontline banking agents to handle card and transaction-related inquiries. At the time of this project, dispute handling was not supported inside Sidekick. Agents had to manually record dispute cases in Excel and pass them to a separate Dispute Resolution team. Case status was managed in another system (SESS), which frontline agents could not access.
This created delays, duplicated work, and limited visibility when customers called back to check their dispute status.
The goal of this project was to introduce a structured dispute flow inside Sidekick to better support agents in managing and tracking dispute cases.
My role
Sidekick evolved in two phases:
Phase 1 (2018–2019): I contributed to the foundational features of the CRM alongside a senior designer, focusing on core agent workflows and interface patterns.
Phase 2 (2019–2020): I became the primary designer for Sidekick, leading requirement clarification and end-to-end UI design across new feature initiatives. The Transaction Dispute feature was initiated during this phase while I was based in the U.S. I worked directly with the Business Analyst on requirement definition, facilitated clarification sessions, and joined live calls with frontline agents to understand real workflow constraints, something that was only possible while operating within the same timezone.
Understanding the current process
The BA and I started off by having a meeting session with some frontline agents. Based on the discussion, I mapped out the existing dispute process:

It can take up to 10 minutes to creating one dispute case during a call. I have to remember which fields are required depending on the reason, and that makes it stressful.”
Most of the time we get it right, but since the system doesn’t guide required fields clearly, there are occasional cases where we need to call the customer back for missing information.
Key pain points
🔴 Unstructured Form Intake
Dispute intake was handled in Excel without dynamic field logic. Many data points were conditional (e.g., selecting one dispute type required different follow-up information), but the tool provided no guidance. Agents had to mentally track these dependencies, slowing intake and increasing the risk of incomplete documentation.
🔴 Lack of Status Visibility
Frontline agents had no real-time visibility into dispute status once a case was handed off. Without a centralized source of truth, they had to contact other teams for updates, delaying responses and impacting customer confidence.
🔴 Cross-Team Dependency
The dispute process relied heavily on manual handoffs between teams and systems. Each transition introduced delays, coordination overhead, and accountability gaps, making the workflow slow and fragmented.
Goal
Based on the insights above, the goal of this project was not just to streamline a workflow, but also to create a more reliable and scalable foundation that reduces operational friction and improves agent efficiency.
Objective
To achieve this, I focused on three core objectives:
Success metrics
To ensure the solution delivered measurable impact, I defined clear operational success indicators tied to efficiency and workflow clarity:
Hypotheses
Based on the pain points and success metrics, I translated the problem space into testable product hypotheses. Each hypothesis aimed to validate whether the new build of Dispute Transaction feature within Sidekick could measurably reduce operational friction and improve dispute handling efficiency.
Hypothesis 1
We hypothesized that embedding a structured, logic-driven dispute intake flow directly within Sidekick would reduce average dispute creation time by 20–30%, as agents would no longer need to mentally track conditional data dependencies during case creation.
Hypothesis 2
We hypothesized that introducing conditional required fields and real-time validation rules would reduce incomplete or incorrect dispute submissions by at least 25%, improving downstream processing efficiency and reducing rework across teams.
Hypothesis 3
We hypothesized that providing centralized, real-time dispute status visibility would reduce status-related escalations from frontline agents and improve case tracking confidence.
Solution decision & architecture
Build fully inside Sidekick vs Partial Integration
However, addressing the dispute intake problem required more than a feature decision, it required a system-level architectural choice. The BA and developers needed to determine whether to consolidate the entire dispute lifecycle into Sidekick, or design a hybrid model that integrated with existing systems. Each direction carried implications for technical debt, operational ownership, and long-term platform strategy.
Option A: Full Migration into Sidekick
Building the entire dispute lifecycle inside Sidekick. Dispute Resolution team would log into Sidekick and manage cases directly there. This means that we don't need for SESS in dispute handling.
Pros
No data syncing or tracking across multiple tools.
Status changes are instantly visible to frontline agents.
Reduces dependency on legacy tools like SESS.
Cons
Access & permissions for the Dispute Resolution Team
The back-office team would need onboarding.
SESS is deeply embedded in dispute operations and compliance tracking. Replacing it would require a full migration, not just adding a feature.
Full migration would significantly extend delivery time.
Option B: Frontline Scope Only + System Integration
Instead of replacing SESS, we embedded dispute creation and visibility into Sidekick and integrated with SESS as the system of record.
Pros
Minimal disruption to existing dispute operations.
No new access for Dispute Resolution team
Faster time-to-value compared to full migration
Lower architectural and compliance risk
Cons
Requires ongoing data synchronization between two systems
Partial visibility (no full investigation workflow in Sidekick)
👉 After evaluating both approaches, the team chose Option B: Frontline Scope Only + System Integration.

User journey
I started to map out what actions they would need to take to complete, some pain points they might encounter while performing those tasks and the opportunity for us to create.

Design
Faster transaction selection & reason capture
In the Dispute request page, users can see cardholder snapshot and the comment section. This lets users know the basic info of the customer they're supporting and also what other agents mentioned about them in previous calls. User can start creating a new dispute request by clicking the button on the top right.

1
How might we make transaction selection and dispute reason capture faster for frontline agents?
On the Case basic info, user would need to categorize the request (type D or U) and enter information. To address speed and reduce call handling time, we:


Ensuring complete & accurate information
2
How might we ensure agents capture complete and accurate dispute information the first time?
We introduced a reason-driven conditional form model:
Instead of relying on documentation or memory, business rules are embedded into the system.


Structured case preview before submission
3
How might we provide a structured case preview so agents can confidently submit dispute requests?
We designed a structured review screen summarizing:
This acts as a final quality checkpoint during the call.
4
How might we reduce the step of manually noting down the cardholder's shipping address?
Instead of requiring agents to manually record the address:
By doing that, we can remove redundant documentation steps and minimized transcription errors.

Streamlining handoff to back office
5
How might we streamline handoff?
We automated the case creation and assignment trigger:

Synchronizing case status for visibility
6
How might we synchronize dispute status so agents can view progress without direct access to back-office systems?
We introduced case visibility within Sidekick:
This reduced repeat calls and increased frontline confidence.

Evaluation
After a month launching this feature, we received positive feedback from users. However, they are some points that need more enhancement. We noticed that banking agents tended to forget to verify the address with cardholders. And that could cause some problem when documents couldn't be delivered to cardholders.

In order to solve this, I decided to add a header to separate the Mailing section from Dispute Preview. I also added a checkbox so force the address verifying action from users.

On the dispute details page, some agent wanted to know whether the Dispute Solving Team engaged on the process or not. That would help them to easily follow-up with the request and support their cardholders. Beside, they couldn't regenerate the form when there was any updates on the dispute transactions.

In order to solve this, I added a progress indicator. When a Dispute Solving agent is assigned for request, the progress indicator will move to "Dispute case processing". I also added the button "Regenerate dispute form" so banking agent can print it out and mail it to cardholders.

Impact
Although we did not measure the quantitative metrics due to constraints, qualitative feedback from agents indicated:
Operationally, the process shifted from fragmented coordination to structured case management.
Reflection
Design is not just about crafting interfaces, it begins with deep curiosity about how users actually work. Understanding the full workflow, from the first trigger to the final resolution, changes how problems are framed and solved. To me, being directly involved in requirement clarification and live agent conversations was a rare and fortunate experience. Compared to the common UX setup in many outsourcing environments in Vietnam at the time, where designers often received already-filtered requirements from Business Analysts, this exposure allowed me to see the problem in its raw, uncompressed form.
I also learned that solving a large problem does not mean building everything. It means identifying what truly needs to be built. Effective design balances user pain points with technical architecture, team capacity, and implementation effort. The goal is not completeness, but clarity, impact, and feasibility.
Acknowledgement
I would like to express my sincere appreciation to the people who supported this project and contributed to its success.
My deepest thanks to Oanh Le, who oversaw the Sidekick project. Her strategic direction and continuous guidance created the foundation that allowed the work to move forward with clarity and confidence. I am also grateful to Anh Pham, who collaborated closely with me throughout the wireframing and screen design process. Special thanks to Margie Heath, our Business Analyst, for her partnership in clarifying requirements, aligning stakeholders, and ensuring that decisions were grounded in business context. And developers that worked through challenges together for the most effective solutions...
This project was strengthened by their collaboration, support, and trust.
More case studies

Designing Trust in Crypto Withdrawal (On-chain)
Reduce uncertainty and help users complete withdrawals with confidence.
Read case study

Redesigning Crypto Wallet to Improve Asset Engagement
Increase wallet engagement and reduce friction between portfolio monitoring and trading actions.
Read case study
Let's work together
Feel free to reach out. I’d love to hear what you’re working on.