Moving complexity behind the experience
Product Design
·
Mobile App + Web
·
Markets.com
The checkout is the final step between funding an account and entering the market. I redesigned both the user-facing deposit journey and the routing logic behind it, making payments easier to complete and more resilient to channel instability.
Post-launch results
2× Deposit conversion
Context
A single deposit could be processed through multiple payment methods and underlying providers. Each route had different availability, transaction limits, processing times, and success rates. While this infrastructure gave the platform greater coverage, it also created a deposit experience that was difficult to coordinate consistently.
- Payment method: A user-facing option, such as card, bank transfer, or crypto.
- Payment route: The processing path selected by the system.
- Provider: The underlying service that processes the transaction.
System complexity surfaced in the checkout
Users arrived at checkout with a strong intent to deposit. Yet the old experience still asked them to make several decisions at once:
- Choose a payment provider from a crowded list and understand the differences between similar options;
- Enter and verify the deposit amount;
- Interpret promotions and the expected amount;
- Find an alternative route themselves when a payment failed.
At this high-intent moment, every unnecessary decision increased cognitive load, weakened confidence, and created another opportunity to abandon the deposit.

From interface redesign to system experience
The initial brief focused on simplifying the checkout interface. But after examining the deposit funnel and how payment channels behaved, I found that the visible friction and payment failures shared the same root cause: users were being asked to manage the complexity of the payment system. I expanded the design scope from reorganizing the interface to defining how the checkout and intelligent routing system should work together. I owned the end-to-end experience strategy, checkout interaction, system states, and recovery paths. I worked with product and payment operations to define channel rules and automation boundaries, while engineering owned the routing infrastructure and technical execution.

Solution A:Simplifying the deposit journey
We reorganized the checkout around the user’s primary intent: deciding how much to deposit. The system provides a reliable default payment method, while other choices and supporting information remain available when needed.
01 — Amount as the information anchor
The system can recommend how to pay, but only the user can decide how much. The amount therefore becomes the page’s visual center, anchoring quick presets, currency, promotions, and the expected result.
02 — A default path, with choice on demand
The checkout displays one available and reliable method by default. Users can continue immediately or open the secondary panel to choose another method. Also, previously used and recommended methods appear first, supported by essential details such as fees and processing speed.
Combined with intelligent routing, the new structure made a wider range of payment methods easier to navigate—without bringing more complexity back into the checkout.

Solution B:Letting the system choose the payment route
Simplifying the interface was only part of the solution. To reduce the decisions users had to make, the system also needed to take responsibility for selecting and recovering payment routes.
01 — Organizing providers into recognizable methods
Multiple providers appeared nearly identical to users, despite having different conditions and reliability. We grouped them into recognizable categories such as cards, bank transfers and crypto. This allowed the platform to support more providers without turning every integration into another new choice.
02 — Matching each payment to an available route
Once users selected a payment method, the system evaluated channel availability and priority to determine the preferred route and fallback order. Users no longer needed to understand the operational differences between similar providers.
03 — Turning failures into recovery paths
When the preferred channel failed, the system checked for an eligible alternative so users could continue instead of restarting.
04 — Defining the right level of intelligence
Equivalent provider changes could happen automatically, but not every route change should be invisible. If a switch affected authorization the system explained the change or requested confirmation. (Retry limit has not been reached too)
Users choose the payment method. The system manages the complexity of completing it.


Complexity:Balancing intelligent routing with guided recovery
Intelligent routing made payment recovery more convenient, but switching providers could not solve every failure. If the issue came from incorrect information, incomplete authorization, insufficient funds, or payment limits, another route would likely fail for the same reason. The challenge was to balance the convenience of automatic recovery with an honest response to failures the routing system could not resolve. My role was to define this boundary: connecting each failure category with the appropriate level of automation, feedback, and user guidance.

Impact & Reflection
Good design does not eliminate complexity. It decides where that complexity should live. This project changed how I think about simplification. A simpler interface does not mean the underlying system becomes less complex—it means that complexity has been reorganized and handled in the right place. The intelligent automation earns trust by understanding its limits. The system should recover quietly when it can, explain clearly when expectations change, and return control when automation can no longer help.
Business impact
200% + Overall deposit conversion
More payment intent reached completion
User impact
Easier deposit experience
Users could focus on the deposit amount and continue with a reliable default method
System impact
More providers without more visible complexity
Payment methods could expand behind a consistent structure