I have never participated on an hackathon before, mainly because their tend to be organized far away from Lisbon. This time though I found out about the Global Hackathon promoted by Koding and decided to participate with my business partner at Reality Connect.
We have been thinking about this idea for a new project we called Chat as a Service for platforms. The idea was to create a service that would substitute and improve the way users communicate and negotiate in platforms that connect two different kinds of users, typically "sellers" and "buyers".
Anyway, about the Hackathon, given our lack of experience in these events, I started planning for it a week in advance by open sourcing my bootstrap-loopback-fullstack, testing it on Koding VMs, sketching everything on paper and listing what had to be done.
I felt pretty confident that everything would go without any major setbacks at this point. However, I have to say that we run into a lot of problems during the coding weekend.
We stated by wasting a lot of time setting everything up. We had problems with our computers, with the co-working software, with the production server setup (mainly with Phusion Passenger due to lack of experience).
And in the end, just before delivery, we did not have enough time to test and correct all production errors. Things were looking good with our development environment but everything was breaking in production.
Can't describe it better then saying that we just managed to deliver the project 30 seconds before closing time and several parts of the project were unfinished or broken.
A few points we learned that weekend:
What not to do:
Do not tryout new and untested setups and frameworks. I tried setting the production server with Phusion Passenger with nginx to serve static files and control the nodejs server and it backfired. I had no experience with passenger and this move cost me a couple of wasted ours before I gave up on it and moved to a nginx+pm2 approach.
What to do:
Make sure all your machines are setup and tested before the event.
Simplify your project as much as possible. There is probably a lot of stuff that are not that important for the prototype you want to create for such events.
Save at least two hours for production testing and final bug correction.
Sleep and make breaks when you are too tired and your production is low and don't forget to eat.
We had a lot of fun during the Hackathon weekend. The whole experience was great, we learned a lot in the process and feel a lot more confident and prepared for future events and ultimately, we ended up with a new project that finally started and we promise to have a fully functional service during the next couple of months.
I want to thank Koding for the event and congratulate all participants. I have seen a lot of cool ideas among the submited projects and hope some of them can be further developed to full projects.
I urge you to participate in future Hackathons if not for anything else, at least to test your self as a developer with tight schedules.