While 2021 saw the heights of the cryptocurrency market, 2022 kicked off its decline. And by now we're definitely back in a crypto bear market. Not only the crypto market is affected though, since the entire global economy is in recession.
2022 was a turbulent year with a lot of ups and downs, both personally and globally. As the year is coming to an end I feel like I'm back in a similar spot as where I started, albeit with a lot of new experiences under my belt and a lot of new people met.
💍 Getting Married
In 2021 my wife (then girlfriend) told me that if we were to get married, it had to be on a palindrome date. And I did not want to wait for the next good palindrome in 2030. So 22-02-2022 it was.
There were still a lot of COVID rules in place, so we just had a tiny ceremony with a few of our close friends at city hall at 10 in the morning. Afterwards we had lunch at an amazing restaurant, and we finished the day at the beach. We had a great time. For a while it still felt weird to say "my wife", but it's slowly starting to feel more natural.
🚀 Armada & Chaingrep
I ended my previous year in review by looking forward at the months to come and introducing Armada, the startup that I was working on with my friend Merwane. Needless to say, this new startup played a big role in my past year.
Y Combinator
At the start of 2022, Armada was accepted into the W22 batch of Y Combinator, the world's premier startup accelerator. This comprises a three month program in which YC helps you make the most of your startup journey.
The program includes weekly meetings, presentations from the founders of big YC companies - such as Airbnb or Stripe - and tailored advice from the YC partners. The partners are generally also accomplished founders and experts in their fields.
In prior years, YC batches had been in-person at Y Combinator's Bay Area campus, but due to COVID restrictions, the past couple of batches have all been virtual. And while being there in-person would have made it even better, participating in YC has been one of my coolest experiences to date.
PIVAAAT!
As many startup founders know, chances are that your first idea isn't the one that will eventually stick. And while we enjoyed working on our idea for a natural language NFT search engine, we found that was a bit too narrow an idea to build a business on.
So over the months we pivoted several times. We shifted from Armada to Chaingrep, which we described as a "block explorer for humans". This later morphed into a developer-targeted API for human-readable transactions.
After working on that for some months we found ourselves questioning our product again. At this point I was feeling pretty burnt out from all the pivoting while we hadn't actually shipped anything in all those months.
At the same time, Merwane and I had a pretty different outlook on where we wanted to go with the company. So ultimately we decided to split up and go our own ways.
Aftermath
For about 8 months I worked very intensively on trying to build a startup. We went through YC and we raised VC funding. And then it was over. When it happened I had very mixed feelings. Disappointed that we hadn't been able to make it work, but also relieved to take a break from the grind.
I promised myself to take a break at least until October. In that time I went on a few trips abroad and spent some time working on projects, but mainly tried to take it easy.
It's always hard for me to take a full break without doing any kind of work. So I didn't fully succeed at my break, but I definitely did have some weeks where I didn't do any work at all and was able to touch grass in nature.
Now October has come to pass, which means that the time of taking it easy has ended and I'm back to work. Now I'm working my own project again, albeit in a different way: this time as an indie hacker.
🛡 Revoke.cash
Early February we saw a very high-profile phishing scam, startling the entire crypto space. Many people were scared that OpenSea was compromised, which thankfully wasn't the case. But the chaos of this incident brought so much traffic to Revoke.cash that it went down while I was sleeping.
During the first parts of the year I was mainly focused on building Chaingrep, so I didn't spend a lot of time working on Revoke.cash. But after leaving the startup I decided to see how far I could take it.
Browser Extension
Shortly after leaving Chaingrep I built the Revoke.cash browser extension, a kind of "wallet firewall" that pops up with warnings whenever you're about to do something potentially harmful. This is an effective way of combating phishing scams, since phishing websites always try to make you sign something you shouldn't.
The browser extension quickly gained over 10k weekly users, and is still growing. There are several similar projects, which definitely validates the idea. But ultimately I can imagine this kind of functionality being directly integrated into a wallet such as MetaMask.
Multi-chain support
In earlier years I had tried to expand Revoke.cash' functionality to more chains, but never managed to support more than a handful of chains. But with an ever-growing number of chains, it was necessary to support more than just a few.
In 2022 I received grants from RSK and Harmony, which helped realise Revoke.cash' extended multi-chain support. Throughout the year, the number of chains grew, and today more than 30 different chains are supported.
Multi-wallet support
While MetaMask is the largest browser wallet, it definitely isn't the only one, and there's also a growing ecosystem of mobile and desktop wallets. So only supporting MetaMask meant I was missing out on serving a lot of users.
One of Revoke.cash' big strengths is its open source code allowing anyone to contribute to it, so WalletConnect and Coinbase Wallet support was added by contributor Alex McGonagle. I added Gnosis Safe support to that as well, so now Revoke.cash essentially supports every popular wallet on the market.
Localisation
When I was at Devcon in Bogota last October I was confronted with the fact that a lot of people do not speak English at all. To better serve these people I decided it would be good to translate the website. I reached out to some people and got the website and extension translated into Spanish and Chinese.
Looking back, I think the Chinese translation has been very succesful, since a large part of the user base speaks Chinese, and this segment of users grew the most since adding translations. But I'm not sure if the Spanish translation has been worth the effort. Spanish speakers are still only a tiny percentage of users, despite being one of the biggest languages in the world.
Redesign
Now at the start of 2023 I just launched a big overhaul of the website's UI. The old Revoke.cash was created in 2019, and while it has received updates over the years, the UI wasn't the greatest or most flexible.
So with this redesign I hope to make Revoke.cash more accessible to a larger group of users, and I want to make it easier to add more features in the future. My friend Jenny has been a great help with the UX design aspects of the new website.
🤖 FaceFilter.AI
A big theme in 2022 was AI. We saw the advent of DALL-E, a magic AI powered art generator. But as quickly as DALL-E emerged, just as quickly was it supplanted by the open-source alternative Stable Diffusion.
To dive more into AI, my friend Dries and I created FaceFilter.AI, an AI-powered profile picture generator. We were inspired by other apps such as Pieter Levels' AvatarAI and Danny Postma's ProfilePicture.AI. But we added the functionality to write your own "prompts" so that you can go wild with your own creativity.
🖼 Imperfections by Kalis
Last year I shared Imperfections by Kalis, the generative art project I was working on with my dad. In 2022 we finished the project and launched it on Art Blocks, one of the biggest platforms for generative art NFTs.
We organised a small launch event at the OP.ENSPACE gallery in Amsterdam, where we watched as people minted their NFTs. It took a few weeks after the initial launch, but we ended up selling all 450 pieces.
After the launch I created a GitHub template repository with all the boilerplate code that I used during the development of the generative art scripts. So if you're looking to experiment with generative art yourself, be sure to check it out!
🐙 Open Source
While Revoke.cash' popularity soared this year, the usage of my open source developer tooling only grew slightly, peaking at 50k+ monthly downloads. They did reach a different milestone though: 1M combined lifetime downloads!
I shipped some big updates to my open source projects this year. The biggest update was adding support for Sourcify to truffle-plugin-verify. Sourcify is a repository of verified contract source code similar to Etherscan's - but fully open-source. I've been wanting to add Sourcify support for years already, so this was long overdue.
The strength of open source is in its contributors. So for Revoke.cash I want to thank bossyuansu and maorstamati for adding new chains, Alexey Simbirskiy, Michal Šváb and Chawye Hsu for adding new address labels, Dawson Botsford for improving website performance, Diego Mares and Cindy Wang for their translations, and most of all Alex McGonagle for adding WalletConnect support.
For truffle-plugin-verify I want to thank albertov19, Niccolò Petti, nozeroctnellav7, Alejandro Banzas, d10r and Sebastian Baier for adding new chains, and Deniz Surmeli, fuchengshun, Mukundan Senthil, akshaydevh and d10r for contributing new features. And most of all I want to thank Kaan Uzdoğan and Marco Castignoli from the Sourcify team to help realise the Sourcify integration!
For CashScript I want thank Prashant Singh Pawar and mainnet-pat for fixing bugs, Jason Dreyzehner for refactoring internal code, Mathieu Geukens for his work on CashTokens and other improvements and Nathaniel Cherian for adding new features.
🛩️ Events
While crypto events are always fun, they do also tend to take away significant time away from work. And because this year was heavy on work I had to really prioritise the events I wanted to visit. And I knew that the one event I couldn't miss this year was Devcon VI in Colombia.
Because of COVID, it had been 3 years since the last installment of Devcon. Devcon V was the first edition I attended, so I was excited to attend my second one. So in October my wife and I flew 11 hours to Bogotá.
We met a lot of new people and had a lot of fun with old friends as well. And while Colombia isn't on our list of favourite countries, it was great to have a major crypto event in a developing country for a change.
⚖️ Finding Balance
In my last year in review I talked about wanting to set better priorities and learning to say "no" to things that I would love to say "yes" to. Because we just can't do it all. And this is still something I'm struggling with.
I don't regret saying yes to building a startup even if it didn't work out. But there's one important lesson that I learned about priorities during my time working on Chaingrep, somewhat contrary to the ideas I started the year with. And that lesson is finding balance between priorities.
It's good to be focused on just one thing. But while working on Chaingrep I spent day and night just on building the startup. Only to throw away all that work and pivot to something completely different multiple times.
There will certainly be more times where I'll have to throw away work in the future. That is not necessarily a problem. But seeing how often you can fail and restart in a few months does show that you don't need to work day and night to make it work.
So going forward I want to be more balanced in the different aspects of my life. But as I mentioned before, it's generally hard for me to take it too easy. So I expect this to be an on-going challenge for me. We'll see how it goes.
📈 2023
2022 was a rollercoaster. I got married and I am enjoying my new life together with my amazing wife. I also spent a lot of time trying to build a startup and subsequently crashing, but also restarting.
While Chaingrep fell, Revoke.cash flourished. The user base and community is there, but it's not consistently making enough money to sustain myself yet. So in 2023 I want to focus on getting revenue for Revoke.cash. But I want to work on it in a way that complements the rest of my life, rather than consuming it.