Thirdweb is one of the web3 startups that I am most excited about. Their platform is now in closed beta and everyone I know that has used it has loved it. In this post I cover what thirdweb does, why it is important, and what are some cool things that they can do in the future. It's a bit of a long read so feel free to skip around.
Let’s dive in.
Abstracting away complexity is one of the most consistent trends in human history. You don’t need to know what differentials are, or even how engines work, to drive your car. This pattern is especially prevalent in the tech industry. Billions of people use the internet every day, a tiny percentage of which knows how a webpage appears after you enter a URL. You can be a power user- download files, upload videos, play games, and even build websites without really knowing what’s going on behind the scenes. All the compute, storage and networking complexities have been hidden away behind a simple web browser.
These abstractions also translate to building software.
When I first got interested in machine learning (around 2015), basic object detection was quite tedious. Python had emerged as the language of choice for ML, and there were some Data Science libraries in place, but the overall experience of building a basic Deep Learning model was terrible.
PS. You can ignore the content in the long code snippets. They are only to illustrate number of lines of code as a proxy for effort/complexity..
Soon a project called Pytorch made all this much easier. Pytorch is an open-source machine learning framework that was developed and launched by Meta(then Facebook). Code you had to copy-paste into each program was now available in the Pytorch library. This greatly reduced the number of lines of code you had to write. Moreover, since the predefined functions were expertly written and followed best practices, building on Pytorch often resulted in better models. You still had to define and train your model, but the developer experience was much better.
Pytorch then launched Pytorch Hub. This was a collection of SOTA(State of the Art) models in every category. These models came pre-trained. You could further finetune the model on your data, or use it as it is. Suddenly everyone had access to world-class AI models. Fast.ai built a framework on top of Pytorch that made it extremely easy for anyone with basic ML knowledge to write deep learning applications. You no longer had to deal with tensors. Just specify some parameters, and fast.ai took care of the rest.
Around the same time, cloud service providers started offering AI as a Service. You could now integrate AI into your application with almost no understanding of how it actually worked. For generic tasks, you simply needed to know what you wanted to accomplish and there was probably a service for it. All the heavy lifting could be outsourced.
Along the way, complexity in AI got abstracted to the point where Google made Teachable machine, a drag-and-drop builder to create deep learning models.
There is definitely nuance to this. With each level of abstraction you lose some flexibility as abstractions assume useful defaults. To finetune models well you need to understand their underlying architecture. Most of the work Data Science teams do is around getting good, clean data and not just building models. However, there is no denying the massive unlock that abstracting complexity in AI has had. Thanks to this democratization of AI, a cutting edge PhD research project from 2011 can be easily outperformed by a high school student in 2021.
Looking at how the developer experience evolved in AI is a good way to build what's missing in web3. Although they have significant differences, AI (like crypto) started out as a niche thing among computer nerds. Then for a few years, it completely engulfed the tech scene's imagination (similar to the crypto bull run of the past 2 years). AI has now reached a place where we are seeing very real use-cases implemented in products that we use every day. Today almost every popular consumer-facing app has AI components in it. A big reason for this is that the developer experience has become so much better. If you have an app that data flows through, you can probably do some AI stuff without too much extra effort.
It is common knowledge that the developer experience in web3 kinda sucks right now. Let's say you are a full-stack dev in web2 that sees the promise of web3 and wants to switch over. To get started, you first need to get comfortable with web3 concepts like wallets, gas fees, smart contracts and the overall architecture of a web3 app. These are fair asks. You choose to build on Solana since it is cheap and fast. You then find out that to actually build something, you need to get comfortable with a whole new language called Rust. Rust is not a very welcoming language. You also have to navigate the intricacies of Solana's architecture(programs don't store state lol). Since the space is so new, there aren't a lot of tutorials to help you out if you get stuck(although the community is very helpful). Many lose interest or give up during this long road to shipping a working product. Having high switching costs locks out a lot of talent.
This is getting better very quickly. Web3.js was one of the first big upgrades. Armani Ferrante is hailed as a hero by the Solana community for having developed Anchor, a framework for Solana development on Rust similar to Next.js for web development. Truffle and Hardhat have greatly improved the developer experience in Ethereum. Remix is an online IDE that lets you develop for EVM without even installing anything. However, there is still a lot left to be desired. Smart contracts are at the core of web3. Integrating smart contracts into your application still often requires getting your hands dirty with Solidity/Rust.
Simply put, thirdweb makes it easy to build for web3. They do this by providing smart contracts, SDKs and UI components that make it easy to handle the blockchain stuff so that you as an app developer can focus on what is important- utility and usability.
Thirdweb provides smart contract templates for a wide variety of use cases. You just need to fill in your details and the smart contract will be deployed from your wallet. You have full ownership over it.
The smart contract templates can be modified using code or through the dashboard itself.
There’s no Solidity involved. Since the smart contract is deployed from your wallet address, you have full ownership over it(ie. admin privileges). Once your contract has been deployed, you can use the thirdweb SDK to integrate it into your app.
Ease of use
If you know the basics of web3, you should be able to navigate through the thirdweb dashboard fairly easily, even if you don’t have a background in coding/computer science. I highly recommend trying to create a new token by yourself. Seeing $YOURTOKEN show up in your Metamask is a great first aha moment. You just need to click through a couple of steps and suddenly you have deployed a smart contract that will live forever on the blockchain! You can find a tutorial on how to do that here.
Thirdweb does a great job of aligning incentives. They make money only when you make money.
Thirdweb has currently only monetized their NFT smart contracts. Smart contracts are free to create and deploy(you have to pay the gas costs). If you aren’t taking royalties from your project it is free forever. If your project has royalties, thirdweb takes a flat 5% cut. The SDK is fully open source.
Potential future functionality
Thirdweb chose NFTs as their wedge. However, their mission statement is to make it easier to build web3 apps, making their TAM pretty much all of web3. The problem space being this vast is a great opportunity, but it can also be confusing when deciding what to build. If thirdweb spreads itself too thin too fast it will be disrupted by others that are focused on a more specific problem statement. If it moves too slow someone else might choose a different wedge and capture market share.
To decide what features to build, thirdweb can assign a score based on how common the feature is and how complex it is to build without thirdweb.
impact = (frequency x loc)
priority = impact/effort
where frequency is the number of projects that currently exist that would benefit from this feature(as a proxy for reach), loc is the number of lines of code that will be reduced(as a proxy for complexity), and effort is the time (in weeks) it will take to build the feature. This is a modification of the RICE model. This formula works as a good starting point but should not be the only decision making factor.
At least externally, it looks like thirdweb has product-market-fit for their existing NFT products. Everyone I know that has used it has loved it. Now, thirdweb can expand the breadth of their products while simultaneously diving deeper into NFTs. Going by impact, DeFi is the obvious choice. Some other areas thirdweb could potentially expand into are DeSo(Decentralized Social) and DAOs(Decentralized Autonomous Organizations).
Thirdweb has already rolled out some features for DAOs. Plug-and-play UI components for common web3 features could also be a nice addition.
Thirdweb takes a blockchain-agnostic, write-once-run-anywhere approach to smart contracts. Once you define your smart contract, you can easily deploy it to different chains without any extra effort. Thirdweb currently supports many EVM compatible chains and has plans to add support for more L1s soon.
Thirdweb recently closed a $5M round. They raised it from individual creators, operators, and investors as opposed to the VC route that most startups take. They do not have a token yet.
Over 500 unique projects have already integrated the thirdweb SDK. Thirdweb has also built a vibrant community around their products. Their Discord has over 13,300 members and is quite active. They have over 18,400 followers on Twitter. They were Product Hunt’s Product of the Month for December 2021.
One of the coolest things about thirdweb is their growth strategy. They have partnered with Buildspace for a great course on how to launch a DAO. Buildspace is the most popular onramp for web2 devs into web3. As these devs join companies or start web3 projects of their own, they will probably use thirdweb due to familiarity and ease of use. Thirdweb can then grow along with them. Stripe, AWS, and Slack used similar techniques early on; they convinced YC companies to use their products and grew with them.
Smart Contracts as a Service (SCaaS?)
Integrating a smart contract into your app is hard.
Thirdweb changes this by providing modularized smart contract templates. Creating, deploying and integrating smart contracts becomes super easy. Since thirdweb’s whole focus is on smart contracts, chances are that their smart contracts will be more efficient and have fewer chances of breaking than smart contracts that you write yourself.
However, thirdweb has the opportunity to go one step further here. Auditing is one of the biggest time and money sinks in web3 development. Using unaudited smart contracts in your app is a major red flag. In its current form, when you use a thirdweb contract template you are deploying a fresh contract from your wallet. This means you will need to get it audited if you want customers to trust your app. If thirdweb deploys reusable, audited smart contracts that customers can easily integrate into their app, they would remove a major pain-point in web3 dev. You would not own the smart contract, but the added security you get would make the tradeoff worth it for many cases. OpenZeppelin does something similar.
Shorter feedback loops
Speed is vital to startups. Shipping fast and iterating quickly is the most tried and true way of achieving product-market fit. You need to get your product in the hands of customers as soon as possible and tweak your product based on usage/feedback. Web2 dev has a lot of tools that help you go fast, but touching the blockchain currently slows you down quite a lot. There aren’t a lot of plug-and-play components available to quickly hack together an MVP. Thirdweb makes product development much faster by making it very easy to interface with the blockchain. The extra hurdle is removed, you can go as fast as any web2 startup.
One of the big promises of web3 is composability. Since code and assets are open-source, you can glue different assets and protocols together and create unique experiences. This is why DeFi is often referred to as money legos. Similarly, NFTs can be thought of as media legos, and DAOs can be thought of as organization legos. Thirdweb can package protocols in a way that makes it easy for developers to combine and integrate.
One of the greatest Indian innovations in the past decade has been the India stack.
India Stack is a set of APIs that abstract away a lot of complexity and bureaucracy. Processes that had a lot of red tape surrounding it could now be done by anyone with a couple of API calls. This led to a huge boom in Indian startups, particularly in fintech.
It is very likely that some sort of Crypto stack will eventually emerge for web3. These are a set of standards/protocols that govern core components like identity, ownership, etc. Thirdweb has the opportunity to be at the forefront of building tools that make it easy for apps to use them.
People want abstraction
Companies that make stuff easier have been some of the biggest winners of the past two decades. XaaS (Platform, Infrastructure, Software, etc. as a Service ) is one of the most successful business models in web2.
Capturing a portion of the revenue aligns incentives very well, greatly increasing the chances of good outcomes. Customers of thirdweb are incentivized to increase their revenue, which directly increases thirdweb’s revenue.
Companies want to focus on their core value prop and will happily outsource ancillary tasks to external services. Thirdweb makes it easy to build non-core blockchain features. Moreover, thirdweb is very flexible. It takes care of the backend while giving you full control over the look and feel of your product.
As with everything crypto and web3, there is always the looming threat of an extended bear market. Thirdweb needs projects to build on thirdweb. Thirdweb makes money only when projects make money. Bear markets typically see a huge downturn in the number and revenue of crypto projects, although the quality of the ecosystem tends to go up.
Thirdweb is susceptible to falling prey to the law of leaky abstractions. Simply put, it means that sometimes abstractions fail. The more layers of abstractions there are, the harder it is to diagnose the point of failure. If a dev building on thirdweb gets an error it could be because of their code logic, some other library, thirdweb, or the blockchain they are building on. This can be reduced with good documentation and precise error messages.
Complexity is a moat for thirdweb. The main reason why Stripe has very few competitors is because the payments industry is notoriously complex. There is a lot of red tape and negotiations involved. Stripe took a long time to build relationships with banks and payment providers. Companies that offer AI services have data and compute moats that make it hard for incumbents to compete. Crypto is a very level playing field. The open and permissionless nature of blockchains means that anyone can build on top of it. If the problems thirdweb is solving are not hard enough, others can quickly spin up similar products. This might even be in the form of open-source protocols funded by grants from the parent blockchain(such as Metaplex). That could start a race to zero fees, which is a very uncompetitive position for thirdweb.
A lot of people call thirdweb the Stripe or Shopify for crypto(Shopify could very well be the Shopify for crypto, and Stripe is building out a crypto team). It could actually be much bigger than that. Thirdweb could become the go-to framework for client-blockchain-client architectures. The easiest and most secure way for a dApp to interface with a blockchain could be through thirdweb.
Balaji alludes to something similar in his talk with Ryan Selkis from Messari. 12:06-15:12
Thirdweb has a solid team and a great first product. They have gotten a lot of love from the web3 community. They have bagged one of the most interesting domain names in web3. Bullish 🚀.