2023 Year In Review: Entrepreneurship, Making Money & Stability

While the past couple of years have been hectic, 2023 feels like it has been surprisingly steady - and has a clear upward trajectory. The year before felt like a roller coaster with incredible highs but also deep lows. That is why stability is a welcome change - and in line with the goals I set a year ago.

πŸ’Ό Amsterdam Indie Hacker Office

In 2022, my friend Dries and I rented an office for Chaingrep. After Chaingrep fell apart, Dries and I decided to keep the office to work on our own projects. But we had to leave the office in March of 2023, after which we had to go back to working from home. Dries and I met up to work from coffee shops a few days a week, but we missed having an office to go to.

Enter the Amsterdam Indie Hacker Office. In May 2023 I stumbled upon this article from Simple Analytics, the analytics company I use for my projects. The article had a link to the Twitter account of its author Iron Brands (real name πŸ˜‰).

As luck would have it, Simple Analytics has its office in Amsterdam and was renting out some desks. So after a quick meet and greet, Dries and I moved into this little office filled with other indie hackers and entrepreneurs.

Since then I've learned a lot from the other people in the office and Dries even started a new business together with some of the guys from the office! Having the office to go to and work from has been really awesome, and I would not want to go back to WFH.

πŸ’° Revoke.cash & Entrepreneurship

In 2022 I decided to start working on Revoke.cash full-time and in 2023 this really came to fruition. I've been steadily working on improving the platform and it has seen nice growth over the course of the year.

Redesign

The new year started strong with the launch of the redesigned version of Revoke.cash. While the old version had seen some updates since the initial 2019 launch, it was largely the same as when Revoke.cash started. So it felt quite dated and hard to add new features.

With the 2023 refresh, I updated the platform to make it easier to use and easier for me to add additional functionality in the future. But while I wanted the website to feel more modern, I also didn't want to give up the "signature" black & white look of Revoke.cash. I think I largely succeeded.

Making Money

Since I no longer had a job to help sustain myself and my wife, making money was a high priority. When I started working full time on Revoke.cash in Q4 of 2022, my intention was to add paid premium features to generate an income from Revoke.cash.

A big part of the motivation behind the redesign was also to make it easier to add this kind of functionality by adding more structure to the website. But I found myself spending more time on improving the free product instead of adding paid features.

Sponsorships

Early in 2023 this meant that funding was running very low, and to solve the problem at hand, I considered adding advertisements to the free product as a sort of stopgap solution. However, I did not want to make it an intrusive part of the application.

So rather than traditional advertisements, I decided to see if there were any companies that were interested in more of a "sponsorship" deal, which meant adding sponsor banners to a dedicated section of our landing page / website, without cluttering the actual application UI.

I launched this sponsorships program in February of 2023, and thanks to the help of the initial set of sponsors (Boring Security, PREMINT, Vulcan and Earni.fi) I was able to extend the runway needed to continue working on Revoke.cash.

Public Goods Funding

The initial set of sponsorships helped with extending the runway, but funds were still running lower and the first months of 2023 were pretty stressful. But then something amazing started to happen: Public Goods Funding took off for Revoke.cash.

While we had received a decent amount of donations and grants through Gitcoin Grants already in 2022, 2023 saw a lot more interest in public goods funding. Gitcoin Grants transitioned to its new decentralised system and ran several alpha / beta rounds that brought in funding.

And it was no longer only Gitcoin that was leading the public goods funding effort. In 2023, Optimism launched a massive effort into funding public goods through their RetroPGF program, ENS started a public goods funding / grants program, and the Octant platform sprung up from what used to be the Golem community.

Overall 2023 saw a lot more focus on funding public goods throughout the Ethereum / crypto ecosystem. While it felt hard to depend on these kinds of programs at first, it feels like they are maturing into a viable way to build free and open source software in the crypto industry.

I think it is pretty amazing that the crypto ecosystem has been able to create this kind of culture that wants to fund public goods. Crypto is pretty unique in that aspect, and I think a lot of it is due to the unique financial incentives that exist in crypto.

In the crypto world, it is possible for people to produce positive externalities by funding public goods, while still personally benefiting enough from funding those public goods. This means that we don't just need to rely on the goodness of people's hearts - although that goodness is definitely still much appreciated.

Growing The Team

Around the end of 2023, I ended up in a spot where it looks like Public Goods Funding is a viable revenue model for Revoke.cash and there is still plenty of stuff to build. With that in mind I felt comfortable to slowly expand the team beyond just myself. So in December I hired my friend Dries for a part time software engineering role.

Dries had been helping out as a contractor on several features earlier in the year, such as the new exploit checker. He's currently working on expanding the features around risk insights, and I'm sure he'll contribute a bunch more in 2024.

Exploit Checker

In April of 2023, the crypto world was shaken by an exploit targeting popular DEX SushiSwap. In this hack, a bug in SushiSwap's new router contract was exploited to steal approved user funds.

Because SushiSwap is such an established player, no one expected such an exploit. So this was a wake up call for many people in the space to stay on top of their token approvals. When such an event happens, people rush to Revoke.cash to see if they are affected. But if a user has many token approvals, it can be hard to identify the affected approval. This is what inspired the new Exploit Checker.

I asked my friend Dries to help out as a contractor, and he had the exploit checker implemented in no time. We set it up in such a way that it's super simple to add new checkers whenever exploits happen in the future so that people can easily check whether they have anything to revoke.

Educational Content

Revoke.cash is a great tool to help people stay safe in crypto. But in order to fully stay safe, users also need to be more educated regardless of tooling. To help with that I started writing more educational content on Revoke.cash.

To do so, I created the Learn section / knowledgebase as well as a blog. On the blog I try to post product updates or other event-driven updates about the crypto ecosystem. On the Learn section, I am writing evergreen educational content about crypto and security.

In total, I created a few dozen educational articles and blog posts, so to have a professional illustrator create custom cover images for all of them could become expensive.

With the recent hype around AI, I figured I could try to have ChatGPT generate cover images instead. In the end this took a lot of trial and error, and it definitely wasn't as automated as I'd have preferred, but I think the results ended up great.

Permit2 Approvals

In the world of token approvals, there is a concept of "Permit" signatures. This is a standard to give token approvals using off-chain signatures, rather than requiring on-chain transactions. This is more user-friendly, since a user does not have to send two separate transactions when swapping tokens.

One drawback of these signatures is that only a small subset of tokens supports it. To mitigate that, Uniswap came up with a system they call "Permit2", which enables gasless Permit signatures for every ERC20 token. Championed by Uniswap, Permit2 gained traction in 2023, which meant that it required support on Revoke.cash as well.

Risk Insights

With a bunch of improvements implemented in the past year, one of the biggest topics on the roadmap is providing users with more actionable insights regarding their token approvals. Right now a user logs onto Revoke.cash and is greeted with a big list of token approvals, but it is hard for them to understand what they all mean.

To help users make better decisions for their wallets, I want to provide them with actionable data. In 2023 I already started this by integrating Nefture's wallet health score into Revoke.cash and by integrating pricing information for fungible tokens - making it easier to see how much value is at risk.

This is a great start, but there is still a lot to be done in 2024. First order of business is adding NFT pricing data, since the current pricing data only supports fungible tokens. From there I want to add much more fine-grained risk insights that explain which token approvals are risky and why.

Ledger Connect Kit Hack

While most of 2023 was very positive, halfway into December, we did see a very regrettable event in the Ledger Connect Kit Hack. In this incident, a popular library created by Ledger was compromised and malicious actors were able to inject malicious transactions on websites that used this library - including Revoke.cash.

While the issue was resolved quickly, this event still sent shockwaves throughout the crypto ecosystem, since many popular websites were affected at the same time. Including Revoke.cash, a website that many people visit especially at times like these. Thankfully, Ledger has pledged to compensate all affected users.

πŸ™ Open Source

As in previous years, my Open Source developer tools were still a pretty important aspect of my 2023. But 2023 also brought some changes.

Truffle Sunset

In the summer Consensys, the company behind development suite Truffle, announced that they would be sunsetting Truffle by the end of the year. Over the years other development tools like Hardhat and Foundry had been taking a lot of market share from Truffle, but its deprecation will still be felt in the Ethereum ecosystem.

I had been maintaining a few libraries that were built on top of Truffle: truffle-plugin-verify and truffle-assertions. With Truffle shutting down its services, I decided to also archive these projects at the end of 2023.

It feels a bit bitter shutting down these projects after maintaining them for many years. But I've also talked about time management in previous year review posts and it is definitely a welcome change to have fewer projects on my hands.

Gratitude

Truffle has played a huge part in my crypto journey. I used it for creating my first smart contracts back in 2018, and TruffleCon 2018 was the first conference I ever spoke at. And of course it spawned my own Truffle-adjacent libraries that were used by thousands of projects over the years and have gotten over a million downloads.

Then I've done contracting work for Truffle on a few super cool features, like the Truffle Dashboard. I've met some great friends through my work on Truffle and my own libraries. So I'm very thankful for the role that Truffle played here.

And of course I want to thank everyone that has used my libraries over the past 5 years and everyone that has contributed to them in that time. In 2023, I specifically want to thank gnidan, Kaan Uzdoğan, d10r, whyvrafvr and zhangtianhao for their open source contributions to truffle-plugin-verify in its final year.

CashScript

Besides my Truffle-related libraries, my other big open source developer tool is CashScript, the smart contract programming language for BCH that I created during my time at Bitcoin.com in 2019. The Bitcoin Cash ecosystem has been adding new smart contract functionality and in 2023 adoption of CashScript has been increasing.

In 2023, Bitcoin Cash added a native token system called CashTokens that enables fungible and non-fungible tokens on Bitcoin Cash as well as expanding general smart contract capabilities. To support these new tokens in CashScript, Mathieu Geukens joined the CashScript team.

With CashTokens implemented, many new smart contract projects were created. These applications were much more sophisticated than most BCH contracts that were created in earlier years. This made us realise that we needed to make it easier to develop these more advanced applications.

As a first step towards this, we created a better, more advanced transaction builder in the SDK to assist with more complex transactions. Shortly after, mainnet_pat helped expand CashScript's debugging functionality with exciting new features. We still need to polish these features and we have some more exciting things planned to help CashScript developers create the best smart contracts they can think of.

πŸ›©οΈ Travel & Events

With COVID, we hadn't been able to travel as much as we'd have liked in the past years, so we had a lot to make up for. We started 2023 strong with a month-long trip to visit our friend Jenny in New York City and our friends Nick and almost in Philadelphia. The plan was to work and chill, but that turned out to be hard to combine. Nonetheless we had a good time!

Initially we were planning to travel some more in the winter, but after returning from NYC we were happy to be home for a while, so the next trip had to wait until summer.

In May I travelled to Prague to speak at the Prague DeFi Summit and to judge at the ETHPrague hackathon. I had a great time there as it was my first time being a judge in a hackathon, and ETHPrague used a novel judging system based on quadratic voting.

Then in summer it was time for a proper holiday. That meant max 1 hour of work each day, sleeping in, going to the beach and eating amazing food. We returned to our favourite little spot in Sardinia that we'd been before. But this time we brought some of our friends to share the experience.

After Sardinia, we continued with a month of working remotely from Gran Canaria. Chilling + working was a lot easier to combine this time around, and I suspect the nice weather had a lot to do with it. So our next winter trip will definitely not be to a cold place like NYC again.

Then during fall our friends Nick and almost were getting engaged and they invited us to their engagement party in Philadelphia, after which we stayed with them for a while longer. This time around we had a lot more time to explore and enjoy Philadelphia and some of its surroundings, which was lots of fun.

After returning home for just a few weeks, it was time for our final trip of the year, for the much-anticipated Devconnect conference in Istanbul. There I met up with a bunch of friends and we celebrated Kiki's birthday at Nicole, an amazing restaurant in the city.

2023 was definitely a year with some nice trips, but next year I feel like we should be a bit more strategic about them. So that means that it's probably nicer to stay in Amsterdam during the summer and not visit too many cold destinations in the winter.

πŸ“ˆ 2024

While 2022 had high highs and low lows, 2023 brought a lot more stability and steadiness. Now, at the start of 2024 I feel like I am in a good place to continue building on the foundations that were laid in the past year. I'm grateful for everything that happened in 2023 and looking forward to 2024.