I was sitting in my bedroom, watching Silicon Valley, episode S4E1, when Russ asked Richard what the one thing he would build if he had unlimited time and resources. His answer was "a decentralized internet." And I was like, what the heck is that? That would be your reaction when you first heard about this fancy term.
I had always been interested in computers and coding, and I had built all sorts of things, from Discord bots to Python scripts to simple WordPress sites and games. But after hearing about the decentralized internet, I knew that's what I wanted to focus on.
Gm gm! My name is Vedant, and I'm a developer and technical writer. From the beginning, I've been passionate about creating things, just going out there and building stuff. Still, I never thought I could do something as ambitious as making a "decentralized internet".
I started reading books and articles about blockchain technology and building small projects from various boot camps. The more I learned and built, the more excited I became. Then, one day, I had an epiphany: I wanted to be a Web3 developer.
Here we are now; I've been building in the Web3 space for about a year. However, as I realized it takes a lot of work to keep up with the ever-growing number of new product launches, I wanted to join a developer community where I could learn from experienced developers.
I heard many good things about Developer DAO through Lens Protocol and Nader Dabit. I was particularly impressed by the DAO's vast developer community and its Dev-n-Tell sessions.
I immediately got some CODE tokens and joined the DAO 🚀
How I Started With Hackathons
I'm unsure if it's my competitive spirit or my love of free pizza, but I've always been drawn to hackathons. My first hackathon was Ethos, a completely offline event mostly oriented toward cybersecurity but also had a blockchain track. Me and my friend went there as a team, and to my surprise, we were the only team building in our track.
That's when we questioned ourselves: Are we too early? Is there any point in doing all this?
But we persevered and built a simple crowdfunding application with NFT rewards. We won that track, but the experience could have been better. I didn't learn much from the hackathon and started discovering developer clubs. This was the time when I joined Developer DAO, and my hackathon journey began.
Not all hackathons go as smoothly as you might have thought; they can also be challenging, especially if you're new to hackathons or coding.
One of the biggest challenges I faced when I first started participating in hackathons was the documentation. The documentation for new technologies and products can be confusing, especially if you're unfamiliar with them. Sometimes, the documentation is outdated and doesn't match the current version of the technology or product. This can lead to a lot of frustration and wasted time.
Another challenge I faced was the need for developer support. Not all hackathons have a large developer community. This can make it difficult to get help when you get stuck. And when you're on a tight deadline, every minute counts.
Finally, bugs are always a challenge in software development, but they are especially frustrating during a hackathon. When you're under pressure to deliver a working product in a short amount of time, every bug feels like a major setback.
How I Got Better at Hackathons
I remember the first project I made for a Developer DAO hackathon: a simple newsletter service that sent Web3 onboarding emails using Mailchain. It was a really simple project, but after seeing other people's projects, I asked myself, "How do these people build such amazing things?"
I felt like I was in a bad situation. I didn't know how to learn how to make those types of things. But then I realized that the obvious path was to check out their projects and see how they had implemented things. I could understand their thought process while they were doing those projects.
My major takeaway from that hackathon was: Learn from other people's projects. It gives you a great idea of how to make amazing projects yourself.
For example, if you've participated in an ETH Global Hackathon after the results are declared, you can see all their projects on their showcase page with source code and live demo. Just try them out and see what interests you. Play around with them. This will give you more creative thinking ideas for projects, and you will also learn how to do things that you thought were previously not doable.
Another thing I learned after giving hackathons is that most people don't continue with their projects after hackathons. This was the same thing for me at first. It's like the meme of half-eaten apples and my uneaten projects.
But if you believe in your project, continue it! This is a great thing to do after a hackathon. Just rewrite things and make your hackathon project more optimized, more organized, and better in general. You'll learn various new things just by thinking of alternative approaches to implement a single feature.
Writing Technical Articles for Hackathons
If you have a simple hackathon project or you don't feel like building a full-fledged project, writing a technical article is a great option. Some hackathons offer a separate track for technical articles, such as the Mailchain, MINA, and Phala tracks at Developer DAO hackathons. They are a great way to grab some additional prizes and recognition.
To write a technical article for a hackathon, simply choose a topic related to your hackathon project and write a concise tutorial on how to build it.
I've written a few technical articles for hackathons, and it's a great way to learn the product on a much deeper level. When you write a technical article, you have to explain the product to your audience, which forces you to research it and understand how it works. This can be helpful, especially if you're new to the product or technology.
Another benefit of writing technical articles is that it's a great way to share your knowledge. I've received a lot of positive feedback from people who read my articles and found them helpful. It's a great way to connect with other developers and learn from them.
At one hackathon, I decided to write an article about how to use a new blockchain platform called Mina Protocol. I had never used Mina before, so I had to do much research. I wrote an article on "How to Build a zk-Airdrop App with Mina Protocol", and I won a prize for the best technical article at the hackathon!
So, If you're looking for a way to contribute to a hackathon without building a full-fledged project, writing a technical article is a great way to learn new things, share your knowledge with others, and even win prizes!
Highlights from the Hackathons I Won
I've been in Developer DAO for almost six months and have participated in three hackathons. It's been a great experience, and I'm proud to say I've won prizes in all of them. Here's a small overview of each hackathon and my experience.
Mailchain Hackathon
This was my first Web3 hackathon and my first DAO hackathon. I built a simple Web3 newsletter mail sender where once a person joins a newsletter, they are sent a welcome Web3 mail using Mailchain directly to their Ethereum address.
While doing the project, I also wrote a technical article on the implementation and how to use Mailchain. It's a great way to learn more about the technology and share your knowledge.
Mina Hackathon
My second hackathon was the Mina Hackathon. This time, I was hacking with a friend, Peter, a Developer DAO member. This hackathon was more challenging because Mina doesn’t use EVM but utilizes zkSNARKs to maintain a constant-sized blockchain. So, we needed to familiarize ourselves with a new stack.
In that hackathon, Peter and I tried to build a job credential verifier called zkTalents with GitHub activity and other off-chain data using oracles. We could implement the logic and SnarkyJS contracts and run them successfully, but we failed to integrate them with our front end because of the complexities with web workers.
Despite this setback, we still managed to secure third place in the hackathon for the implementation we did. Apart from that, we both won prizes for technical articles.
The takeaway from this is that it's okay to fail or not do things that you had planned earlier. It happens as hackathons are limited-timed events. Just try your best and learn from your mistakes.
Phala Hackathon
The Phala Hackathon was the most recent hackathon I participated in. This hackathon was divided into two parts: the Early Lens Hackathon and the Main Phala Functions Hackathon.
For the first part of the hackathon, I made a threshold-based roles website using Lens API and OpenZeppelin roles. It lets you have different roles based on your Lens followers, similar to Discord roles but on-chain. I even won second place for that!
For the second hackathon, I was feeling a little creative. For a long time, I wanted to build a Web3 game, and this hackathon let us do that. We could use any data worldwide, so I thought, "Let's make a game!"
After some brainstorming, I came up with the idea of making a crypto betting game using real-time crypto data. We're all amazed by the real-time ticking charts for different tokens, so I recreated them using Binance WebSockets and built an entire game. I won the "Phat" sub-prize for the project.
So, sometimes, you should have fun in hackathons. Build what you want and push your limits.
My Strategy for Winning Hackathons
There is no one-size-fits-all strategy for winning hackathons, but the one I'm about to share has served me well so far. I call it the 3 a.m. Process because I mostly come up with my best ideas late at night.
1. Brainstorming the Idea
The first step is to brainstorm ideas. Think about the basic features you want your product to have. Start with some basic ideas that you can build quickly. Then, think about what you use in real life, like messaging, social media, or payments, and how your product could improve them.
The more you discover other people's ideas and research the product, the better your creative juices will flow. So, go to other hackathon pages and see what other people have already built to take inspiration for projects. Think about something that you could implement based on them.
2. Validating the Idea’s Feasibility
The most important step in the process is validating your idea. Once you have brainstormed a project idea and are happy with it, you must ensure the implementation is feasible. You have to think about every interaction in your project and think, "Is it possible?"
When validating your idea, be sure to think outside the box. Don't be afraid to challenge the status quo.
I like to use FigJam or some other flowcharting program to make a user flow for my project. This lays out the entire flow of my project and gives me a clear path to follow. For individual actions, I can see if they're possible or not. I can also use this to decide my tech stack and plan out my features in the app.
3. How to Start Hacking
Once you have everything planned out, you need to start working on your idea. Hackathons are typically short-timed events, ranging from 36 hours to a week, so you must use your time efficiently.
Leverage Starter Kits, SDKs, and Frameworks
Starter kits are a great way to save time and get started quickly. They provide you with a pre-built foundation that you can use to develop your app. I have a specially set-up starter kit that I use for myself, which has certain technologies and UI libraries that I'm most comfortable with. Everyone should have a similar starter kit for themselves because everyone has different interests in tech stacks and different preferences.
Another tip is to use well-known SDKs and frameworks in your projects. This way, if you get stuck, the answer is already out there on the internet.
Take Regular Breaks
If you feel lost or drained during the hackathon, don't be afraid to take a break. Go outside, touch some grass, have coffee, and clear your head or talk to a friend. Hackathons can be stressful at times, but they can also teach you a lot about how to build things quickly and test your patience.
Wrapping Up
Wooh! That was a long journey, but we made it. We covered a lot of ground, from what hackathons are to how to win them and everything in between.
New chains and protocols are popping up every day, and new ERC standards are coming out all the time. It can be tough to keep up with it all. But hackathons can be a great way to learn about new protocols and products and to stay ahead of the curve.
And let's be honest, who doesn't love fat prizes and swag? Hackathons are a great way to challenge yourself, build something cool, win a prize, and make precious memories.
If you're new to hackathons, Developer DAO is a great place to start. Hackathons are happening constantly, and the community is incredibly supportive and welcoming.
Until next time...and remember, WAGMI forever!