An index of useful tips, tricks, resources and guidelines on how to make the most of your hackathon experience.
- Use boilerplates or starter packs to cover some of the basic stuff. No need to reinvent the wheel! Focus on the core functionality of your MVP (Minimum Viable Product) or your prototype.
- Timebox everything! Make a small mental roadmap and stick to it. Don't waste too much time on any item. Use your time wisely!
- Divide and conquer! If you are participating as a team, make sure you organize and divide your tasks efficiently.
- Don't obsess over very low-level details, earlier on in the competition. Focus on the core functionality and add "good to have" features later on, once it is complete. Keep it simple and improve incrementally.
- Do your homework. Refresh your skills for whatever platform you hope to build for, before the hackathon. This helps greatly speed up the development process.
Since you're on a time crunch at hackathons. It's always a good idea to avoid reinventing the wheel and wasting time on the basics by using a "boilerplate" or a "starter pack". They provide you a basic foundation to build your solution upon. There are tons of open-source, free to use and modify boilerplates/starter packs out there. Here's a small sample of what they're like:
- NodeJS (Express)
- React JS
- Python (Django)
- Vue JS
- Ruby on Rails
- C# (ASP.NET Core MVC)
- React Naive
- Android (Java/Firebase)
- iOS (Swift)
- Facebook Login Samples
- Facebook Messenger Bot Samples
- Graph API Webhook Samples
- Facebook Instant Games Samples
- Facebook Developer Docs
- Google Maps Javascript API
- Twilio API
If you build a great product but are unable to convey that or present that to the judges then it's as good as a "not so great product". Make sure that you document and present whatever you've built in the most effective manner possible. I can't stress this enough, it's half the challenge. Set aside dedicated time to work on the documentation or presentation (if applicable). Always, have a clear, working example of your product prepared beforehand.
Focus on the problem that you're trying to solve. This is also very applicable to theme based hackathons as well those in which you are required to use a certain set of tools or technologies. Be aware of the weightage of different aspects of the evaluation criteria and strategize accordingly.
The idea of building something over night is both exciting and intimidating. One might attend a hackathon for a number of different reasons. In my opinion, hackathons can be a great opportunity to:
- Learn new technology and add it to your skillset.
- Meet new people. Hackathons are usually a team-based activity and you get to engage a lot with other people.
- Brainstorm and explore new ideas of solutions to build.
- Validate and prototype your project or product ideas (if they align with the theme and rules etc.).
- Challenge yourself. Put your skills to the test!
- Add to your portfolio. The projects you build, even your participation alone can become a part of your portfolio. The fact that you participate, shows that you enjoy being a problem solver and are interested in hacking. It is highly advisable to document and publish your projects on GitHub / LinkedIn etc. to showcase what you've built to an even broader community.
- Broaden your perspective. You get to observe what your peers are building. This can be an inspirational experience.
- Have fun! Enjoy the healthy competition (most important).
- Maybe even win prizes, however, this should be the least of your priorities. Focus on challenging yourself and building cool stuff!
Understand that there are no losers in hackathons! You learn a lot within a short span of time. You meet new people, have fun, build cool stuff and add to your portfolio. Isn't that a big win already!?
Here's a list of other useful resources worth looking at: