Citronus

Citronus

2023

2023

Building a crypto exchange from the ground up

Building a crypto exchange from the ground up

Building a crypto exchange from the ground up

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

60+ screens prepared for development

The MVP included the main flows, responsive layouts, and critical loading, error, and restricted states

3 out of 6 → 5 out of 6 users understood

the offer

After the redesign, more participants could correctly explain the bank’s profit, the total payment amount, and their obligations before confirming

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