{“Love”:”Code”} 2016

By Adam Sobotka

A few months ago we discussed with colleagues how we miss our hackathon events and how great it would be to have another hackathon. I was part of one of first hackathons in company and organized last internal event we had, so I naturally felt obliged to offer any help necessary.

Jumping the gun

Most active colleague in the new hackathon effort was Martin Jarčík, and I asked literally every meeting we had how are things going, what is the progress and if I can be of any help. I am not sure when I took over, but in the time, we were already discussing event organized together with other companies, focused on topics interesting enough to get attention of developer community. When the idea crystallized, I started with preparations, meeting huge amount of people, getting budget, discussing the location and other relevant work. It was exhausting, but there was a hope. There were companies who liked the idea, Heureka was first who got on board and IBM joined with their really good Watson API few days later. We’ve got support from Czechitas, started landing site and virtual event train finally departed from starting station. Here I’d like to send big, big thanks to everyone who believed in the event from the beginning. It wouldn’t be possible to organize such event without support from Socialbakers, beginning with our Development Director, VP of Engineering, COO and CEO. Martin Jarčík ignited the idea and a lot of people in company helped me with covering technological topics. Without them, the event wouldn’t be worth a single mention.

Train is running

So, we launched the landing site, Facebook event page, Mailchimp campaign and I was holding my breath. We knew that maximum capacity is roughly 50 people, and trajectory was good. When Czechitas published announcement, subscriptions in mailing list and Facebook page skyrocketed. We all thought the organization is done and my only concerns were the licensing issues with API, legal issues and other small things. We started second version of the site at lovecode.cz (still running) with great feedback and started with registrations. A week before the event we had all 50 registrations, with two participants on waiting list. Roughly half of the registrations were from girls, and we were all happy with the progress.

Almost 20 registrations were cancelled in last week. It was a heartstopping thing for me. All internal events I organized were safely filled in limits, with very few people changing their minds. I started registrations again, some people reserved new tickets and we were back on track. I am writing this experience basically for other event managers: do not close the registrations too early. People like to change their mind, especially if you are running a free event.

Per aspera ad astra

With some people who did not attended, one guy who asked if he really needs a laptop, some confusions about skill-level needed to participate, we finally assembled in our Training room for first talk: introduction to IBM Watson API. I must admit that I hugely underestimated range of Watson abilities and great talk by Michal Bída explaining all the features included in this API took one hour longer than I expected. When we understood some basic purposes of several interfaces, we decided to formulate some ideas on what projects can we make in three days. We discussed for a while, idea makers influencing others, crystallizing ideas and their feasibility.

After voting on project ideas (my own lost a big way), we had a top three: Movie emotions histogram, Customized shopping experience and Flower recognition software. Attendants grouped around project ideas and started with technical preparation and discussing application logic. We tried to help them with two nice presentations from our own Michal Brašna (Firebase) and Jakub Chábek (Redis) from Heureka. They were talking about technologies that can be used to achieve fast development and deployment of data related projects and both presentations were really amazing.

Atmosphere was good, pizza was delivered and teams were working on 120%. Some of the mentors — our experts from supporting companies — joined the effort and helped teams with their projects. Some teams went home to sleep, I stayed with the rest until early morning. Day 1 was exhausting, but it was rewarding experience. Next day we started (some of us after three hours of sleep) with great introduction to React Native by ex-Baker Jakub Martyčák, who explained how easy is to work with native mobile OS widgets with some help from this cool framework made in Facebook. Our own Milan Lepík was talking about social networks API’s, how to connect programmatically to social networks, what data they can provide and shared some insights on working with big amount of such requests. Both presentations took a little bit longer, so we basically moved to the coffee space near the terrace, where grilled meat and vegetables were prepared. Meal was delicious and people were talking about progress in their projects. I thought it was a good place to start consultations with our mentors, but people started naturally discussing with each other and that worked well too.

After the lunch we went back to the work with one break at 15:00 caused by introduction to UX by our own Radek Tobolka. He explained why you should consider user experience from beginning (because there always is a user experience, either bad or good as I recall) and what are the core parts of UX — including research, A/B testing and similar topics.

The rest of the day was spent on developing projects and in my case getting some sleep. Everyone was eager to continue on their project so much, that even our table-tennis room was unusually empty. After second day we were so tired, that everyone disappeared around 10pm on their way home, and so did I. Third day, everyone clean and refreshed, rushed to the team rooms to finish the work. I had to run through these rooms and convince everyone that there is a speak worth listening. It was from Jan Vlnas (Czechitas) and he was talking about important topics on current web development — css animations, offline and progressive web apps. We had prepared another presentation about advanced javascript, but everyone was focused on finishing applications and resisted any attempt to spent time anywhere outside team rooms.

All good things

Must come to an end. But before I proceed to the project presentations, I want to describe details about projects created.


The subtitles analysing project. This team created amazing web site with emotional information about famous movies. The site fetch subtitles from the internet, send them to Watson and set basic emotions for a parts of the movie. It displays an emotion chart and some quick summary on movie emotions, so you can see when the drama kicks in, when the movie is romantic or funny and so on. It allows for picking movies not by the claimed genre, but by real emotions recognized by artificial intelligence.

Shopping experience

Another team decided to use image recognition ability of Watson and OpenFace. They created solution which recognizes known faces (well known customers), loads basic information about them (like shopping history, waist size et cetera) and allows shop assistant to tailor the communication to individual needs of their customers. If the customer is not known already, image is sent to Watson, which can figure out sex, age and some other basic metadata. This is not useful as introductory information, but relevant suggestions based on this information can be helpful for assistant to start a conversation.

Language learning

Third team had hardest path to success from all participants. They decided they will create mobile application to recognize different kinds of flowers. There is a similar application, but it is backed by real humans. This step for humankind is unfortunately still too expensive and team decided to abandon the idea in favor of language learning tool. Application presented was able to recognize the object in front of the camera and write its name in selected language. That can make learning names of known objects easy and it can help in real life scenarios.

Order a recipe

Last “micro” team, assembled by one mentor and one participant decided to create application which will order ingredients needed for particular recipe. They fetched instagram feed of “fit recipes” and parsed ingredients from these recipes. Based on that, app would order these ingredients from www.rohlik.cz site through their API, so you would need only pick a recipe and order right away.

La grande bellezza

Now that you know what projects were about, I will continue the story of hackathon. And the story is: we had another grilled meat. That was only these few minutes we had together as teams, discussing how screwed projects are and that we will never finish them in time. But everybody did actually. All teams had working projects at 5:30pm (half an hour later than original timing) and everyone was able to present their work. The atmosphere of recognition and shared success took over our offices and I thought that they will even reject voting for best project, as we all agreed that all teams did a great work and we were very proud of each other. Shopping experience won by short margin ahead of Submotion. But we all knew that this event wasn’t about winning. It was about collaboration and fun, and we had really great, even if exhausting, weekend. Hope to see everyone involved on next event