Lego robots, retro gaming and product improvements — our one-day hackathon in a nutshell

For the team at Digital Natives, 2015 was a great year. We worked hard on some really interesting products and we expanded our minds both personally and professionally. To celebrate a successful year, we decided to challenge ourselves by organizing a one-day hackathon.

The formula was simple: five teams, five projects, one day.

Do you want to see the results?

1. Project meet Alexa: What can we teach the Amazon Echo to do in one day?

The team: Anita, Gui, Juan, Kristóf

What was your idea?

“To teach ‘Alexa’ the Amazon Echo to create a new card in Nostromo, complete with a full description.”

What do we need to know?

“Nostromo is a project management tool for agile development teams which uses a kanban board with cards for each project task

Amazon Echo is a wireless speaker and voice command device from which responds to the name “Alexa”.

The device is capable of voice interaction, music playback, making to-do lists, setting alarms, streaming podcasts, playing audiobooks, and providing weather, traffic and other real-time information

The device can also control several smart devices at once.”

What technology did you use?

“We wrote the business logic in Node.JS because it is easy to run on Amazon Lambda (or on your own environment) and of course we used Amazon Echo and the Alexa Skill Kit.”

What challenges did you face and did you succeed?

“The Amazon Echo and Alexa were surprisingly easy to set up, and would pose no real difficulty to a non-technically minded person which we like. The detection it provides is absolutely real-time and because you can communicate with Alexa in sentences, it feels like she is in the room with you!

That said, the free text understanding of the app is very limited and backed by limited support. So if you’re not working with a list of words provided beforehand it can block easily.

Another disappointment is the poor error messages being really hard to debug once an error has occurred — with so many components on your workflow: Alexa Skill Kit, the software you wrote for connecting the two apps and the Nostromo app. And as the error message does not specify in which app or connection point the error occurs, it is really hard to find the source.

Despite all the difficulties by the end of the day we were able to create a card with a full description by commanding Alexa to do so.”

2. Project meet Jarvis: The smart office of Digital Natives

The team: Amr, Boni, Dani, Guszti, Viki

What was your idea?

“To announce the arrival of a person into the new Digital Natives office by playing the favorite song using Jarvis.”

What do we need to know?

“Digital Natives are about to have their office renovated so we wanted to create something which added a certain personality to our new office interior

We liked the idea of a smart office and the concept of using a ‘if THIS then THAT’ method

We decided that a notification system would be a good demo for our theoretical smart office so settled on the arrival of a person into the new office

The arrival of said person would be defined by them connecting to the wifi, which is when the song would play.”

What technology did you use?

“We used both backend and frontend development. For the backend we used Crystal and for the fronted we coded in Elm.”

What challenges did you face and did you succeed?

“From the technology side were able to program the frontend really fast because the Elm framework made this possible. The programming of that part went slower than the frontend development, as we first had to familiarize ourselves with the Crystal backend language.

The main challenge was to work with the unstable wifi network, as every reconnection triggered playing a song. This made the project a bit difficult. Because the basic functionality was programmed quite quickly, most of the day was dedicated to fine tuning and further brainstorming.

By the end of the day we finished the project and the background for further triggers. So we are happy to say that we created a smart office in one day. :)”

3. Project capture the flag: Team SUI hackathon

The team: Balo, Iuri, Mela, Zoli

What was your idea?

“To create a CTF (capture the flag) style multiplayer game played with Raspberry PI computers — simple!”

What technology did you use?

“We took two RPIs and bought SenseHat[1] boards for each. We used the 8x8 RGB LED matrix as a display and the gyroscope sensor as the controller. The available space on the display was a huge restriction but we wanted to do something with a retro feel.

We made the decision to use Elixir and Phoenix as a central game server, Python for control the hardware and NodeJS for communicating with the game server. We used the Phoenix channels protocol on top of WebSockets for near real-time communication.”

What challenges did you face and did you succeed?

“There were two main challenges. The first was synchronising our work since our team had two developers, one QA and one UI designer. The other was using unfamiliar technologies (NodeJS, Python) because Phoenix has only JS client implementation for channels. We needed Python for the hardware — SenseHat has a really good library to control it. Redis also seemed poorly supported with Elixir.

Our project proved to be too complicated for a one-day hackathon but we still think it is a cool project. If you agree, follow the development here[2].”

4. Project scribble on the wall, tech style

The team: Dani, Feri, Gex, Pisti

What was your idea?

“To create a robot that could draw on vertical surfaces.”

What do we need to know?

“With the Digital Natives office revolution just around the corner, we wanted to create something which was both useful and decorative

There are lots of projects out there where robots draw on horizontal surfaces, but we wanted ours to draw on the wall!

We wanted our robot to be made from lego!”

What technology did you use?

“For the lego robot we choose the new mindstorm ev3 model. As for the software we didn’t want to use the provided software — we wanted to write and use our own.”

What challenges did you face and did you succeed?

“Despite the lego being really easy to handle and build, it fell apart because of the big forces that emerged while moving the core of the robot on the wall. The basic idea was to attach the robot to two anchors on the wall, and moving to every possible position by manipulating the attached string lengths. Other than these it was difficult that none of us had any previous experience with machine programming which made this aspect of the project a real challenge.

The project was really complex so we did some preparation and prototypes before the hackathon day. Despite that, we started from scratch in live, so most of the time elapsed with building the prototype.

After many prototypes our robot was able to move and draw on a limited area of the prepared canvas, which was a really good achievement in one day. Also we were able to control it through the wifi network, which was also one of our main overall goals.”

5. Project going live with Better Holidays

The team: Daniella, Krisztián, Laci, Lucas, René

What was your idea?

“To improve our inhouse Better Holidays tool so that we could launch it to the public.”

What do we need to know?

“Digital Natives use an inhouse developed holiday planning tool called Better Holidays

Feedback has shown us that there is a market for this product outside of our own four walls

The product needed refining to make it ready for public use.”

What technology did you use?

“This was an ongoing project in Digital Natives, so it wasn’t a real choice. The project was written in Rails, and we used a Bootstrap theme called Material design. For the calendar view we used simple_calendar gem.”

What challenges did you face and did you succeed?

“The main challenge was the timeframe. We came up with a tonne of new feature ideas and improvements, but to finish them all by the end of the day seemed pretty impossible.

We worked on different parts in parallel, developing new features (like calendar view), redesigning the tool and creating a landing page that can introduce the tool as a whole.

We didn’t finish the project, but we set a good base for future development.”

Have you ever held or taken part in a Hackathon? We’d love to hear all about it, leave us a comment!

-Digital Natives Team