My team is in the image, try to find us there (Image from [Gulbenkian’s website](

On the weekend of 24 and 25 of June 2017, I attended Hack for Good hackathon. I’ve already participated in one university hackathon in 2016 and loved it. When I saw there was going to be a hackathon with a mission of coding for social good, I had to assemble a team to participate in this.

This was the 2º edition of Hack For Good. The goal was to create solutions to the problems regarding the refugee’s crisis. Although we knew little about the refugee subject, we still wanted to go. This way, we would gain some technical experience, while contributing to and learning more about an important cause.

After some deliberation, we decided to call our project REFIND, web platform to host work opportunities for refugees, to bypass prejudice from certain employers.

The team

The team had four elements: me, Francisco Machado, Samuel Gomes, and Tiago Almeida. Our name was Penguin. We were highly motivated and wanted to take a chance on this challenge.

The tools and technology

Two of us, Me and Tiago, knew about developing mobile applications, more precisely Android. Francisco was more experienced on Ruby on Rails, and I had participated before in a hackathon with him where I learned most of what I know of Ruby on Rails. Samuel had previous experience in data processing/analysis and data visualization, which could help us develop friendly ways to show data about the refugees, and decide which data was relevant for the project.

Regardless of the chosen technology, we were open to learning whatever we thought that worked better?!

Ultimately, we figured that was easier for us to implement a web application using Ruby on Rails since this is a framework easy to learn from both my and Francisco’s experience. Francisco knew the most and was willing to mentor us through the learning process.

The preparation

We did two meetings: the first one was a Skype call so that each member got to know each other better and discuss possible ideas; the second meeting was on site to learn and practice the technologies we were going to use.

First, we researched about the refugee’s subject and thought about the project’s model, i.e., how to structure information in the database, and the pages for the web application.

Then, we practiced a bit of Ruby On Rails together with a simple app, where we performed simple operations like Create, Read Update and Delete (CRUD) entities. Here is my application sample.

The idea

Initially, we wanted to create a tool which helped to reduce the bureaucracy and save time for the people who manage the refugee’s situation from the first day they are welcomed until their inclusion in the new environment. Unfortunately, when we explained such an idea to one of the event’s guests (a former refugee), he told us that our idea lacked “practicability” and adaptability to a real-world scenario.

After that point, we decided to change the idea of the project in the middle of the competition. We then took the time to research a bit more about the subject and then we brainstormed other possible ideas together, while deciding how could we adapt what was already developed.

After some thought, we decided to build REFIND, a web platform to host job offers from unbiased companies towards refugees. Our main goal was to approach the problem of inclusion of refugees in new countries and cultures, and avoid prejudice from companies when hiring refugees.

Our project’s logo

The environment

The hackathon was very well organized. It was hosted at the Calouste Gulbenkian Foundation. The competition held 33 teams (152 participants) and lasted 36 hours.

They provided all the conditions to allow us to focus on the project. Throughout the event, they provided some workshops, massages and stretch sessions. We had plenty of of food and a lounge where we had games to relax and puffs to sleep if we wanted too.

Hack for Good lounge

Development and Organization

Despite being the team leader, we wore a lot of hats, from developing the codebase, managing issues, and tasks, designing the user interface, deciding the basic features and advanced ones in case we had time. Each member did a bit of everything and had a say in the project decisions.

After finishing the project

One of the event mentors, Carolina, taught us a bit about how to sell our idea, how to pitch ourselves to the jury. Therefore we made a short presentation on google slides explaining why our product was suitable to help refugees.

Slides (in Portuguese) presented during the 1º presentation phase, before the top 10 selection

Things we learned

  • During the event, we were advised of some of the challenges of a project aimed to help refugees. Data security should be one of the main concerns.

  • Designing user interfaces is very important. People from different countries and backgrounds may perceive interfaces differently. Having accessibility into consideration when designing a product is extremely important.

  • It is very important to have a good pitch when presenting an idea. A good pitch can attract potential investors, as it builds a good first impression. We have to be able to explain why our idea is relevant and better than other existing solutions. Here is our presentation in Portuguese.


Top 10 selected presentations

We had a lot of fun during the hackathon. The chemistry within the team was great. We lacked some experience compared to some of the competitors, but we were eager to learn and highly motivated to give our best. Although we didn’t get selected to be at the top 10, this experience was totally worth it!