How to build a Hackathon 🚀
Tags: webdev, tutorial, opensource, productivity
Published: 2023-04-27 13:25:15

# TL;DR
We have just released our new Hackathon [NovuConnect](https://connect.novu) 🤩
We have made sure it's super easy to participate, and today I will talk about how.
**Here are the things I am going to touch**:
- What can you get as an owner of the Hackathon
- Judging projects
- Making sure it's easy to contribute.

For those of you who don't know, we have also arranged [HackSquad](https://hacksquad.dev), one of the biggest competitions during Hacktoberfast, and we got 5000 participants in one month 😲


![Hackathon](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/b9pm1waz8zh81cuuwtik.gif)


## What is a Hackathon
Hackathons existed before the days of the internet; developers would bring their big computers, program together, and compete with each other for hours.
As the internet evolved, developers started to do the same thing asynchronically.

## Why would you want to make a Hackathon?
Usually, you would be expecting a few things:
- **Branding** - By conducting a Hackathon, you can expose more programmers to your tools.
- **Demos** - Usually, every Hackathon would focus on a tool or a company; having developers working with the tools and submitting projects will result in Demos you can later use.
- **Hiring** - The are always exceptional developers that can get you something crazy both in innovation and quality of code; that's usually the easiest way to find great talents.
- **Innovation** - Hackathon can open your product into new things you have never thought about; that's why big companies usually fund big Hackathons.

![Prizes](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/brueaj9j0o7vhbnympef.png)

## The problems with online Hackathons
I have had the opportunity to talk to different founders and understand what went well and wrong. At the same time, most hackathons got an extreme amount of registration. As a result, only a few developers would actually participate or submit a complete project. In my opinion, there are a few faults:
- **No Focus** - while developers want to participate, they don't know what to build, so providing developers with topics they can use will tremendously increase their focus.
- **No clear deadline** - I am not talking about the final project deadline but reminders about the project. It's good to let developers know their time frame and remind them about the submission date every few days.
- **Lack of resources or documentation** - letting developers contribute in any language is nice, but providing them with tools would make it easier. That's why in Novu, we have created an [SDK](https://github.com/novuhq) for many types of languages. We have also made an excellent [documentation](https://docs.novu.co) developers can look at.
- **Lack of rules and general resources** - Without good rules, you will be spammed with questions; ensure everything is clear and understandable.

## Prizes
Prizes are a tricky thing!
One thing I can say is never ship mugs 🤣

![mugs](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/igryiqoj5l8dpjpuy43g.png)

I usually prefer a digital price; it's very common to offer GitHub funding as we live in open-source. However, here are a few more prizes you should consider.
- Subscriptions to different websites such as Pluralsight and Udemy.
- Giving ranks to your contributors, making them your ambassadors, and giving them special badges.
- Hire developers (extreme)

![badges](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/owgnw7tco342azt3bt61.png)

## Judging Projects
You should usually put in the rules what you are going to test; in our case, it's:
- Innovation and creativity
- Usefulness and practicality
- Quality and completeness of the solution
- User experience and design

Developers need to know what they are being judged for so they can put their focus on the right areas.

Another significant consideration you should think is:
Can I judge a project made with COBOL?
Ok, nobody uses COBOL today, but you get what I mean.
If you let developers submit projects in any language, you might need to hire some experts (or take some from the community) to judge the projects.

## How to start?
- Build a landing page where developers can register -  make sure to register them for the newsletter, as it will be helpful to send them updates about the event.
- Invite developers to your Discord - there is a big, but if you don't have enough support, that would be hard as it's "live support."
- Make sure you provide developers with topics they can choose as it will make your life and their life easier.
- Make a new repository with a README.md file that developers can clone; in the file, add the project title, description, screenshot, and every detail that would help you (to judge the project) and the developer to have more focus.
- Send reminders to developers every few days; if you can, make some cool "code" events where you can code with them to show them how to use your tool.
- Have fun - it's always a must.

Have you registered for our [ConnectNovu Hackathon](https://connect.novu.co)? It's super fun; you have a chance to showcase your skills and play with some notifications 😉

[![ConnectNovu](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/sjj54nidh0k1koc2gisr.jpeg)](https://connect.novu.co)