Lately I've been reading Hooked: How To Build Habit-Forming Products by Nir Eyal. It's a nice, little book with useful ideas on building products that users love and use regularly.
And because I spend a lot of time in Web3 environments, I keep thinking about how the principles I read might apply to this or that Web3 product.
In one of the chapters I came across this quote where Jack Dorsey talks about how he builds products for users:
Jack Dorsey, cofounder of Twitter and Square, shared how his companies answer these important questions: “[If] you want to build a product that is relevant to folks, you need to put yourself in their shoes and you need to write a story from their side. So, we spend a lot of time writing what’s called user narratives.”
Dorsey goes on to describe how he tries to truly understand his user: “He is in the middle of Chicago and they go to a coffee store . . . This is the experience they’re going to have. It reads like a play. It’s really, really beautiful. If you do that story well, then all of the prioritization, all of the product, all of the design and all the coordination that you need to do with these products just falls out naturally because you can edit the story and everyone can relate to the story from all levels of the organization, engineers to operations to support to designers to the business side of the house.”
Immediately I read this, I thought about the Web3 space and what writing a user narrative for this space might have looked like at its inception. What, for example, was the experience Satoshi was hoping to give to users when he made Bitcoin for example? (My answer: decentralised, censorship-resistant money. I could be wrong of course).
Enter: Stablecoins
![](https://storage.googleapis.com/papyrus_images/7c25d441f75ca1bfb411bba94694c22e.jpg)
Yesterday I started thinking about Dorsey's process with respect to stablecoins.
This isn't at all surprising if you know me. I got into Web3 because of stablecoins, I've written about stablecoins being how Web3 gains mainstream adoption. And as far as my day-to-day life goes, I don't think there is any product I would like as much as cheap, fast, globally available cross-border payments in a globally recognised currency. Aka, stablecoins (or USD-pegged stablecoins to be more precise).
So, here are a couple of user narratives for stablecoins that come to mind off the bat.
Someone in Nigeria wants to buy something from someone in Australia. He immediately reaches for the easiest, cheapest means of payment he knows. It's a wallet containing a USD stablecoin balance, he enters the sellers ENS address and sends them 250 USDC. The seller immediately receives 250 USDC in Australia. The entire transaction costs a few cents and takes only a few seconds.
Jane manages payroll for a content agency in Tokyo. The agency hires freelancers from everywhere on the globe to churn out content for their various clients.
I want to buy a cup of yogurt parfait while strolling in the evening (as I do now and again). As I walk to my favourite vendor's shop I send the money to his address before I get there because we've done this so many times before. I pick up my parfait as I walk by, exchange a few pleasantries, and keep walking.
You might be wondering why I'm so fixated on USD stablecoins when this could be done with just about any token onchain. It's simple really, I'm thnking about the broadest possible user base here, people who want to do payments across borders but couldn't care less for our degen money games. They just want dollars, that's all.
Of course this scenario is possible today already but it's not yet a very seamless experience mostly because stableecoins are not yet widely accepted legal tender. So even though the cheap, quick stablecoin payment is already possible you still have to convert that to your local currency to be able to spend it.
For example, say someone sends me USDC on Base right now, the procedure to convert it to Naira looks something like this:
Swap USDC from Base to Optimism using Layerswap (the centralised exchanges that work in Nigeria right now don't support Base as far as I can tell).
Send OP USDC from my wallet to the wallet address provided by the centralised exchange I want to use.
Do a p2p trade with someone on the same platform who is looking to buy USDC with Naira.
Spend my Naira at long last.
Steps 1 and 2 are unnecessary if you use the wallet adresses provided by centralised exchanges when you create an account, but of course that's not safe (cue the FTX music). If you are not a very patient person (like my flatmate for example), this process probably turns you off the first time you try it. Unless you're maybe a little bit adventurous like I am.
There is still a ton of UX work to be done to bring this to the level where it's easy to use without much thought for the regular person.
Notwithstanding all this I'm hopeful. When I first started freelancing in Web3 I was blown away by the speed and ease of transaction settlements. Before crypto invoicing and payments would typically be the biggest hassle whenever I did work for international clients. If we get this right, it could be absolutely huge.