Research
Mobile
Designing Calm in Financial Chaos
Exploring how product design can reduce uncertainty during overspending alerts, failed payments, low balance warnings, and other high-pressure financial moments.
Exploring how product design can reduce uncertainty during overspending alerts, failed payments, low balance warnings, and other high-pressure financial moments.
01 Context & Challenge
Context
Most financial problems don’t start with a failed payment. They start quietly.
Users continue spending as usual, often without realizing that their weekly expenses are already drifting beyond what’s normal for them. Nothing feels “wrong” yet, and with no alerts, no errors, no friction.
At this stage, the product still has leverage:
It can help users notice the change before it turns into a problem.
The Tension
The challenge isn’t showing data. It’s deciding when and how to step in.
Highlight spending changes too aggressively, and users feel judged or overwhelmed.
Stay silent for too long, and the first signal becomes a failed payment.
This creates a narrow window where the product must communicate one thing clearly:
Something has changed, and you still have control.
Design Lens
As a design foundation, I referenced the concept of loss aversion from Daniel Kahneman’s Prospect Theory:
“Losses loom larger than gains.”
This lens reframed the role of the product. Rather than pushing users to optimize outcomes, the design focuses on helping them face potential loss without escalating anxiety.
01 Context & Challenge
Context
Most financial problems don’t start with a failed payment. They start quietly.
Users continue spending as usual, often without realizing that their weekly expenses are already drifting beyond what’s normal for them. Nothing feels “wrong” yet, and with no alerts, no errors, no friction.
At this stage, the product still has leverage:
It can help users notice the change before it turns into a problem.
The Tension
The challenge isn’t showing data. It’s deciding when and how to step in.
Highlight spending changes too aggressively, and users feel judged or overwhelmed.
Stay silent for too long, and the first signal becomes a failed payment.
This creates a narrow window where the product must communicate one thing clearly:
Something has changed, and you still have control.
Design Lens
As a design foundation, I referenced the concept of loss aversion from Daniel Kahneman’s Prospect Theory:
“Losses loom larger than gains.”
This lens reframed the role of the product. Rather than pushing users to optimize outcomes, the design focuses on helping them face potential loss without escalating anxiety.
01 Context & Challenge
Context
Most financial problems don’t start with a failed payment. They start quietly.
Users continue spending as usual, often without realizing that their weekly expenses are already drifting beyond what’s normal for them. Nothing feels “wrong” yet, and with no alerts, no errors, no friction.
At this stage, the product still has leverage:
It can help users notice the change before it turns into a problem.
The Tension
The challenge isn’t showing data. It’s deciding when and how to step in.
Highlight spending changes too aggressively, and users feel judged or overwhelmed.
Stay silent for too long, and the first signal becomes a failed payment.
This creates a narrow window where the product must communicate one thing clearly:
Something has changed, and you still have control.
Design Lens
As a design foundation, I referenced the concept of loss aversion from Daniel Kahneman’s Prospect Theory:
“Losses loom larger than gains.”
This lens reframed the role of the product. Rather than pushing users to optimize outcomes, the design focuses on helping them face potential loss without escalating anxiety.
01 Context & Challenge
Context
Most financial problems don’t start with a failed payment. They start quietly.
Users continue spending as usual, often without realizing that their weekly expenses are already drifting beyond what’s normal for them. Nothing feels “wrong” yet, and with no alerts, no errors, no friction.
At this stage, the product still has leverage:
It can help users notice the change before it turns into a problem.
The Tension
The challenge isn’t showing data. It’s deciding when and how to step in.
Highlight spending changes too aggressively, and users feel judged or overwhelmed.
Stay silent for too long, and the first signal becomes a failed payment.
This creates a narrow window where the product must communicate one thing clearly:
Something has changed, and you still have control.
Design Lens
As a design foundation, I referenced the concept of loss aversion from Daniel Kahneman’s Prospect Theory:
“Losses loom larger than gains.”
This lens reframed the role of the product. Rather than pushing users to optimize outcomes, the design focuses on helping them face potential loss without escalating anxiety.
02 Problem Framing & Analysis
Key Insight
Across observed spending patterns and failure scenarios, anxiety didn’t peak when numbers changed, but when users felt surprised by the system’s response.
Users don’t panic because they lack information, they panic when they feel they’ve lost control.
Why This Matters?
Many fintech products fail in these moments because they:
Surface risk too late
Over-explain failure
Offer binary outcomes
When financial products fail to maintain users’ sense of control, loss feels abrupt, anxiety spikes, and trust erodes quickly.
02 Problem Framing & Analysis
Key Insight
Across observed spending patterns and failure scenarios, anxiety didn’t peak when numbers changed, but when users felt surprised by the system’s response.
Users don’t panic because they lack information, they panic when they feel they’ve lost control.
Why This Matters?
Many fintech products fail in these moments because they:
Surface risk too late
Over-explain failure
Offer binary outcomes
When financial products fail to maintain users’ sense of control, loss feels abrupt, anxiety spikes, and trust erodes quickly.
02 Problem Framing & Analysis
Key Insight
Across observed spending patterns and failure scenarios, anxiety didn’t peak when numbers changed, but when users felt surprised by the system’s response.
Users don’t panic because they lack information, they panic when they feel they’ve lost control.
Why This Matters?
Many fintech products fail in these moments because they:
Surface risk too late
Over-explain failure
Offer binary outcomes
When financial products fail to maintain users’ sense of control, loss feels abrupt, anxiety spikes, and trust erodes quickly.
02 Problem Framing & Analysis
03 Executing the Vision
Design Implementation
This section demonstrates how research insights were translated into deliberate design decisions, shaping the interface to reduce uncertainty, preserve user agency, and support calmer decision-making during moments of financial stress.
Case 1: Early Overspending Signal
Before any transaction fails, users are still operating under a false sense of normalcy. Spending continues as usual, even though weekly expenses have already drifted beyond personal norms.
Implementation Decisions:
Use relative change, not absolute numbers
Instead of showing raw spending totals, the design highlights a percentage increase compared to the user’s usual pattern. This makes change visible without forcing users to interpret financial data cognitively.Frame the message as observation, not warning
The increase is presented as a neutral system insight “Your spending is up this week”, avoiding language that implies mistakes or irresponsibility. This reduces the instinct to dismiss or ignore the signal.Surface the signal inline, not as an interruptive alert
The insight appears within the main experience, not as a push notification or modal. This keeps awareness low-pressure and preserves the user’s sense of control.Avoid prescribing action at this stage
No immediate call to “fix” or “cut spending” is introduced. The intent is to create awareness while the user still has cognitive bandwidth to self-regulate.

Design Rationale
This intervention is designed for a moment where loss is not yet felt, but risk is forming.
Key considerations behind these decisions:
Loss is still abstract, so emotional escalation would be premature.
Interruptive patterns increase defensiveness, leading users to ignore or dismiss the signal.
Maintaining a sense of agency early, increases the likelihood of corrective behavior later.
By keeping the signal contextual, neutral, and non-prescriptive, the design helps users recalibrate their behavior without feeling judged, preserving trust and engagement before the situation escalates.
Case 2: Turning Payment Failure into a Recoverable Moment
A failed payment is not just a system error, it’s an emotional spike. In this case, users attempt to pay a bill with insufficient balance. What follows is a full flow that moves from initial failure, to explicit explanation, to a clear recovery action (payment deferral).
The goal isn’t to eliminate failure, It’s to contain anxiety, preserve trust, and keep users engaged when failure is unavoidable.
Implementation Decisions:
Surface the failure immediately, without hiding it behind generic states
The system clearly states that the payment cannot be processed, instead of delaying the signal or masking it as “pending”. This prevents confusion and stops users from repeatedly retrying the same action.Anchor the failure to a concrete, understandable reason
Rather than abstract messages, the interface explicitly shows:Required amount
Current balance
A clear mismatch between the two
This turns the failure from mysterious into logical.
Introduce a bottom sheet as a controlled escalation point
Instead of pushing users to a new screen or showing a disruptive full-page error, the failure expands into a bottom sheet. This keeps users oriented within the original task, emotionally grounded, and less likely to feel blocked or removed from the flow. By keeping the failure state attached to the original task, users maintain continuity and context. This reduces the psychological cost of failure compared to being redirected into a separate error flow. This approach allows users to understand the issue, evaluate available options, and recover without feeling disconnected from the action they were originally trying to complete.Offer deferral as a recovery path, not a workaround
“Tunda Pembayaran” is positioned as a legitimate option, not a secondary or hidden escape hatch. The system clearly communicates:Why deferral is available
How long the payment will be postponed
What will happen next
This reframes deferral from avoidance into controlled decision-making.
Confirm the outcome with a reassuring system state
Once the payment is successfully deferred, the system explicitly confirms:The action worked
The account remains safe and active
When the next processing will occur
This closes the emotional loop and prevents lingering anxiety.

Design Rationale
A failed payment triggers an immediate sense of loss and uncertainty. If the system responds with ambiguity or dead ends, users disengage.
This design focuses on three core principles:
Make failure understandable
Showing the balance gap turns an emotional reaction into a logical explanation.Preserve user agency under stress
Offering payment deferral signals that users still have control, even when a transaction fails.Reduce the psychological cost of failure
By keeping the failure state attached to the original task, users maintain continuity and context. Rather than feeling blocked or ejected from the flow, they can understand the problem and recover within the same interaction.Close the emotional loop clearly
Explicit confirmation after deferral prevents lingering anxiety and repeated checking.
Clear design helps users recover instead of abandon.
03 Executing the Vision
Design Implementation
This section demonstrates how research insights were translated into deliberate design decisions, shaping the interface to reduce uncertainty, preserve user agency, and support calmer decision-making during moments of financial stress.
Case 1: Early Overspending Signal
Before any transaction fails, users are still operating under a false sense of normalcy. Spending continues as usual, even though weekly expenses have already drifted beyond personal norms.
Implementation Decisions:
Use relative change, not absolute numbers
Instead of showing raw spending totals, the design highlights a percentage increase compared to the user’s usual pattern. This makes change visible without forcing users to interpret financial data cognitively.Frame the message as observation, not warning
The increase is presented as a neutral system insight “Your spending is up this week”, avoiding language that implies mistakes or irresponsibility. This reduces the instinct to dismiss or ignore the signal.Surface the signal inline, not as an interruptive alert
The insight appears within the main experience, not as a push notification or modal. This keeps awareness low-pressure and preserves the user’s sense of control.Avoid prescribing action at this stage
No immediate call to “fix” or “cut spending” is introduced. The intent is to create awareness while the user still has cognitive bandwidth to self-regulate.

Design Rationale
This intervention is designed for a moment where loss is not yet felt, but risk is forming.
Key considerations behind these decisions:
Loss is still abstract, so emotional escalation would be premature.
Interruptive patterns increase defensiveness, leading users to ignore or dismiss the signal.
Maintaining a sense of agency early, increases the likelihood of corrective behavior later.
By keeping the signal contextual, neutral, and non-prescriptive, the design helps users recalibrate their behavior without feeling judged, preserving trust and engagement before the situation escalates.
Case 2: Turning Payment Failure into a Recoverable Moment
A failed payment is not just a system error, it’s an emotional spike. In this case, users attempt to pay a bill with insufficient balance. What follows is a full flow that moves from initial failure, to explicit explanation, to a clear recovery action (payment deferral).
The goal isn’t to eliminate failure, It’s to contain anxiety, preserve trust, and keep users engaged when failure is unavoidable.
Implementation Decisions:
Surface the failure immediately, without hiding it behind generic states
The system clearly states that the payment cannot be processed, instead of delaying the signal or masking it as “pending”. This prevents confusion and stops users from repeatedly retrying the same action.Anchor the failure to a concrete, understandable reason
Rather than abstract messages, the interface explicitly shows:Required amount
Current balance
A clear mismatch between the two
This turns the failure from mysterious into logical.
Introduce a bottom sheet as a controlled escalation point
Instead of pushing users to a new screen or showing a disruptive full-page error, the failure expands into a bottom sheet. This keeps users oriented within the original task, emotionally grounded, and less likely to feel blocked or removed from the flow. By keeping the failure state attached to the original task, users maintain continuity and context. This reduces the psychological cost of failure compared to being redirected into a separate error flow. This approach allows users to understand the issue, evaluate available options, and recover without feeling disconnected from the action they were originally trying to complete.Offer deferral as a recovery path, not a workaround
“Tunda Pembayaran” is positioned as a legitimate option, not a secondary or hidden escape hatch. The system clearly communicates:Why deferral is available
How long the payment will be postponed
What will happen next
This reframes deferral from avoidance into controlled decision-making.
Confirm the outcome with a reassuring system state
Once the payment is successfully deferred, the system explicitly confirms:The action worked
The account remains safe and active
When the next processing will occur
This closes the emotional loop and prevents lingering anxiety.

Design Rationale
A failed payment triggers an immediate sense of loss and uncertainty. If the system responds with ambiguity or dead ends, users disengage.
This design focuses on three core principles:
Make failure understandable
Showing the balance gap turns an emotional reaction into a logical explanation.Preserve user agency under stress
Offering payment deferral signals that users still have control, even when a transaction fails.Reduce the psychological cost of failure
By keeping the failure state attached to the original task, users maintain continuity and context. Rather than feeling blocked or ejected from the flow, they can understand the problem and recover within the same interaction.Close the emotional loop clearly
Explicit confirmation after deferral prevents lingering anxiety and repeated checking.
Clear design helps users recover instead of abandon.
03 Executing the Vision
Design Implementation
This section demonstrates how research insights were translated into deliberate design decisions, shaping the interface to reduce uncertainty, preserve user agency, and support calmer decision-making during moments of financial stress.
Case 1: Early Overspending Signal
Before any transaction fails, users are still operating under a false sense of normalcy. Spending continues as usual, even though weekly expenses have already drifted beyond personal norms.
Implementation Decisions:
Use relative change, not absolute numbers
Instead of showing raw spending totals, the design highlights a percentage increase compared to the user’s usual pattern. This makes change visible without forcing users to interpret financial data cognitively.Frame the message as observation, not warning
The increase is presented as a neutral system insight “Your spending is up this week”, avoiding language that implies mistakes or irresponsibility. This reduces the instinct to dismiss or ignore the signal.Surface the signal inline, not as an interruptive alert
The insight appears within the main experience, not as a push notification or modal. This keeps awareness low-pressure and preserves the user’s sense of control.Avoid prescribing action at this stage
No immediate call to “fix” or “cut spending” is introduced. The intent is to create awareness while the user still has cognitive bandwidth to self-regulate.

Design Rationale
This intervention is designed for a moment where loss is not yet felt, but risk is forming.
Key considerations behind these decisions:
Loss is still abstract, so emotional escalation would be premature.
Interruptive patterns increase defensiveness, leading users to ignore or dismiss the signal.
Maintaining a sense of agency early, increases the likelihood of corrective behavior later.
By keeping the signal contextual, neutral, and non-prescriptive, the design helps users recalibrate their behavior without feeling judged, preserving trust and engagement before the situation escalates.
Case 2: Turning Payment Failure into a Recoverable Moment
A failed payment is not just a system error, it’s an emotional spike. In this case, users attempt to pay a bill with insufficient balance. What follows is a full flow that moves from initial failure, to explicit explanation, to a clear recovery action (payment deferral).
The goal isn’t to eliminate failure, It’s to contain anxiety, preserve trust, and keep users engaged when failure is unavoidable.
Implementation Decisions:
Surface the failure immediately, without hiding it behind generic states
The system clearly states that the payment cannot be processed, instead of delaying the signal or masking it as “pending”. This prevents confusion and stops users from repeatedly retrying the same action.Anchor the failure to a concrete, understandable reason
Rather than abstract messages, the interface explicitly shows:Required amount
Current balance
A clear mismatch between the two
This turns the failure from mysterious into logical.
Introduce a bottom sheet as a controlled escalation point
Instead of pushing users to a new screen or showing a disruptive full-page error, the failure expands into a bottom sheet. This keeps users oriented within the original task, emotionally grounded, and less likely to feel blocked or removed from the flow. By keeping the failure state attached to the original task, users maintain continuity and context. This reduces the psychological cost of failure compared to being redirected into a separate error flow. This approach allows users to understand the issue, evaluate available options, and recover without feeling disconnected from the action they were originally trying to complete.Offer deferral as a recovery path, not a workaround
“Tunda Pembayaran” is positioned as a legitimate option, not a secondary or hidden escape hatch. The system clearly communicates:Why deferral is available
How long the payment will be postponed
What will happen next
This reframes deferral from avoidance into controlled decision-making.
Confirm the outcome with a reassuring system state
Once the payment is successfully deferred, the system explicitly confirms:The action worked
The account remains safe and active
When the next processing will occur
This closes the emotional loop and prevents lingering anxiety.

Design Rationale
A failed payment triggers an immediate sense of loss and uncertainty. If the system responds with ambiguity or dead ends, users disengage.
This design focuses on three core principles:
Make failure understandable
Showing the balance gap turns an emotional reaction into a logical explanation.Preserve user agency under stress
Offering payment deferral signals that users still have control, even when a transaction fails.Reduce the psychological cost of failure
By keeping the failure state attached to the original task, users maintain continuity and context. Rather than feeling blocked or ejected from the flow, they can understand the problem and recover within the same interaction.Close the emotional loop clearly
Explicit confirmation after deferral prevents lingering anxiety and repeated checking.
Clear design helps users recover instead of abandon.
03 Executing the Vision
Design Implementation
This section demonstrates how research insights were translated into deliberate design decisions, shaping the interface to reduce uncertainty, preserve user agency, and support calmer decision-making during moments of financial stress.
Case 1: Early Overspending Signal
Before any transaction fails, users are still operating under a false sense of normalcy. Spending continues as usual, even though weekly expenses have already drifted beyond personal norms.
Implementation Decisions:
Use relative change, not absolute numbers
Instead of showing raw spending totals, the design highlights a percentage increase compared to the user’s usual pattern. This makes change visible without forcing users to interpret financial data cognitively.Frame the message as observation, not warning
The increase is presented as a neutral system insight “Your spending is up this week”, avoiding language that implies mistakes or irresponsibility. This reduces the instinct to dismiss or ignore the signal.Surface the signal inline, not as an interruptive alert
The insight appears within the main experience, not as a push notification or modal. This keeps awareness low-pressure and preserves the user’s sense of control.Avoid prescribing action at this stage
No immediate call to “fix” or “cut spending” is introduced. The intent is to create awareness while the user still has cognitive bandwidth to self-regulate.

Design Rationale
This intervention is designed for a moment where loss is not yet felt, but risk is forming.
Key considerations behind these decisions:
Loss is still abstract, so emotional escalation would be premature.
Interruptive patterns increase defensiveness, leading users to ignore or dismiss the signal.
Maintaining a sense of agency early, increases the likelihood of corrective behavior later.
By keeping the signal contextual, neutral, and non-prescriptive, the design helps users recalibrate their behavior without feeling judged, preserving trust and engagement before the situation escalates.
Case 2: Turning Payment Failure into a Recoverable Moment
A failed payment is not just a system error, it’s an emotional spike. In this case, users attempt to pay a bill with insufficient balance. What follows is a full flow that moves from initial failure, to explicit explanation, to a clear recovery action (payment deferral).
The goal isn’t to eliminate failure, It’s to contain anxiety, preserve trust, and keep users engaged when failure is unavoidable.
Implementation Decisions:
Surface the failure immediately, without hiding it behind generic states
The system clearly states that the payment cannot be processed, instead of delaying the signal or masking it as “pending”. This prevents confusion and stops users from repeatedly retrying the same action.Anchor the failure to a concrete, understandable reason
Rather than abstract messages, the interface explicitly shows:Required amount
Current balance
A clear mismatch between the two
This turns the failure from mysterious into logical.
Introduce a bottom sheet as a controlled escalation point
Instead of pushing users to a new screen or showing a disruptive full-page error, the failure expands into a bottom sheet. This keeps users oriented within the original task, emotionally grounded, and less likely to feel blocked or removed from the flow. By keeping the failure state attached to the original task, users maintain continuity and context. This reduces the psychological cost of failure compared to being redirected into a separate error flow. This approach allows users to understand the issue, evaluate available options, and recover without feeling disconnected from the action they were originally trying to complete.Offer deferral as a recovery path, not a workaround
“Tunda Pembayaran” is positioned as a legitimate option, not a secondary or hidden escape hatch. The system clearly communicates:Why deferral is available
How long the payment will be postponed
What will happen next
This reframes deferral from avoidance into controlled decision-making.
Confirm the outcome with a reassuring system state
Once the payment is successfully deferred, the system explicitly confirms:The action worked
The account remains safe and active
When the next processing will occur
This closes the emotional loop and prevents lingering anxiety.

Design Rationale
A failed payment triggers an immediate sense of loss and uncertainty. If the system responds with ambiguity or dead ends, users disengage.
This design focuses on three core principles:
Make failure understandable
Showing the balance gap turns an emotional reaction into a logical explanation.Preserve user agency under stress
Offering payment deferral signals that users still have control, even when a transaction fails.Reduce the psychological cost of failure
By keeping the failure state attached to the original task, users maintain continuity and context. Rather than feeling blocked or ejected from the flow, they can understand the problem and recover within the same interaction.Close the emotional loop clearly
Explicit confirmation after deferral prevents lingering anxiety and repeated checking.
Clear design helps users recover instead of abandon.

