This is a tribute to hackathons. It’s a cynical and exaggerated view of a hackathon experience. I’ve participated in tons of hackathons and had the chance to build memories and make a lot of friends. I think hackathons are a core part of web3 and innovation.
That’s the story of a developer trying to build a project in a 3-day hackathon with crazy, often unheard-of tech. It’s the story of a chill guy trying to build something that makes sense while winning some money and not losing his mental health. I want to describe the different phases of a hackathon and the moods I’m sure every dev’s felt at least once.
This phase happens usually 1 month to 1 week before the hackathon. It starts when you’re scrolling your Crypto X timeline and see a big number representing the prize. And you think, “Bro, that will be easy. Few people will participate, like maybe one, two hundreds?” - 1.2k people will take part in the event- “I’m gonna win the first prize”.
Spoiler, you won’t.
In this article, I’ll describe a typical IRL (in-person) hackathon.
“OMG!” you think. “Finally, I’ve got the perfect excuse to visit city X. I’ll low-key complete the project early before the submission deadline. I’ll prep early, submit by dinner, and then roam the city the next day!”
While you underestimate the workload needed to submit the project (it’s your 20th hackathon and you keep doing it!), you start asking your dev friends if they want to join your team.
Usually, you make a team with the first people saying yes because you need people that don’t lose time thinking. You need self-confident and efficient developers. Personally, I like a team of 3, but usually you can have a team of up to 5 people.
Here’s 7 web3 Web3 Gremlins you might team up with::
Burned 10x dev:
Very good with many languages, backend, and frontend. Able to make the project alone but they would never do it; they are extremely lazy. These coders have lost faith in tech and blockchain. They say the majority of things in the space are scams. They cry every night before sleeping.
Stoned backend:
To be able to perform, these rare devs need a fat joint. They are very skilled in smart contracts, low-level Linux, Kubernetes, and system admin. Very well-versed in managing keys across different machines, but if they lack a joint, they probably can’t do anything. These programmers can’t create a proper system design because they start tripping on crazy innovative tech only they know.
Ninja frontend:
They are the worst enemies of UI designers because they’re really the ones who need to put UI guys’ crazy designs in place. Very skilled and focused on details, probably they don’t lift much at the gym and usually eat vegan food.
Jolly dev:
They’re a 10x dev with zero self-confidence. They think they’re not too good at writing code, but in reality, they can solve any problem you have. Somehow, they always have the correct answer about why something isn’t working. They always make stupid jokes to mask their inner indecision and suffer from deep impostor syndrome. They follow the team in any decision because, after all, everything is feasible (maybe).
The Labrador devrel:
Angry when they’re hungry. They love blockchain and live in a magic world. They have a “Labrador” attitude, transmitting very positive vibes. They are good at programming but better at having fun ideas. Genuinely confident in the future, they talk a lot and help you until the last hour of the hackathon. They will rock the project pitch.
Narcisist UX/UI designer:
Artists. No one cares what they do but they’re probably a good friend to a team member. They want to have a voice in every design system choice. They want to prevail over devs and would do anything to show they’re artists and devs are just stupid workers, replaceable by AI.
Playboy project manager:
They just talk the talk and never walk. More useless than the UI/UX designer. They pitch the project in a way devs don’t really like because they’re not able to get the real point of the project. They drive an expensive car, and their intimate life is very active.
You team up with some of these characters. Now things are getting serious! You look for hacker houses to crash at; you hardly find one. Then you book a house near the venue. If it’s a rich country, you nearly die over the prices. Since you know you’ll spend a ton - and you split it with teammates - you think, “Yeah, I’ll grab the house with the pool to chill after hacking” - you won’t have time - “I’ll win cash, so it’s basically free.” You feel like a genius - no idea yet, but it’ll be crazy, innovative, and fully on-chain.
Can’t wait to hop on the plane to City X. You’re a bit stressed about your body shape - hackathons mean fatty food, endless snacks, and no time to move, just sitting 2-3 days straight. But you’re like, “This time it’s different. I’ll bring my girlfriend’s pink portable yoga mat, work out early before the venue. No junk food or booze.” Man, these plans sound perfect! You’re sure - even after failing this a million times - that you’re mature now, ready for an epic hackathon, coming back chill and in shape - spoiler, nope, not happening.
In this phase, you alternate between creative feelings and absolute dumbness. This phase usually starts 3 days before the hackathon and can last until the hackathon begins. Sometimes, you don’t have a clear idea until the end of the hackathon, when you realize you didn’t understand anything about your own project and probably misunderstood the scope of the hackathon - no one will ever know what these Frankenstein projects are; good luck deciphering that mess.
You feel a bit anxious, and you start thinking about what you can build, trying to integrate and combine sponsors’ tech. There are a wide blend of sponsors you can use, each promising the easiest developer experience and shilling the solution to world hunger with their decentralized tech, but in reality, the docs page returns a 404, and most of the protocols are in test mode.
You lack a good idea. If you’re a new dev, you don’t know what to build because you lack experience and don’t really get what web3 is for. If you’re more experienced, you’ve probably built tons of things and have a vague feeling that web3 is for nothing really - you’re still not sure about that. It feels like web3 could have a use case, but nothing really makes sense as of today, and all the stuff you see others building is kinda lame. You feel the need to build something you’ve never built.
Anxiety about not knowing what to build grows, and you start asking your teammates until you have a call to analyze sponsors and brainstorm ideas:
Memecoin launcher - Buy one, hate yourself:
Built on a new crazy L2 (no different from the hundreds of others), you can launch a new kind of memecoin: “insult-coin.” The name needs to be some sort of insult to remind you that you made a big mistake buying that shitcoin.
Token bridge - For the ones who like strong emotions:
You can’t select the destination chain, and it uses verifiable randomness to pick a chain ID. Good luck, go get your tokens on a random chain.
Wallet idea - Fit and broke:
A wallet where you need to do 5 push-ups every $10 transaction you make. Uses an off-chain verifiable agent to check the push-ups.
AI agent battles - AI chicken fight:
You make an arena where AI agents fight each other and other people can bet. You need to actually train the model “Matrix” style. No idea how to do it, but a sponsor has this functionality. Docs will surely be easy to follow (that’s sarcasm).
Verifiable web3 cakes - Edible and blockchain-approved:
Basically, you can give people a cake and verify it through a TLS signature. OK - not sure if I’m understanding this right or if there’s a hidden meaning here.
You realize those ideas are absurd and none make any sense at all.
You slam your laptop shut. “We’ll go to the venue and talk to devrels. They’ll suggest something for us to build.” Hopefully not that garbage.
You get to the giant venue in City X - probably an ancient church or the first-ever stock exchange - and the funny thing is, all this grandeur and art is about to host some of the most brutal tech and innovation disasters. Teenagers mixed with 45+ year-olds are ready to build the next worthless crypto project no one will use.
You skip packing - swag’s free but you arrive late, and now they’ve only got S and M t-shirts. You grab a few, but you’re 1.85 meters tall and 95 kg - these things are tiny, like the calldata space in a smart contract call. You’ve got no choice but to wear one the next day and feel like a “sausage”.
We ask devrels for suggestions and try to tie in 2 or more sponsors for a shot at cash, until finally we get the Idea! We’ll build a simple, privacy-first portfolio manager with an intuitive UI and Account Abstraction!
During the first day of the hackathon, you’re definitely in chill mode. You enjoy the venue and the food! They have all sorts of things: chocolate-based snacks, buttered cookies, bags of chips. Free coffee at all hours and energy drinks. Lunch and dinner usually offer the same stuff throughout the event - usually some attempt at local food, but with over a thousand hackathon participants, making good food for that many is tough! Result: toilets are super busy sometimes, and you seriously consider sneaking into the women’s restroom since those are probably kinda empty and clean (sorry-not-sorry).
You start working and go with the project design to align everyone on what needs doing. You split the workload with your mates, and it’s usually never really fair. The problem is one of your teammates is a visionary. He’s locked in with a new kind of zk. Except for the core engineers at the labs creating this tech, no one understands what the hell it is. Your teammate decides to force it into the project, and you agree because, hey, you’re a team of pros here to innovate.
Your task is to write the smart contracts, a strategic gig since you’ve done it tons of times (it’s your actual job), and when you’re done, you can help others with more stuff, maybe integrating extra sponsor tech. Night rolls in, and you realize nothing’s really done so far because you and the team wasted time eating and chatting with randoms, like, “Hey man, what are you building?” Maybe you need to rethink the strategy and ditch some sponsor tech to actually deliver. It’s late. After a free midnight snack, hamburgers and fries, you decide it’s time to sleep. The next day, you want to wake up early, do some sports, and get back to the venue early ‘cause morning’s the most productive time of day.
11:00 in the morning. You overslept. You actually woke up at 9:00, but you didn’t care and shut off the alarm. No time for quick yoga or proper breakfast. You wake your mates, still dreaming about zk-powered AI agents. You throw on one of the tiny t-shirts from the venue and head out “like a sausage.” Breakfast is a cappuccino and a banana, more small talk with randoms, then back to work. Nothing works. You talk to the devrel for the sponsor tech you’re using, and he basically tells you the whole idea doesn’t really make sense. You and the team crash hard. The same devrel yesterday said, “Aw, that’s really cool, guys, definitely something we’d like on our stack,” and today he’s like, “I don’t know, guys, our stack doesn’t really support that zk thingy you’re trying, plus it won’t really make any sense.” Thanks for the bait-and-switch, bro.
Time for a new strategy. Strategy meeting outside the venue - maybe grab a beer. The plan’s literally: “Let’s go inside, find a sponsor that probably no one’s touching, and build some random thing.”
It’s 20:00, and you pick a tech - some crazy protocol with a weird programming language no one really knows. First bounty’s $5k. The example page has some use cases; we decide to fork one of those example repos and build on it.
You’re wasted. None of your positive predictions came true. You feel fat - mostly ate and yapped with fellow weirdos.
The crazy ideas you had in mind couldn’t be pulled off. Deadline’s 4 hours away, and you haven’t slept at all. Your teammate’s still wrestling with the frontend. He’s stuck ‘cause he’s used to ethers.js, but the template repo got viem, and he doesn’t get React hooks. He decides to rip everything out and use ethers.js anyway.
After a while, you and the team duck into a service toilet - the only quiet spot to record - and with your last ounce of energy, you make a 5-minute video. When you stumble out, anyone seeing you’d swear you’re on drugs. You laugh, play along, sniffle a bit.
Submission window’s got one hour left, and you need a readme. You carefully skip the “how to run locally” part because the project doesn’t actually run - it walks, maybe crawls sometimes.
Pitching’s actually your favorite part. After 3 days of effort, you’ve built something that looks pretty good to your eyes. Like when your mom thinks you’re handsome, but you’re more of a sweet crocodile. You’re pitching to the main hackathon jury and the sponsors you applied for. The main hackathon jury judges your project as a whole, comparing it to all the others; the sponsors judge it based on how you used their tech.
For the main judging, you’ve got 5 minutes to connect your laptop to the screen and showcase the project. The first time you did it, you wasted time because you were so hyped you forgot how to duplicate your Mac’s screen instead of extending it. Mouth got dry, words barely came out.
But this time’s different; you’ve done it many times and gotten good. The pitch goes smooth, and the judges seem blown away. Well, they always are. Even if it’s just a Canva slide, they still go, “Wow, that’s veeeery cool! Thanks for the amazing project!”
Pitching to sponsors is easier because they already know the team and project - you’ve hounded them with questions nonstop. You keep the sponsor pitch more fun and less formal than the main judging, so the devrels factor in the “fun” vibe too.
It’s been a hell of a ride, and at 14:00, the speaker will announce the 10 winners. You’ve got a tiny hope your project’s picked, but you also don’t want it to win because, let’s be real, it doesn’t work. Luckily, you’re not one of the winners. You watch their pitches with your mates, muttering stuff like, “Oh, that’s lame,” or “Those people are geniuses.”
Finally, the sponsor prizes announcement! Tension ramps up - you don’t wanna feel like you blew another weekend coding for nothing. But at the end, your project wins:
$50 for deploying the contracts on some L2 chain
$2000 as 2nd place for the sponsors you applied for!
That’s great - you feel like a genius and It wasn’t a waste of time. Sure, you dropped $4k on travel and accommodation, and the $2050 gets split three ways with your team, but you’re still stoked.
Most importantly, you had fun, made memories, and locked in new friendships. Exhausted but happy, with a bag of undersized t-shirts, it’s time to grab drinks in the City X center you still haven’t seen!
Some pictures of the teams I had the incredible pleasure to work with at hackathons:






I’m Fabrizio, proud member of @urbe.eth and smart contract guy at @beam. Sometimes I like writing articles, both technical and non-technical. I got a tiny Youtube channel where I enjoy interviewing people in web3 space.

Fabriziogianni7
No comments yet