PixelsCamp, a hackathon is reborn

11 October 2016 Tagged: programming hackathon conference

Hackathon’s are pretty cool, but here in Portugal they’re also quite rare. For years we had Codebits, organized by the web dev arm of the biggest telecom provider in Portugal and it was sweet. Regretably though, 2014 was the last year it was organized. A €1B scandal and almost bankruptcy that forced the telecom provider to be sold to the highest bidder probably made sure Codebits would not return.

But people are cooler than companies, so the original founders of the conference/hackathon got together, now in a new company, and they put together an awesome come back of the most amazing event for hackers in Portugal. I can’t imagine all the work that went into putting it together. I’m also pretty sure it was the biggest attendance ever with over one thousand people in LX Factory. I remember previous ones having around eight hundred people, with a bigger venue. Things were cozy this year!

LX Factory hosting PixelsCamp The venue - LX Factory

How you get there

There are no tickets for sale. You apply with a profile and you pitch yourself for a spot. It helps if you’ve gone before and completed the hackathon challenge, but they accept loads of new people every year. You’ll also get in if you’re giving a talk, or qualified for the CTF security competition and so on. Basically you’re accepted if you can show that you’ll be a good sport and participate in a bunch of stuff (the most important one being the 48H hackathon).

Activities

Not only you have the main hackathon challenge where you’re supposed to produce a hack in 48 hours, and a full calendar of talks, there’s also a lot more going on:

  • CTF - (capture the flag) security competition (with qualifiers before the event)
  • Quiz Show - TV questions-and-answers type show done live with a focus on nerdy questions
  • Presentation Karaoke - You get a random slide-show and a microphone and you need to make the best of it
  • Lightning Talks - Quick presentations about something you want to present but not commit to an actual talk
  • Sumo Fight - Two sumo wrestler costumes and one ring, only one winner
  • Board Games - Bunch of board games and a competition
  • Hell-in-a-Bun - Increasingly spicier “bifanas” (a bun with meat inside) that get ridiculously hot
  • Movie Screening - “What comes next is the Future”

I probably forgot something so here’s a nice video overview of the event:

My experience

My approach this year was to really focus on the hackathon. In previous years I tried to take in a bit of everything and even though that had been awesome, we never had a very polished product in the end. So this year, I sat down, came up with an idea with a friend in about one hour and we got to coding. I didn’t watch a single full talk (popped into a friend’s for moral support!) and went full steam ahead with coding.

  • By hour 1 we had a team of two people.
  • By hour 2 we had an idea.
  • By hour 3 I’d launched EC2, RDS and Elasticache instances + EIP.
  • By hour 4 we grew our team to three people.
  • By hour 6 we had a GitHub crawler, a Django app with GitHub registration and all the data models mapped out.
  • By hour 8 we had a fully configured server with nginx+uwsgi+Django with a ./deploy.sh “build pipeline” and our app was live.
  • By hour 9 we had a name for the app, bunch of crawled data, and a faked flow for users to get snippets from GitHub.
  • By hour 12 we had re-skinned bootstrap to look like our own thing, bought the domain name and pointed it at the server.
  • By the second day we iterated on the web app, got a tip from a friend who told us we should ditch the GitHub crawling and just use data from people who signed up.
  • Throughout the day we implemented pretty profile pages, a swipe-left-or-right page for snippets and did the code to actually get snippets.
  • We also sprinkled a few emojis and decided it would be cool to have real time chat when you matched someone but would probably be to hard to do in such little time.
  • By the end of the day we had an “algorithm” to match people together.
  • During the night we implemented a frontend for a message box type thing instead of a real time chat and made it pretty.
  • In the morning of the last day two of us fixed bugs and another decided to try a stab at real time chat.
  • Disregarding websockets and doing an Ajax poll chat box, in 2 hours we got it working perfectly.
  • We then used the last 2 hours for doing a slideshow and training and scripting our presentation on stage.

Our project

Our idea was a tinder-for-developers app where you sign up with GitHub and instead of swipping on pictures, you swipe on snippets of code. You’re then matched with people who also liked you back. We appropriately named it friendswithbenegits. Have some screenshots for posterity:

Home page of friendswithbenegits Home page of friendswithbenegits

Profile page Profile page

The swipe page The swipe page

Matches list page Matches list page

Match chat page Match chat page

After all this, we went to the main stage with all the other teams and presented our project. Regrettably the live stream had a problem somewhere in the middle so you can only watch the last 15 seconds of our presentation but the chat thing worked! And people seemed to laugh at our jokes during the slide-show even though there’s no video evidence to prove it. In the end I really liked a lot of projects and after all the voting was done we were very happy to get an award for the public’s vote. Got a bunch of prizes but most importantly, a huge trophy!!

Presenting on stage Presenting on stage

Our team getting a trophy Our team getting a trophy

A very happy bunch A very happy bunch