Hackathons were my entry point into Ethereum development. In January 2020, I went to EthLondon as COVID loomed, then a couple of remote lockdown hackathons introduced me to Austin Griffith and what became the BuidlGuidl (the rest, as they say, is a cliche).
I have been on a bit of a hiatus recently as I focused on The Graph and my family, so I was excited to get back into the water with EthGlobal’s Agentic Ethereum hackathon over the last week or so, teaming up with Elliott and Philip from the BuidlGuidl. I might write a bit about what we built at a later date, but my most immediate reflections were about the hackathon experience.
Hacker’s paradise
Any Product Manager worth their salt knows their Marty Cagans: value, feasibility, usability, viability. These are relevant to hackathon projects, but the emphasis is much more on feasibility (within the deadline) and usability (of the demo). Having a sufficiently compelling proposition (value) is important, and if you wanted to take your project further you might need to think about viability, but first and foremost you need a usable, deployable app.
Of course there’s a counter-argument that this “build first, ask questions later” mindset is symptomatic of crypto’s more general problems, but that’s not helping you finish your project on time.
Pick your prizes
Another “unreal” aspect of hackathons is the presence of prizes. As a hacker, you peruse the sponsors, and wonder how you might build something that appeals to one or several of them. There is danger here - if you try to meet too many eligibility criteria, your project can become a chimera of misfit pieces. I would counsel going deep on a couple of them, rather than trying to appeal to them all, and pleasing no one.
Less talking, more walking
At the beginning of the hackathon, everyone has the same question - what is your idea? And it is easy to stay in that mode for a while, debating the merits of different options. But it is better to start moving, to start. You can always course correct along the way, and maybe you lose some time to failed experiments, but you will lose more time to inertia if you let it take hold.
The “right” path is always obvious in retrospect, but know that you almost certainly wouldn’t have found it by ideating more. You can only see it because of the wrong way you did choose to go.
Deadlines are good, actually
Nothing focuses the mind like a ticking clock, and it is amazing what you can get done in a short space of time - “slow is fake” really hits home when I look back at the state of our project with less than four hours to go. It required intensity of effort, but that four hour locked-in stretch was very enjoyable, and zooming out, we got a lot done in a just over a week. Can you work at that level all the time? Maybe not, but it is definitely good to test the edge of your capabilities, to go as fast as you can.
Having said that, I do wish we had been slightly more prepared for project submission, though we weren’t alone in the last-minute rush (apologies to the EthGlobal servers, thanks to EthGlobal for being cool about it).
Stay on the critical path
Related to the above predicament, if your “happy path” user experience doesn’t work and you find yourself working on something else, then stop immediately. You need to have a clear-eyed view of what simply must get done before you spend any time on edge cases.
Of course that isn’t what I did this time round, as I found myself building a web3-native session-based authentication system, reworking a Coinbase checkout component to handle more types of wallet and creating a robust backend purchase verification system… you get the idea. Of course doing random things along the way is the hacker’s prerogative, but all that contributed to our last minute crunch.
This applies to regular product development too - but with real-world products it really does matter if you aren’t supporting all the edge cases, or if you are leaving gaping security holes. For a hackathon you might be hindering your happy path, and time is running out.
I had a fun time
If it isn’t obvious, I enjoyed myself! Hackathons are a great way to force yourself out of your comfort zone and try new things. It was a rollercoaster, but I learned a lot in a short space of time and we built something fun along the way.
Credit to EthGlobal who run a slick event, and shout out to the sponsors. Hackathons are a core part of Ethereum developer culture, and I'm glad to be back.