In the IT world "hackathons" are highly entertaining social events where tech folk put their heads together to do what they do best. Given a small time frame (such as 48 hours), you’re tasked with building the best app you can make. Not only do you get to work in cool technologies, but you get to meet other tech enthusiasts. These communities not only love to work in code, but perhaps may enjoy other aspects of Tech and Geek Culture, such as Anime and Video games.
Let’s not forget to mention all the other things: The free food, the pizza, the toys vendors bring we can try out, and the free swag. Plus, if your project is good enough, you may be able to turn it into a startup. The events are a blast, but unfortunately, big-scale events aren’t possible right now. It may be a while before we can host these kinds of events in person again, but that doesn’t mean we can’t have them. Doing them virtually can be fun as well!
Technology gives us the privilege of having a ton of remote tools that keep us organized and effective while working from home. The challenge now is taking what we learned about a 40-hour workweek and applying it to a 48-hour event.
Let’s get started with what makes hackathons work. My experience is more involved with Game Jams, but the lessons and tips I provide should be just as applicable.
Typically, hackathons follow this general schedule depending on if it’s a 24-hour event or a weekend event.
- Opening social
- Kickoff speech
- Pairing of teams
- Design focus group
- Break for the evening
- Next-day regroup/possible housekeeping (breakfast added)
- Coding time
- Lunch break
- Afternoon coding time
- Afternoon ice breaker/snack break
- Dinner break
- Head home unless it’s an overnight event
- 2nd workday, usually cutoff mid-day
- Demo session
- Final awards
- Final social
Some of these things are not possible like they were when we could have big events, but we can still enjoy several of these items even if we are working from a remote location. Here are the tips I have for getting through each of these phases.
Pairing of teams
When hackathons first start, oftentimes attendees without a team will share their skills and find where they can best contribute. In the case of a remote hackathon, you’ll need to include this step. Thanks to our tools, it’s very easy. What you need is a good app for chatting. There are two great and free apps to choose from Slack and Discord. Chances are if you work in IT, Slack is your primary tool. If you game, Discord is your primary tool.
Both communication tools are pretty good, and you can’t go wrong with either. If I had a say in the choices, I would recommend Discord over Slack. Discord gives you the ability to have voice channels that are easy to hop in and out of, and it includes streaming abilities as well. This makes it great to have a socializing channel, team channels, and other channels you would like. However, Slack does have its own abilities — such as threaded conversations.
Once you agree on a tool, create a chat server before the event and share it with others. This allows people the chance to introduce themselves and share their skills well before the competition starts. However, this doesn’t mean there isn’t a kickoff to give people a chance to pair up.
Have someone take the role of facilitating the kickoff which involves going over the rules, and helping find people to match teams with. Do your best to find a time zone that works for everyone, but don’t worry about being perfect. Attendees don’t typically mind losing a little sleep during the opening kick-off event.
Once the concept for the game has been established and tasks have been determined, people break off and work on their own tasks based on their schedules.
How to find an event to join
Several sites can assist with finding general hackathons if you are looking to participate in one. With everyone remote, it’s a lot easier to schedule one, since you don’t have to worry about logistics for finding a facility to work out of. Here are some sites to start looking for hackathons at.
If you are looking to join a Game Jam, itch.io is the go-to source. There is always some kind of Game Jam happening on their site. In addition, most of these jams have a discord server, so you can find a team as well.
Some other jams such as Ludum Dare don’t have a centralized server, but instead have just a single site for submitting an event. If you want to join one of those but are looking for a team, check out some of the Pixel Artists and Game Developers on Twitch. Oftentimes, you may find a community of artists and developers that want to participate, but need teammates as well. Try your workplace and local community. The website Meetup is home to several tech organizations, and you may find some in your community. There are several places online to find a team, and you can even organize one yourself.
Tips for creating/organizing the team
To have a successful project, you have to know the project needs and find people who take on those roles. What you don’t want is to have 6 developers, for example. Based on the Project, here are the needs:
- Application Developer/ Frontend Engineer
- Services Developer
- UI/UX Designer
- Game Programmer
- Specialized types if needed (Multiplayer, procedural)
- Game Designer (Story)
In addition, you want to make sure that you have a gatekeeper for future designs once the general design is in place. This is usually the team lead. You don’t want to fully prevent others from suggesting ideas, but you don’t want fundamental changes to a weekend project. The project needs to maintain its focus, which involves locking in the design after it’s been established.
One final tip if you are dual skilled, stick to that skill for the weekend. The team needs to be focused, and having smaller, dedicated sub-teams will make that progress. For example, if you are a designer and a coder, stick to one of those. As for myself, I can do Pixel Art and Game Programming, but I’ve been sticking to Pixel Art during the Game Jams. It’s better that way too since I get a change of pace from my day job (which involves coding).
Next steps: let the project commence!
So you have your team, you’ve kicked off, and everyone has left the stable.
If you have followed the above steps, you are in a great place. From here, get your sleep schedules adjusted and commit to when you get something done. Try to get a few hours together; oftentimes you can easily find a good section of overlapping time. If you’ve established the roles, you should be able to have independent sections of the app individual teams can work on without over-reliance on the other. Apps have a lot of setup steps involved, and games can be worked on with placeholder art.
Once the designer or artist finishes their part, the team then uses those overlapping times in the day to integrate their parts. It may seem odd to use fake assets and designs to get an app going, but this is a great process in the professional world as well. Getting used to this can help you establish good prototyping practices for other projects you have in the future.
The last remaining step is to establish a cut-off time to where you do a final build of the product to publish and release for a demo. Oftentimes you want something deployed to demo, and you want to have a few hours to make sure your current work is polished. If more time is remaining, more can be added to the project (but only if you know for sure your deployment processes are in place).
Submission Page for a Game Jam on itch.io. Make sure you have a final build to share with others no matter how much work you’ve accomplished!
One thing that is fun about hackathons is time to socialize and do fun ice breaker activities. There are several ways to have these work remotely.
The first step I recommend is to have a social channel on your chat server. Discord makes it incredibly easy to have a voice channel you can pop in and out of. In addition to chatting, the server supports screen sharing, making it perfect for trivia-style games like Jackbox. This also works great for other games such as Among Us. There are a ton of free games out there, from trivia all the way up to First Person Shooters such as Apex Legends. Look at the dynamics of the attendees, and see what works best!
Also, consider streaming some work to Twitch channels. It’s easy to share and broadcast any work you are doing. Share code, art, anything you like. It’ll make the event seem more alive and active.
Among us is a great social game that’s easy to learn right away. It’s also available on all platforms, and some for free.
Adding flavor to the event
Food has always been a fun part of the event, but who says that can’t happen again? Before most competitions myself, I would gear up with a 12 pack of Coke Zero and a few monster drinks — a hackathon tradition. It’s also very easy to provide special meals for others as well. Local Kansas City businesses such as Clustertruck allow for group orders to occur, and you can even send vouchers for attendees to take advantage of. Other good choices include Grubhub and Doordash. They provide a way to give vouchers to others. Even snacks can be delivered to others with the service GoPuff. Lots of great ways to provide food for the event!
Having a closing event to demo and show any projects completed is important, but easy to do as well. It would be planned like any other event. You get on a chat server and allow teams to present their project as you would an in-person presentation. Allow one team captain to share, give them 5 minutes, and give judges time in the end if it’s a competition. Allow extra time to socialize and consider offering up a game.
Benefits of remote hackathons
Hackathons are designed to be in-person events, but doing them remotely can be just as fun. With game jams, I have been able to find great teams from all over the place. I’ve worked with piers around and close to my hometown of Kansas City to working with people over in Europe — all in a weekend event.
Even when in-person events happen again, I plan to have a mix of both in-person and remote events. You never know who you will end up working with, and the experience can be a memorable one!