Back
Back
Base Name Service
A naming service that gave people readable identities on Base before Coinbase built one — sole designer across search, registration, wallet onboarding, identity, and resale.
YEAR
2022–2023
ROLE
Lead Designer
TEAM
Solo designer, small team
PLATFORM
Web
STATUS
Wound down, 2024


Outcome
4,133 names minted 1,202 unique holders Thank APE Builders Contest winner, 2023 BNS wound down in August 2024 when Coinbase launched Basenames, the official naming service for Base.
Coinbase honoured every BNS holder with a free Basename — a discount still listed in Base's own documentation today.


Challenge
Base launched without a naming service. Every address was forty hexadecimal characters, which is fine for machines and hostile to people — you can't read one aloud, can't check one at a glance, can't tell a typo from a valid address.
ENS had solved this on Ethereum. Base had nothing, so we built it.
The hard part wasn't the naming. It was that the people we needed weren't crypto natives. A naming service is only useful at scale, and scale meant people who had never held a wallet, didn't know what gas was, and had no framework for an action that costs money, takes time, and can't be undone.

My Role
Sole designer across the product — name search and availability, registration and minting, wallet onboarding, profile and identity management, and the resale marketplace. I built the design system it ran on, working with an international dev team and DAO community contributors.
Process
Search before connect
Every wallet-based product in 2022 opened the same way: connect your wallet. It's the natural engineering order — you need an address before you can do anything onchain — and it puts the highest-friction step in front of a visitor who hasn't yet been given a reason to care.
BNS inverted it. You search first. Type a name, see whether it's available, find one you want. The wallet connection happens only once you've decided you want something.
The cost is real: the search does nothing without a wallet, so some users hit a wall they could have hit sooner. What you get in exchange is that they hit it wanting their name. Motivation before friction, not the other way round.

Designing for an irreversible, opaque, slow operation
Minting is a bad interaction by nature. It costs money, takes an unpredictable amount of time, can't be undone, and the user cannot verify what's happening. Nothing in ordinary product design prepares someone for it.
The flow's job was making that legible: what you're about to spend, what you'll get, what state you're currently in, and what to do if it doesn't complete. Some flows were gasless, which removed the cost anxiety on those paths but not the wait or the opacity.
This is the part of the project that transfers furthest. Designing for a system operation the user can't verify, that takes time and can't be reversed, is the same problem shape as designing for model outputs — the domain is different, the trust and uncertainty work is identical.

Identity as the point, not the name
A .base name is only worth having if it does something. Profile and identity management is where the product justified itself — linking addresses across chains, social handles, avatar, records — turning a purchase into an identity someone maintains.

One page, three audiences
The launch site had to work for consumers who wanted to claim a name, developers who needed real integration paths, and partners who had to read BNS as credible infrastructure. Most crypto landing pages pick one and lose the other two.
It leads with a live search field — the product demonstrating itself in the first interaction — then a capability grid answering what a name actually does, then a full developer section with REST API, SDK, and code samples on a consumer page. Developer adoption is what makes a naming service useful, so it got first-class space rather than a footer link.

Trade-offs
We didn't solve the no-wallet case.
Someone arriving with no wallet at all got pointed elsewhere to set one up, and we lost them. It was the right scoping call for the team size — building wallet creation is its own product — and it was also the biggest hole in the funnel, and I knew it while shipping.
Search before connect costs conversion at the top and buys it at the bottom.
Users could search freely and hit the wallet requirement later. I'd make the same call, but it isn't free.
What I learned
Motivation has to come before friction. Every product in the category asked for a wallet first because that's the technical order of operations. Letting people find a name they wanted before asking for anything was the single change that mattered most, and it came from ignoring the convention rather than the constraint.
The hardest problem wasn't crypto, it was uncertainty. Minting is slow, irreversible, and unverifiable, and most of the design work went into telling people what state they were in. I've since realised that's not a Web3 problem — it's what designing for any opaque system operation looks like.
Building on someone else's platform means they can build what you built. Coinbase shipped the official naming service for Base and BNS wound down. It wasn't a failure of the product — we'd reached real adoption and Coinbase migrated our holders for free — but it's a permanent lesson about where the value sits when you're a layer on top of infrastructure you don't own.

Back
Base Name Service
A naming service that gave people readable identities on Base before Coinbase built one — sole designer across search, registration, wallet onboarding, identity, and resale.
YEAR
2022–2023
ROLE
Lead Designer
TEAM
Solo designer, small team
PLATFORM
Web
STATUS
Wound down, 2024

Outcome
4,133 names minted 1,202 unique holders Thank APE Builders Contest winner, 2023 BNS wound down in August 2024 when Coinbase launched Basenames, the official naming service for Base.
Coinbase honoured every BNS holder with a free Basename — a discount still listed in Base's own documentation today.


Challenge
Base launched without a naming service. Every address was forty hexadecimal characters, which is fine for machines and hostile to people — you can't read one aloud, can't check one at a glance, can't tell a typo from a valid address.
ENS had solved this on Ethereum. Base had nothing, so we built it.
The hard part wasn't the naming. It was that the people we needed weren't crypto natives. A naming service is only useful at scale, and scale meant people who had never held a wallet, didn't know what gas was, and had no framework for an action that costs money, takes time, and can't be undone.

My Role
Sole designer across the product — name search and availability, registration and minting, wallet onboarding, profile and identity management, and the resale marketplace. I built the design system it ran on, working with an international dev team and DAO community contributors.
Process
Search before connect
Every wallet-based product in 2022 opened the same way: connect your wallet. It's the natural engineering order — you need an address before you can do anything onchain — and it puts the highest-friction step in front of a visitor who hasn't yet been given a reason to care.
BNS inverted it. You search first. Type a name, see whether it's available, find one you want. The wallet connection happens only once you've decided you want something.
The cost is real: the search does nothing without a wallet, so some users hit a wall they could have hit sooner. What you get in exchange is that they hit it wanting their name. Motivation before friction, not the other way round.

Designing for an irreversible, opaque, slow operation
Minting is a bad interaction by nature. It costs money, takes an unpredictable amount of time, can't be undone, and the user cannot verify what's happening. Nothing in ordinary product design prepares someone for it.
The flow's job was making that legible: what you're about to spend, what you'll get, what state you're currently in, and what to do if it doesn't complete. Some flows were gasless, which removed the cost anxiety on those paths but not the wait or the opacity.
This is the part of the project that transfers furthest. Designing for a system operation the user can't verify, that takes time and can't be reversed, is the same problem shape as designing for model outputs — the domain is different, the trust and uncertainty work is identical.

Identity as the point, not the name
A .base name is only worth having if it does something. Profile and identity management is where the product justified itself — linking addresses across chains, social handles, avatar, records — turning a purchase into an identity someone maintains.

One page, three audiences
The launch site had to work for consumers who wanted to claim a name, developers who needed real integration paths, and partners who had to read BNS as credible infrastructure. Most crypto landing pages pick one and lose the other two.
It leads with a live search field — the product demonstrating itself in the first interaction — then a capability grid answering what a name actually does, then a full developer section with REST API, SDK, and code samples on a consumer page. Developer adoption is what makes a naming service useful, so it got first-class space rather than a footer link.

Trade-offs
We didn't solve the no-wallet case.
Someone arriving with no wallet at all got pointed elsewhere to set one up, and we lost them. It was the right scoping call for the team size — building wallet creation is its own product — and it was also the biggest hole in the funnel, and I knew it while shipping.
Search before connect costs conversion at the top and buys it at the bottom.
Users could search freely and hit the wallet requirement later. I'd make the same call, but it isn't free.
What I learned
Motivation has to come before friction. Every product in the category asked for a wallet first because that's the technical order of operations. Letting people find a name they wanted before asking for anything was the single change that mattered most, and it came from ignoring the convention rather than the constraint.
The hardest problem wasn't crypto, it was uncertainty. Minting is slow, irreversible, and unverifiable, and most of the design work went into telling people what state they were in. I've since realised that's not a Web3 problem — it's what designing for any opaque system operation looks like.
Building on someone else's platform means they can build what you built. Coinbase shipped the official naming service for Base and BNS wound down. It wasn't a failure of the product — we'd reached real adoption and Coinbase migrated our holders for free — but it's a permanent lesson about where the value sits when you're a layer on top of infrastructure you don't own.
