DEV Community

soma ryuu
soma ryuu

Posted on

What Uniswap, Phantom, and Rainbow Did That Nobody Else Copied

In 2018, Hayden Adams launched Uniswap with an interface that had one swap pair, one input field, and almost nothing else.

Every other DEX at the time looked like a trading terminal. Uniswap looked like it was designed for a person.

Adams has been direct about the goal: keep removing things until only the essential action remained. The interface was not a wrapper around the protocol. The interface was the product.

That decision is still being imitated. It has almost never been replicated.


What Phantom built differently

The market Phantom entered

When Phantom launched in 2021, wallet UX was defined by MetaMask. The standard: confusing, developer-facing, designed for people who already understood what a seed phrase was.

The one decision that changed everything

Francesco Agosti and the Phantom team made a single foundational call: assume the user is a normal person, not a developer.

That assumption shaped everything downstream:

MetaMask assumption Phantom assumption
User understands seed phrase User needs plain-language explanation
Asset list shows token addresses Asset list shows logos and live prices
Transaction history shows hex data Transaction history uses human descriptions
NFT display is a raw token grid NFT gallery feels like iOS Photos

The technical architecture was identical. The keys, the security model, the chain — all the same. What was different was the assumption about who would hold those keys.

That assumption is why Phantom grew faster than any Solana wallet before it.


What Rainbow optimized for

Mike Demarais, one of Rainbow's co-founders, has talked about the wallet's founding philosophy in terms unusual for a financial product: they wanted to build something people actually enjoyed using.

Not something functional. Something enjoyable.

This meant investing in things most product teams would not justify before achieving market share:

- Motion design that communicated system state
- A color system that made portfolio tracking feel intuitive
- Animated transaction completion states
- Social wallet discovery
- Card-style asset display
Enter fullscreen mode Exit fullscreen mode

None of these had a direct conversion metric. Rainbow justified them on different grounds:

A financial product people enjoy using is one they return to. If users find your infrastructure pleasant, they use it daily. Daily use is how you build a defensible position in a market where switching costs are near zero.

Most Web3 product teams optimize for conversion. Rainbow optimized for daily return rate. That is a different function — and it produced a different product.


The counterargument worth taking seriously

Andre Cronje has argued seriously that consumer-grade design on DeFi protocols creates false confidence.

Users who feel safe because the interface looks trustworthy may be less careful than users who know they are handling raw protocol interactions.

A beautiful UI on a flawed or predatory contract is worse than an ugly one. This is documented. It has caused real harm.

But this argument does not support building bad interfaces. It supports building honest ones.

The answer to "polished UI hides risk" is not "build uglier." It is to design interfaces where:

  • ✅ Risk is visible at the right moment — not buried in a tooltip
  • ✅ The clean surface and the honest communication exist simultaneously
  • ✅ Users are not surprised by consequences they were not shown

Uniswap, Phantom, and Rainbow are not dishonest products. They are honest products that are also well-designed. That combination is rarer than it should be.


Why the copying problem persists

Teams that reference these products in briefs usually want the visual output.

"We want the pink from Uniswap."
"We want that dark mode + purple gradient like Phantom."
"We want the colorful card layout from Rainbow."
Enter fullscreen mode Exit fullscreen mode

What they do not copy is the condition that produced those outputs. And that condition is not visual.

It is a product opinion — a clear, held belief about what the product is for and who it is for — that existed before the visual system was designed.

The three opinions

Product The opinion What it required saying no to
Uniswap Do one thing perfectly Every feature request, every competitor parity item
Phantom Feel familiar to a first-time user Developer-focused defaults, raw technical exposure
Rainbow Be worth using every day Utility over feel, pure conversion metrics

The visual language is a consequence of the decision. You cannot copy the consequence without copying the decision.

Most Web3 teams do not have a product opinion. They have a feature list. A feature list produces an interface that looks like every other DeFi app. An opinion produces something people remember.


What this means practically

  1. State the product opinion in one sentence before opening Figma. What is the one thing this product should do better than anything else? If the answer is a list, the design will reflect that.

  2. Know who you are designing for — specifically. Phantom chose the person who was about to understand crypto for the first time. That choice is visible in every screen. Anyone interested in DeFi designs for no one.

  3. Copy the decisions, not the aesthetic. The visual system of every reference product is downstream of a conviction. Find the conviction. The visual system will follow.

  4. Hold the opinion against obvious alternatives. Adding a feature is always easier than defending the decision not to. The discipline of subtraction is what separates reference products from everything else.


The teams that end up on reference lists do not get there by having better taste.

They get there by having a clearer opinion — and holding it long enough to build something around it.


I work as a Web3 creative director helping teams find and build around a product opinion before it becomes a visual question. somaryuu.xyz

Top comments (0)