Stop Building for Crypto Twitter
It’s still early….until it’s too late
Twitter is the town square for Crypto & Web3 communities. A dominant narrative that seems omnipresent is one of prioritising the ideology of decentralisation over pragmatic choices for building apps that scale. We believe that usage will force decentralisation over time. Without users, all we have is decentralisation theatre, i.e. talk about decentralisation without anyone actually using decentralised products.
One of the common responses from CT, when asked about the lack of broader consumer adoption, is - “we are so early” (cue - graph overlaying internet and crypto adoption timelines). It is so pervasive that a16z featured it as one of the 5 highlights in their state of crypto report. As cautiously optimistic contributors towards the mission & potential of web3, a few natural follow-up questions to this meme - till when will it be early? How will we know it is no longer early? What does the transition from “early” look like? What state do we transition to?
An under-referenced idea is punk6529’s one of a limited window to build an open metaverse. A world where users self-custody their assets across multiple open & interoperable networks is not inevitable.
Paul Graham wrote an essay on how to tell if a startup is default dead or alive. Applying that framework, right now - an Open metaverse is default dead.
Crypto & web3 usage is still highly linked to token prices. Metamask has reported a total of 30m unique wallets, which is probably a few million real users at best. Similarly, Solana reported an all-time high of 3.5m users at the height of the bull market. These are rounding errors compared to the number of people online, using mobile phones and accessing “web2” platforms. Exchanges serve a valuable function but speculating on tokens & jpegs is not a practical way for mass adoption.
Outside of exchanges and trading services, crypto apps today fall into one of three buckets,
dApps with no users - According to dApp radar the top apps on Ethereum, Polygon, Avalanche, Solana, etc. all have under 500k unique wallets in the last 30 days. Ideologically sound but practically insignificant.
Existing companies launching into the “metaverse”. They bring a massive user base but the exact implementations are often unclear. We should remain optimistic but these often end up being just PR announcements.
An emergent trend is centralised front-ends operating with elements of decentralisation. StepN launched a move2earn game with a centralised mobile app as a front end combined with on-chain assets. They have nearly twice as many users in August as they did in March despite their token price crashing.
Even though token price has been a leading indicator of MAU so far- there are valuable lessons for founders and teams hoping to build crypto apps that scale to millions or billions of real users. It’ll be interesting to see how the specific case of StepN plays out, not making any predictions - instead, we’ll focus on the broader theme of user adoption.
In this essay, we will make the case that web3 projects that focus on maximum possible composability with minimum necessary decentralisation have the best chance at building an open metaverse. We believe this essay will be valuable for:
Founders & leaders making key decisions on product strategy & engineering design.
Contributors like developers, creators, ops teams, designers, biz-dev, etc. who are working towards building an open metaverse
Investors navigating the web3 landscape
Decentralisation does not drive adoption because users don’t care for decentralisation. The reason we don’t care is that it is a global and emergent property - hard to observe or feel directly. It doesn’t make the products we use any better. The lack of it doesn’t make the immediate product experience any worse.
To gain mass adoption products need to first deliver local and direct value. Things that users can experience directly & make their lives better. To this end, we believe that the position of maximizing decentralisation in apps (or dApps) is not helpful, but most likely harmful. Instead, we argue that focusing on delivering maximum value while ensuring key tenets of decentralisation are achieved is the path to mass adoption.
Before we outline a playbook for building crypto apps that scale, it is important to note the two key properties of crypto we believe should be preserved along the way - Composability & Censorship resistance.
We think it is important, possible & necessary to focus on apps that deliver value to customers while preserving composability and censorship resistance. Not the other way around - building the most decentralised apps that are barely usable.
Building consumer apps that scale
As with building anything, you need to make something people want. CT liberally criticizes big tech but we often forget that they got big through a laser focus on serving their users.
Here’s (allegedly) a slide from Google’s early days.
This single image captures a decades-long roadmap of google products: auto-correct, auto-complete, translate, AMP, android, voice, etc.
If that was the meme that ushered in the era of big tech, this is probably the most powerful meme of the crypto Twitter (at-least during bull markets).
I understand that ideological firepower was needed to prop up bitcoin, Akshay BD wrote about it in a previous essay on principled pragmatism. However, the best founders have already realised that large-scale consumer adoption will not come by throwing memes at your customers. We’re seeing early signs of real-world applications (RWA) like Helium’s recently announced 5g network, Stripe & Brain Trust enabling USDC payments, & organizing donations for global crises, etc.
However, we’re yet to see a consumer app really take off. Our best shot at achieving that is by embracing the principles iterated on over the last decade and infusing them with the most powerful elements of web3 (composability & censorship resistance).
With that in mind, let’s recap some core principles of building apps that see wide consumer adoption.
In our recent essay on SMS & Saga we spoke about how mobile phones have a seemingly unassailable lead when it comes to adoption. For hundreds of millions of people, a phone with a broadband connection is the only way they access the internet.
Yet, few web3 applications have embraced mobile. A quick search on the app stores shows little outside of trading apps. Joel John recently wrote an essay about why the early over-financialisation of the ecosystem may have led to this (i.e. charts look better on a bigger screen). More recently Anatoly, while speaking about Saga on Bankless, said that developers don’t want to build mobile because they’re scared of being shut down by Google/Apple. And finally, dependence on wallets and lack of infrastructure means it is not easy to build great experiences on mobile.
The bad news is - your customers don’t care.
Web3 projects need to deliver world-class mobile native experiences to stand a chance at mass adoption. This includes,
Embracing a centralised app store along with its approval process, fees & censorship.
Find every other possible legal way to distribute your apps e.g. Dream11 reached 130M users despite users needing to directly install their APK outside of the google play store.
Build a great mobile web experience.
Build and/or adopt emerging mobile crypto rails (e.g. SMS, xNFTs, etc.)
App Performance (Speed)
Nothing kills an app faster than latency. Especially on mobile when users can drift in & out of apps with an attention span of a few seconds. Your product is competing with the likes of Tik Tok, Whatsapp, and the infinite stream of mindless entertainment that’s at our fingertips.
The financial impact of latency is well documented. As early as 2010, Amazon found that a 0.5-second delay dropped traffic by 20%. As per this post by SEO guru Neil Patel, 40% of users abandon a website if it takes more than 3 seconds to load. Depending on the use case anything between 100ms to 2 seconds is considered an acceptable response time. Anything over that starts to break user expectations. Big tech companies understood this better than anyone. Back in 2015, Facebook implemented 2G Tuesdays, to give teams in SF a taste of what it is like to use the product on slow internet.
Building apps that are performant across a spectrum of conditions is not easy. It requires you to factor in low-end devices, patchy cellular networks, etc. Again, the traditional tech industry has dedicated billions of dollars & unrelenting focus at achieving UX that feels like magic.
Today’s solutions need you to embrace,
Caching via centralised databases that can provide high-speed reads (e.g. Redis, Scylla, etc.)
Highly available CDNs (e.g. Akamai, Cloudflare, etc.)
Making 100s of small product decisions focused on improving speed.
For Web3 products, this is a key trade-off in deciding what to put on-chain. A public blockchain will never be as fast as an owned database. Going the extra mile to maximise decentralisation will reduce the usability of your product.
This plays out in two ways,
Teams need to make pragmatic choices like using centralised databases, pre-fetching, lazy loading, etc. to optimise performance
Building a culture where anything that competes with performance really needs to earn its place within the product, e.g. find a way to achieve decentralisation with the least impact on performance. This doesn’t happen in boardrooms, but in hundreds of small trade-offs that individual developers and designers make across the product development lifecycle.
Now let’s look at a few key elements of user experience & how they trade-off with decentralisation. We’re focusing on generally applicable principles, the specifics of each category and business domain will vary.
First-time user experience (FTUE).
Facebook was arguably the pioneer of product-led growth, much before the term became a meme. They arrived at an insight that once a user got “7 friends in 10 days” they would continue using the product. Much has been written about building a great onboarding and first-time user experience.
The playbook has been standardised for web2 apps.
A seamless sign-in/sign-up experience through one-click seamless logins from Facebook, Google, Truecaller, etc.
Request for access to a user’s social graph (Twitter, contact book, Facebook friends, etc) so they can make informed guesses about what kind of content/products they’d like
Ask a few questions to get some explicit inputs specific to your product (favourite songs, movies, topic, etc)
Design a cold start experience so people never land on a blank screen.
Web3 apps seem so enamored with the magical power of “connect wallet” that they often ignore the rest of the customer’s identity. Maybe this is a hangover of the DeFi summer where all you needed was to connect a wallet to a DEX. The reality is that most customers are yet to operate a self-custodial wallet. And even for those who do, a large part of our digital footprint is outside of these wallets. The onus is on your product to bridge that gap, not on the customers.
Here are a few ways web3 products can do that,
Bridge the gap. Allow customers to import relevant data from existing products. This will require you to integrate with APIs permissioned by a web2 company. Context allows you to find your Twitter friends & follow them. And they integrate with every other source where they think their users spend their time (discord, telegram, etc.)
Projects like FRI are already building the infrastructure needed to enable this. They leverage platform APIs and allow customers to export & license their data as an NFT. This isn’t easy, they need to painstakingly integrate with the APIs of each platform. And run the risk of being shut down by any or all platforms. But we think they’re building something of real value for customers - the ability to move your existing identity to a new world.. We’d written about them in a previous essay.
On-ramps & Gasless Transactions. If you’re truly onboarding customers who are new to web3 then most of these users will not have wallets or any tokens to pay gas. Maybe sufficiently committed users can be guided through writing down a seed phrase. But the process of having to go to an exchange, and pay $$ to get some “gas” (even if $0.000000002) is an unacceptable user experience.
As an application, you should either integrate simpler payment methods that your customers are already familiar with, e.g. Rush gaming including fiat transactions & abstracting out complexity for users who are new to crypto, or create a self-custodial wallet within the app (like StepN) and find a way to enable gasless transactions (e.g. CandyPay - a Superteam Project) until your customers perceive enough value from the product.
This was one of the criteria we specified in the RFP for the recent FTX Crypto Cup Chess Mates NFT, where we invited applicants to mint reputation scores gated within discord as Solana NFTs. And why I was delighted when the CandyPay team won that grant and built the product using their gasless APIs. It is built for a community of people who love chess but have never used Phantom before. Excited to see it ship to the ChessChamps community in the coming few weeks.
There are many more examples of how you can improve that first-time experience for the millions of potential users you’re building for. Specifics will vary depending on the domain. If you think you can design a great onboarding for a web3 consumer app, head over to the RFP section at the end of this essay.
Wallet as onboarding. When someone connects their web3 wallet to your app they are giving you a peek into their web3 self. You can see the NFT collections they hold, the other wallets they transact with, the tokens they hold, etc. This is valuable information that you can use to make your product more relevant. Yet, the only app I’ve seen do this at all is context.app.
They read my wallet & prompted me to follow people/collections I already have NFTs from. And also 2 other people and collections they curated for me.
Slise submitted a product in Summer camp targeted at creators and communities looking to improve their launch targeting by analyzing the wallets that sign up on their waitlist. They can easily extend this capability and provide onboarding-as-a-service to products if they want to.
Another well-established idea in web2 tech but ignored in web3 is magic moments. That point when a customer experiences the value of your product for the first time. The first time an Uber shows up after you push a button, your first tinder date, the first time you saw content from your friends in a feed, the first time you got RT’d, etc.
This is important to give people a reason to continue using your product out of the hundreds of other options available. And as attention spans get shorter it gets even more important to deliver this with the least amount of time & friction possible. Building a great onboarding is a necessary but insufficient condition to getting people to a magic moment.
Perhaps because most web3 apps focus on enabling “direct” relationships between creators and their fans, they forget about the importance of designing good defaults to enable these relationships. Or maybe the fear of being seen as an “intermediary” holds them back from curating discovery experiences. The outcome is people have to wade through a bunch of blank screens, spam, and cognitive load before experiencing the true value of your product.
I recently tried out Farcaster. The first thing they did is give me an option to auto-follow a recommended set of 40 users. I have no clue who these accounts are or how they were selected. But within 30 minutes of using the app, I’d found another 16 accounts to follow, had 22 accounts follow me, and sent out 5 casts. Not a single tab on the app - discover, search, feed - shows me a blank screen.
Anyone who’s built consumer products will tell you this is table stakes. And yet, products in web3 seem to have sacrificed these usability basics under the ideology of building decentralised and peer-to-peer products. We need to realize that consumers don’t get value from a product being decentralised. The goal should be to deliver value while preserving meaningful exit - more on this in the next section on Composability.
A great product is made from a million small decisions coming together as the final product experience. There is no silver bullet, everything is a trade-off.
A social media app should be ok rendering a stale feed instead of a blank screen, but it would be disastrous if a trading app did that. A ride-hailing marketplace can cache the estimated price but not driver availability. A travel booking website can take a day to audit and display a user review, but if a host edits a listing it needs to reflect immediately before someone books it.
Today, one of the top-rated social dApps has a multi-page user manual and one of the questions is - “how many times can you post”. My intention is not to dunk on anyone building but I don’t think this approach is going to build social networks that rival the incumbents of today.
Building web3 apps that are usable goes well beyond the onboarding and first-time user experience. Just like optimising app performance, it requires a relentless focus across small product and engineering decisions distributed across the team. A few examples would be minimising interruptions from signing messages, optimising gas costs, minimising the overhead that comes from self-custody, and allowing users to seamlessly use the product.
Any project needs capital to survive. At scale, there are two business models for the internet, either a business pays (advertising) or the consumer pays (subscription)
Another web3 meme is, read-write-own. Referring to the fact that we will own a piece of the internet. Indeed, this is a useful framing to help people builders and contributors understand the paradigm shift possible.
However, any web3 product that default restricts itself to a business model of users paying through token and NFT sales under the ideology of ownership is leaving immense value on the table. This may come as a shock to some of you, but the majority of the world simply cannot afford to or does not want to pay for most of the products we use today.
Let’s look at a few examples of both advertising and subscription businesses today. Free platforms like YT and Instagram have ~1 billion monthly active users, over 5x the total subscriber base of 220m paying customers that Netflix has. Netflix also uses Youtube extensively as the top of the funnel through performance and content marketing, so it is unclear if it could have existed without the overall free-to-use digital ecosystem.
Furthermore, as per this statista page, Facebook makes 10x more per user in the US (~$50 per user) than they do in India (~$5 per user). It is the same story for Youtube, Google Ads, Instagram, etc. For subscription businesses too, the disparity between prices across the world is more evident than ever. A basic Netflix subscription in India costs $2/month, whereas it costs $10/month in the US. Spotify premium costs 1$/month in India whereas a US subscription costs $10/month. Even accounting for market penetration and difference in the content library, this variance is telling. Kunal Shah called this out back in 2016. His latest Fintech venture, CRED, focuses exclusively on a subset of the 5% of Indians who own credit cards.
The point of stating this is to emphasize that just because a product is web3 doesn’t mean it won’t face the same challenges. We can’t build a thriving ecosystem on the back of “up only” token prices. To build sustainable businesses products need to find the best monetisation model for them without applying unnecessary ideological shackles.
Mass adoption will come from products that are at least free to use and provide people ownership of their digital goods. This will require both inventing new business models & adapting existing business models to new paradigms. Here are a few ways that might happen.
Web3 enables internet native money which naturally extends and improves subscriptions. Instead of making infrequent, balloon payments we can stream token, rent/stake NFTs, build token-gated experiences, etc. However, products should carefully enable businesses to monetise as well.
Data DAOs is a promising technology for people to monetise aggregate data by providing insights to businesses while enabling individual contributors to retain ownership and financial upside from it. If scaled well, this can enable a network that is comparable in size with today’s platform but with distributed ownership.
Today’s platforms like Facebook, Youtube, etc are ad-exchanges that capture the majority of the value flowing through them because they own customer data. It is possible to build an advertising ecosystem in which the exchange provides a utility service for a fee, customers own their data and opt-in to ads in return for free usage of the product and/or a share in the revenue. Brave is implementing a version of this in their browser powered by the BAT Token.
Apps like StepN are effectively issuing proof-of-movement in their sneaker NFTs. A range of companies in the fitness ecosystem that sell sportswear, wearable devices, training & nutrition services, insurance, etc. would see immense value in interacting with users based on their demonstrated commitment to movement. The fact that these are NFTs on a public blockchain means a bazaar of providers can emerge and build on top of them, even if StepN needs to handhold the first few use cases. Ownership remains with users, so even if a particular provider becomes extractive, a replacement can spawn up overnight.
Similarly, if Starbucks actually issues NFTs on a public blockchain that captures the extent and preferences of a person’s taste in coffee - this should be celebrated as a win for web3. It means that an ecosystem can emerge for people based on data that was previously inaccessible. Niche breweries can target customers with a certain level or preference for a certain type of roast/bean. Coffee clubs can form where membership is gated based on your NFT. Health studies now instantaneously get a much wider sample set they can seamlessly sift through. Other food and beverages that complement coffee can directly approach customers. All of this becomes possible without needing any involvement from Starbucks, reducing the friction and risk of trying out these experiments.
Web2 platforms have experimented with everything from ads, subs, pay-per-view, freemium, free-trial, tiered pricing, recurring subscriptions, referral bonus, sachet packs, money-back guarantees, pay-later, etc in the pursuit of servicing as many customers as possible. Web3 products that ride a high horse of the ownership meme will drown in the flood of consumer adoption led by-products that find ways to serve customers across a range of price points effectively.
This is probably the most important competitive advantage that a web3 product can build while competing against a web2 equivalent.
Today, networks are private goods owned by the corporation operating the platform. These are products that emerged from 100s of forgotten competitors who couldn’t keep up with the pace of network effects the winners were able to achieve.
This is also why these platforms face practically no competition. No one can practically hope to compete with the network effects they’ve built. Platforms like Twitch are the exception, not the norm, and even they will face intense competition as incumbents copy their features on a much larger user base.
Building products for this ecosystem is becoming less lucrative as these platforms can ban or replace any ecosystem “partner”. As we’d said in previous essays, it is not at all intuitive that we end up with a single interface for accessing all the photos, videos, tweets, cabs, hosts, restaurants, etc. of the world. It happened because networks were privately owned and the few people in these companies building on top of these networks decided for everyone.
The simplest way to understand the power of the network effect is to separate the bits & atoms footprint of big tech companies. You’ll notice that Google, Facebook, Instagram, etc have no real competitors across the world because they are purely software products. However, this is not the case for marketplaces that have a footprint on the ground. Amazon faces competition from Flipkart in India, Lazada in South Asia, Alibaba in China, Rakuten in Japan, MercadoLibre in South America, etc. The catch is that none of these national players can collaborate to create a global competitor. Amazon benefits from much higher economies of scale because they have painstakingly built a global network of supply, logistics, etc. But it is now possible to build pockets of networks and seamlessly connect them globally.
The real edge web3 consumer products can double down on is composability. The key is to scale public networks using private interfaces & operations. Nothing else matters. Building composable, public networks will enable direct creator-fan relationships, better monetisation, and richer user experiences across brands, products & services. We wrote about an example of this in a previous essay on loyalty rewards.
There should be a relentless emphasis on ensuring that the core asset that drives network effects is maximally composable. In the domain of social networks - the team at Farcaster believes they can build a sufficiently decentralised social network without putting data on-chain, using their hubs model. Whereas protocols like Wordcel believe it is best-done on-chain. Irrespective of which approach prevails, maybe both? But, an open social graph is a worthy goal to pursue.
Let’s apply this framework to more applications like ride-sharing , travel booking, entertainment services, etc.
To build an open ride sharing network as a competitor to Uber, we need to ensure that riders & drivers can transact with each other without dependence on a single entity. This requires rider and passenger profiles to be accessible to anyone looking to build a discovery and matching system. Aggregated ratings being public helps build trust and facilitate transactions. And an open payment system that works across all interfaces of the network. You can then have many apps, ops, and customer support teams that are centralised and servicing different parts of this network. You could have different services for pool, premier, helicopter, boat, etc. Different levels of customer services based on how much people are willing to pay, etc. There can be different centralised matching algorithms for each interface, different pricing models, etc. Each entity operating these can be a centralised private platform, but they yield no power over the network.
To build an open accommodations marketplace as a competitor to AirBnB & Booking.com, we need to ensure that guests & hosts can discover and transact with each other independently of a single application. This requires real-time inventory updates, property information, and pricing to be available for anyone to read and compose on. And an open payment system that works across the network. You can then have many different interfaces for different types of customer needs - family, romantic, adventurous, nomadic, etc. Each of these can be operated as centralised private entities. But none of these own the network.
To build an open entertainment service to compete with Netflix, we need to ensure that viewers can discover, pay for and watch content independently of a single application. This requires distributed content hosting & encryption, a shared repository of user preferences and content ratings to enable discovery. And an open payment standard that works across the network. Each interface can have the best media player with a custom set of controls and options, different types of recommendation algorithms - centralised and privately owned.
I’ll be the first one to admit that I don’t have the technical depth that Varun displayed in his essay on sufficiently decentralised social networks, but I believe that the key insight carries through…as long as the underlying network remains accessible, we achieve the benefits of decentralisation. No single entity can censor participants or change the rules of engagement, network participants can directly interact with each other in ways they find fulfilling and financial value is distributed across the network.
The path to achieving this state is not obvious or easy. Existing platforms have no incentive to do this. They will be reluctant last movers, responding to signs of these composable products appearing and growing to critical mass. It is also not easy for individual projects to justify opening up the most important asset of their product. There is no obvious other competitive advantage when you remove network effects. There’s a reason the last decade was built on them :)
However, it is worth realising that the only way a start up can compete with existing incumbents is by rallying many other projects around the idea of building a shared network.
The goal should be to build exceptional consumer-facing product interfaces that feed into these public networks. One way to do this is to pick niche segments that are under-served by the least common denominator vanilla interfaces of large platforms. Build rich interactions that creators and users want. It becomes compelling for creators, users, and businesses to work with such products because they not only provide a superior user experience but also accrue to a common network that is not locked within the interface. It becomes worth tolerating teething issues and investing in building this network, because you own a part of it. And eventually, when sufficient such networks arise, they may seamlessly connect to rival incumbents’ scale. At some point along the way big tech platforms could start integrating with these networks as a last resort too.
In a previous essay, Akshay & Kash spoke about why we think forking is better than voting when it comes to DAOs. The reality being that governance tokens were invented as a way of bypassing US Securities regulations, not futuristic product design.
We think that while it is important for people to retain ownership in the networks they participate in, the role of governance via voting is overemphasised in today’s discourse. It is already broadly agreed that it is better to have a centralised core team at the early stages, for example notice the progressive decentralisation playbook by a16z.
Protocols need to be credibly neutral and governance is unavoidable. But maybe applications are better run by centralised core teams? As long as they are composable and users own the underlying assets, we get the best of both worlds.
Applications can find the right extent of community involvement. They can choose to charge for their products and services and minimize external involvement in the product. People can continue using their products or exit with their on-chain assets.
Or applications can issue tokens or NFTs to raise capital from their community but have controlled governance where the core team decides what proposals are up for vote & uses them to get a temperature check from the community. Each team can pick the model that works best for their problem statement.
Well-designed consensus-led governance can work as the last resort for maintaining something that works. It is unlikely to create something entirely new. That needs truth-seeking, risk, and hard work.
I’ll take the example of Lifinity, a DEX on Solana to illustrate how limited “governance” can result in better products. Disclaimer: I own some Lifinity Flares & tokens.
Lifinity claims to be the only profitable DEX on Solana, it was developed by an anon team of 4 members. They raised funding through an NFT & token sale. It's been clear from the start that the core team will drive key decision-making. The core team decides which pools to open up, what concentration levels to maintain, what fees to charge, etc. They choose to get the community involved on specific issues of their choice. Only core team members can float proposals. The results of the polls are used as guidance and are not binding. Yet, they have one of the most engaging and happy communities. Do you know why? Because they pay out profits to token and NFT holders each month, and proactively communicate their decision-making and thought process through their blog and social accounts. They run their entire governance through discord polls.
Request for Proposal
We spoke about the importance of designing a great onboarding and first-time user experience. We’re inviting grant applications from anyone who wants to design an onboarding playbook for crypto apps.
The best applications will focus on depth over breadth. Select a domain/use case that you think is important and write in detail about what a great user experience looks like, including screenshots, examples, and design mock-ups.
Apply for a Solana foundation grant.
Here’s my take on a web3 version of the image you saw at the start of the essay.
Thanks to Akshay BD for feedback on drafts of this essay.
Disclaimer: This post is not financial or investment advice. It is meant for informational & educational purposes only. Please do your own research about risks and compliance before buying, investing/ or trading.