I had previously done one hackathon and during my Flatiron bootcamp I decided to do another one with my classmates. Myself and 3 other classmates came and after presenting our idea we had 6 people join us!
I was in charge of leading my hackathon team and learned a lot from that experience. Overall the hackathon was a lot of fun and I really want to do more. I left the hackathon understanding where my leadership fell short.
Hopefully you can learn something from my mistakes too!
Understand your expectations
Hackathons can be a ton of fun. You get to work with a lot of different people and get experience collaborating and working in a team. You can gain experience in new areas or improve skills you already have.
If you're thinking about doing a hackathon or leading a hackathon group I think it's important to figure out your goals.
Do you want to learn a new skill like UX design? You could join a team whose idea is just in the beginning stages and create user flows.
Want to contribute some code? Maybe join a group that already has some designs or a group with an app that needs some updates and tuning.
After the hackathon I realized my goals were too lofty and there way no way I was going to get everything done in 8 hours. I came into the hackathon with only a general idea of what the app should do. And our designs were quickly sketched on a piece of paper.
While there's nothing wrong with this approach, I wanted to leave the hackathon with a home page, login/sign up page, and an events page. Because my idea wasn't fully thought out, our team spent a lot of time discussing what the app should do and what it should look like.
Finalizing and iterating on an app idea and designs is great goal for a hackathon but because I wanted to do more coding, I couldn't celebrate this accomplishment.
Be realistic with your time.
Solidify your app idea
This goes hand and hand with the first point and really depends on what you want to get out of the hackathon. Because I wanted to end the day with some pages coded up, I should have spent more time refining the user stories and design.
Especially for a hackathon, keep the user stories simple. If you only have a general idea for an app that's okay too! Just remember to tailor your expectations to that. Coming into a hackathon with a general idea is great because you can get different opinions and leverage other peoples' skill sets.
Maybe you're working on an app for dog lovers. Talking to potential users about their opinion or what they would like to see is a great way to solidify your app.
Prepare ahead of time
Because I wanted to leave the hackathon with progress made on the app, I should have done a lot more preperation before the hackathon. Onboarding teammates and diving up work was very hard, but a lot of that could have been solved ahead of time.
Similar to good open source projects, I should have come in with a Github repo already made. A good README that included installation steps can go a long way. Eliminating any barriers before we even started to code would have been a huge time saver.
Github repos also have their own projects section where you can create a kanban board. Resources that anyone of the team needs could be kept here along with tasks for the hackathon.
Because I just had a general idea of what I wanted to get done, it was hard to split work into small tasks that felt approachable for my teammates.
Since I wanted to have a home page I should have broken down the home page into different pieces. That way the task is more approachable than just build a home page, and it's easier for everyone to work in parallel.
Another one of the pages I wanted to get done was an events page. The events page would pull events from the backend and display all the events in a grid with a bit of information.
Mock data is your friend. I could have seeded the database before the hackathon or generated fake data with Faker.
Having mock data already made would have made it easier to work on the frontend and the backend. Frontend could use the mock data to finalize the layout and styling. Backend could have worked without pressure of the frontend being blocked.
I can't wait to have time to go to another hackathon and put these improvements to the test. I hope this encourages you to maybe lead your own hackathon team. Thanks for reading!