My role
I was responsible for designing the core product experience from the ground up. I mapped the product architecture, designed onboarding, KYC, trading, and asset management journeys, and created the first shared UI foundation
I also introduced weekly design reviews to help the team make consistent decisions as the product grew
Context
Citronus was building a new crypto exchange from scratch. There was no existing product to redesign: the product logic, user journeys, and interface foundation had to be defined at the same time
The initial requirements described separate features, but not how they should work together as one experience. Registration, verification, deposits, trading, portfolio management, and account security all depended on each other
The goal was to turn these requirements into a product that felt clear to first-time users, powerful enough for trading, and structured enough to support future growth
Mapping the product
Before designing individual screens, I mapped the complete product ecosystem and the dependencies between its main journeys:
Registration and account setup
Identity verification
Deposits and withdrawals
Market and asset discovery
Buying and selling
Order management
Portfolio and balances
Transaction history
Account security and settings
This helped identify where users could enter each journey, which actions required verification, what information had to be shared between sections, and which states affected the whole product
The map became a shared reference for product, design, and development
Product principles
I defined several principles to guide decisions across the product:
Reveal complexity gradually instead of showing every control at once
Keep balances, fees, and transaction totals visible before confirmation
Always explain the current status and the next available action
Use the same patterns for similar financial actions
Design loading, processing, error, and restricted states from the start
Build new journeys from shared modules instead of one-off layouts

Designing onboarding and KYC
The onboarding journey had to do more than create an account. It needed to prepare users for trading while meeting identity and security requirements
I also designed the states around the main flow:
Verification in progress
Additional information required
Document rejected
Verification completed
Account temporarily restricted
This prevented users from reaching a dead end when verification could not be completed immediately
Once approved, users were guided towards their first meaningful action, such as adding funds or exploring available assets
Designing the first trade
The first trade was one of the most important product journeys. It needed to feel simple without hiding the financial details behind the action
The order preview showed the available balance, estimated price, fee, and final amount before confirmation
Advanced controls were introduced progressively. New users could place a simple market order, while more experienced users could access additional order settings without making the default experience harder to understand
Building a modular product architecture
Instead of treating each screen as an independent layout, I organized the interface around reusable product modules
The main modules included:
Asset selector
Balance summary
Market data header
Order form
Price and fee breakdown
Verification step
Transaction status
Asset table
Activity history
Confirmation panel
These modules were based on recurring product behavior, not visual similarity alone. For example, the same transaction status pattern could support deposits, withdrawals, purchases, and sales while keeping the relevant details for each operation
This made it possible to solve a pattern once and reuse it across several journeys
Validation
We tested the core journeys with six participants who were familiar with digital finance but had different levels of crypto experience
The first round revealed 14 usability issues. The most important problems involved unclear verification states, confusion between the entered amount and the final total, and weak feedback after order confirmation
After iteration:
5 out of 6 participants completed verification without assistance
5 out of 6 participants placed their first order successfully
6 out of 6 participants found the fee and final amount before confirming
5 out of 6 participants found the purchased asset in their portfolio
Method: usability testing with six participants across two design iterations
Results
75% UI coverage
Around 75% of the final screens could be assembled from shared components and product modules
30% faster design work
Once the shared foundation was introduced, new screens could be designed and prepared approximately 30% faster
14 usability issues resolved
Critical problems in verification, order review, and transaction feedback were identified and fixed before development handoff
Key takeaway
Designing Citronus from scratch meant building three things at the same time: the user journeys, the product logic, and the system behind the interface
By defining the architecture before scaling the number of screens, we created more than a set of finished designs. We gave the team a shared foundation for developing the exchange as a connected product














