Full redesign of NFTrade: the cross-chain marketplace for buying, selling, and swapping NFTs across seven networks. New brand language, new design system, new flows.
NFTrade is a cross-chain NFT marketplace operating across Ethereum, Avalanche, Polygon, BNB and others, letting collectors trade, swap and farm without leaving the platform.
The mandate was wide: rebrand, redesign, restructure flows, and ship a system the team could keep building on. One designer, one PM, full stack.
Multi-chain NFT marketplace
Brand identity · 2022
Before any pixels moved I sat with PM and engineering, watched real sessions, and audited every screen. A pattern showed up fast.
Three different visual languages co-existed. Buttons appeared in four shapes. Mobile was a shrunk desktop. Cart, swaps and order book each lived in their own logic — and trust was leaking at every checkout step.
Build the system first, then redraw the surfaces. Every screen shares the same scale, spacing, and six-color palette. Mobile got promoted from afterthought to first-class. Brand-wise: keep the trust signals crypto users expect — clarity, density, speed — but give the marketplace a calmer front door.
Seven surfaces that span the redesign, from the core product to the brand's public voice. Each one took multiple rounds; what's shown is the shipped state.

An editorial hero with rotating featured collections, then a quiet pivot into trending data. Calm at first glance, deep on second.

The marketplace grid ships in both light and dark, shown here in dark mode. Filters left, results dense but breathable. Same layout, different energy.

Every collection on every chain gets the same surface: cover, creator, and live stats. Items, Activity, and Stats tabs let casual browsers and serious traders use the same page differently.

One screen unifies three actions that used to live apart. Offers, listings and swap proposals stack into a single panel; price history sits below.

Propose any trade (your NFTs for theirs) without touching a floor price. Your wallet on the left, the marketplace in the center, your offer at the bottom. A flow OpenSea didn't have when NFTrade shipped it.

For collectors who treat collections like markets: limit/market orders, open positions and live trades, all on one surface.

The brief extended beyond the product: blog, social, and partnership announcements, all running from the same tokens. In crypto, community communication is half the product.
Blockchain flows don't behave like Web2 checkouts. Gas costs money, wallet signatures are final, and confirmations arrive on the chain's schedule. The design goal was to make each step feel like a guardrail, not an obstacle.
Users come with Web2 intuitions but face Web3 mechanics: irreversible actions, protocol-level approvals, and state that lives outside the UI. The goal was to surface exactly what matters at each step and make every modal feel like a checkpoint, not a blocker.
Every screen above is rendered from the same primitives. A short look at the system the team kept building on after I shipped.
5 semantic tokens: brand, ink, surface, success, error. Light-mode first.
Inter for all UI copy. JetBrains Mono for prices, addresses, and data labels.
8pt base grid. Every gap, margin, and padding is a multiple of 4px.
Buttons, inputs, filters, and price badges built on a shared token system.
12-column grid, 24px gutters. Responsive from 1440px desktop down to 320px.
Consistent card anatomy: thumb, name, network badge, price in ETH + USD.
Platform walkthrough · not produced by designer
Numbers are directional. Figures from PM, not audited. The lessons are the part I'd carry to the next product.
The thing I'd carry forward: the brief was "redesign," but the work was a system. Every shipped screen is a downstream consequence of decisions made in the tokens, the grid and the type scale. Get those three right and the surfaces almost draw themselves.
Steps to list an NFT, before vs after
Avg session length on mobile, post-launch
Monthly swap proposals after redesign
Tokenised components in the shipped library