All work
Case 02 · Shipped

Crypto trading
platform

A trading product I designed and built end to end: live market prices, a deposit flow users can track, and the admin tools behind it.

RoleDesign + frontend, solo
StatusIn production
Timeline[MVP → prod, X months]
StackNext.js · Supabase · Binance API
BTC/USDTSpotBalance $4,250.00 SIMULATED PRICES
Markets
––
Deposit · tracked

A recreation of the shipped interface using simulated data. Pick a market to switch the chart. "Advance step" walks through the deposit flow the way a user sees it.

Context

From MVP prototype to a production app

The brief: a web platform where users could follow live crypto markets, fund an account, and get support, with an admin team verifying deposits behind the scenes. I designed every screen and built the frontend in Next.js on Supabase, with Binance's API providing live prices.

[Who the users were and what they came to do, in one sentence.]

Key decisions

Three problems worth solving well

01

Prices that feel alive, but calm

Prices update constantly, so numbers use fixed-width digits and tint green or red only for a moment when they change. Traders can scan the list without it jittering.

Rejected: full-row colour flashes. Exciting in a demo, exhausting after an hour.

02

Deposits as a tracked process

Money in is the most anxious moment for a user. Each deposit shows its steps and who it's waiting on (you or us), so "where's my money" has an answer on screen.

Rejected: a single "Processing" status. It leaves people guessing and sends them to support.

03

One-time-use codes

[What the codes unlocked, and why single-use was the right call.]

Rejected: [the alternative you considered]

Admin side

The screens users never see

Deposits don't verify themselves. I designed the admin panel with the same care: reviewing incoming deposits, approving or rejecting them, notifying the user, and a support chat tied to each account. [One specific detail you're proud of.]

Outcome

What happened after launch

[X]Registered users
[X]Deposits processed
[X] hAverage time from deposit to credit
What I'd change

Looking back

[One thing you'd do differently now, e.g. design the empty and error states before the dashboard, not after.]

Next case
Corridor: stablecoin payments