This past weekend, the world dove into the first (hopefully annual) virtual hackathon by Koding and I must say, it was soooo much fun as it was stressful. With near over 2000 teams from all over the world, this was definitely the goto hackathon of the year for me.
Quick rundown on the rules:
- Team of 1-5 people
- Chose from 5 themes to base your project on
- Educational HTML5 Game
- Data Visualization of world issues
- Intro to Software Developement
- Creative solution to EULA, TOS, Legal Docs, etc
- Challenges associated with communication/translation
- 48 Hours to complete
- No Mobile Apps
First a little back story, this is actually my first hackathon ever (live or virtual). Second, I was the solo member of team imkreative. I had just a huge idea when I first started doing research on what I wanted to do (crowdsourced public awareness web app). But as I got further in my research, the more I realized, that WASN'T happening in a 48 hour time frame. Torn between teaching software development or educational game, I settles on the educational game.
First 12 hours
As soon as the clock hit midnight (3am my time), I started with setting up my project. You know the boring stuff beginning stuff. This went by pretty quick though, considering I still wasn't absolutely positive what I was making. I sure did waste some time finishing up my brainstorming because I decided to switch my topic about 30 minutes before the hackathon started -_-. On top of that I was up all day when I probably should've taken a nap, but oh well, #TeamInsomnia right?? After a few drinks for motiviation I came up with my idea! A word game where you list synonyms and anotonyms to the given word.
Rest of Day 1
After an accidental nap, everything started flowing nicely. I started by setting up the backend and searching for a Theasaurus API. I built the backend in NodeJS and a MongoDB database (still my favorite database at the moment). For the Theasaurus API I settled on the Big Huge Labs API which was really straight forward to use. Then this is when everything slowed down .... I decided to really use AngularJS for the first time.......
Angular really is a beast of a library, and I really hated myself for the first 5 or 6 hours wrestling with it. But soon after, everything seemed to make sense. for the last 6 hours of the day I really got alot done on the front end of things, just learning as I go (Best way to learn). I'm actually going to try and use it more often now, I really like how everything just ...makes sense. By the end of the first day, I had the API, backend/database all set up and the basic structure for the front end done.
Fully exhausted at this point and building out the game logic, I started to realize I may not have enough time to build out a full and working multiplayer. With this in mind I shifted gears and focused more on making a robust single player experience. This was kind of dicouraging as I really had it in my plan to make a cool multiplayer game, but I'm still happy with what I ended up with in the end. During the final hours I experimented alot with using audio (didn't pan out too well) as well as creating my own directives and some code clean up. For the styling I really wanted to go for the material look of Google's new polymer project. In my search I ran into a Bootstrap theme that adapted the Material style as best it could. Slightly buggy and caused some slow down in development, but still got the job done.
The Hackathon was definitely a great experience and great fun. Learned a lot about time management and things to do differenty for the next hackathon I participate in. I encourage everyone to try and get some experience in them, they definitely teach you how to think quickly and come to solutions in really diverse ways. If you want to check out my final project check here and the code is here in my github repo