The inspiration for sleephacks came from a discussion we were having about how difficult it must be to come to a hackathon from a different school, perhaps even a different country, and have to settle right down and build something. Having a location you know you can store some valuables in, get a couple of hours of sleep on more than just a hard chair, and maybe even take a shower, could make a large difference to the hackathon experience. And what's more, hackers can make new friends in the process, as they let others use their space.
What it does
sleephacks connects hackers attending hackathons with people in the area around these hackathons. The web app makes it very easy for hackers with extra space or facilities to make themselves known, as logging in and creating a listing takes under 2 minutes. The application allows hackers to post a message with their listing, discussing what they can provide, who they are comfortable with hosting, and if they require compensation, so matches can quickly be made based on need.
How we built it
We built the app using Google Cloud services, with a python & webapp2 base, and a NDB data backend. The backend scrapes the MLH website to list all upcoming hackathons, and automatically creates a new data model for every hackathon as it's start date gets close. We built this application with the simple webapp2 framework as it allows quick development and easy updates and changes.
For the frontend, we built our design from the ground up, using straight up HTML and CSS, without any frameworks. We designed the frontend and backend simultaneously, making sure they interfaced properly so when it was finally time to put the application together, we had it running very quickly.
Challenges we ran into
Learning a new framework in 36 hours, and building a full application with it. We had never used python for any web design before this hack, and the decision to use python meant that we had to learn on the job. The end result was worth it as we learned both a new tool, Google App Engine, and a new framework, webapp2.
Accomplishments that we're proud of
Having gone from a paper design to a working webapp in less than 30 hours, leaving us with ample time before the end of the hackathon to iron out any errors in the program, remove bugs, and tweak the user interface.
What we learned
Don't build too deep into one feature before setting up the framework for the entire project. At one point, I had to re-write a portion of the backend because one feature became incompatible with another, simply because they were both developed separately. If a developer builds too much of one feature at a time they lose touch of the overall picture.
What's next for Sleephacks
Extending to hackathons beyond MLH: sleephacks just works for MLH hackathons right now, simply because this is the site we decided to scrape. A next step would be to extend this website to include more hackathons, possibly to every hackathon in the world.
Other methods of sign in: The only way to sign into sleephacks as of now is through Google. While we decided it was the most likely common ground for hackers, it is by no means sufficient to capture every single hacker. Facebook, twitter, github and LinkedIn integration should all be supported down the line.
Big differences: An important update to sleephacks would be to extend how hackers can connect with one another. As of right now, email is the only way. An in-application method of communication would help to preserve hacker's privacy and personal contact details.
sleephacks can also be extended by a more robust sorting system, with built-in filters to help narrow down the kind of accommodation or resources that are provided. This could be further enhanced by adding more categories to the listing addition system to include paramaters for showers, mattresses and so on