The Cloudoki team had a chance to participate in the Hack for Good 30 hour hackathon, in good'ol Lisbon.
This year's edition challenged developers and other eager minds to come up with viable solutions to improve our Senior citizens's way of life, on different levels.
It's very important to come up with a decent plan of attack since time was of the essence. Here is what we did:
1. Brainstorm your project
Typically hackathons are all about brain picking, which basically means that most of the creative process will happen during the hackathon itself. That's part of the fun.
While brainstorming, make sure your ideas focus on one specific problem, and how your product will fix it. In this case, less and more specific is more.
We limited the brainstorm session to an hour or so, with several rounds of spin-offs to our own ideas. In the end, we had about 4 or 5 pretty good, but different possible projects.
2. Validate & fine-tune it
Hack for Good brought a group of high-spirited seniors to help us validate our ideas. It also had a set of experts in different fields of senior care, with the purpose of evaluating the projects and fine-tunning them.
These two groups together are sure to know what is lacking and what makes sense to build.
With that, we narrowed the projects down to ""the one"". The Neighborhood social app.
3. Define the scope & priorities
It's imperative to define the scope and the priorities, otherwise what's important might not get done in time. Focus on the most relevant features, leave the nice to haves if there is enough time for niceties.
4. Assign tasks & deadlines
Love them or not, they are the most accurate way of evaluating progress and potencial bottle-necks. The shorter the deadlines the better.
Our team had different profiles, divided into design, front-end, back-end and mobile-native (aka full-house), so there wasn't much debate on who did what. We get along like that.
5. Pick thy weapons of choice & be pragmatic about it
During a hackathon, nobody cares about unit testing, documented and reuseable code (except Carlos). We need to get our project going as fast as possible as a viable POC.
This means that if some framework, piece of code or approach isn't working, let's not waste time on it. Time to hack the hack. We know we can do it properly when we want, now is the time to indulge and not feel dirty about it. Having said that, we chose the fastest tools and approaches possible.
The core app was built in cordova, back-end in silex, using our own hacked up version of webrtc.
Fortunately we already have quite a lot of repositories and applications built into our workflow that help a lot during any development process. Things like deploybot, and boilerplates for both back and front-end are always a huge help in getting things done on a solid base.
Let the hacking begin & enjoy yourself
Having fun is a must during a hackathon. The environment, the stress, the small milestones one reaches during the hours, culminate into an amazing event where everybody learns something and has that distinct feeling of accomplishment. Like building a house, but with a lot of RedBull cans.
After 30+ hours of little to (actually) no sleep, what you get out of a hackathon is pretty much priceless. We encourage anyone to join one of these at least once, although we're pretty sure it won't be your last.