Hack&Talent 2019: Jobandtalent Engineering Hackathon

Sergio Espeja
Job&Talent Engineering
7 min readApr 12, 2019

--

Following the success of last year’s Hackathon, the Jobandtalent Product Team gathers together to try to create even better projects than last year and above all have fun!

The experience was amazing; high-quality projects, cool bleeding edge technologies, imaginative solutions to difficult problems, hardware & software development and a lot of learning!

Kevin Beacon 🥓

A seamless way to clock-in workers using beacons to detect when they arrive at the office.

Clocking in has historically been a manual process and usually, there was no real-time way of knowing who is working or not at a specific time. This information could be crucial for a company in order to take measures if there is a peak in their business. In these situations there can be not enough people to cover the workload and it is very difficult to track when temporary employees are working and pay them accordingly.

We wanted to try to come up with a seamless way of clocking in by completely removing the need to clock in and giving employers a real-time way of knowing who is working or not.

We used Estimote devices as their development kit was pretty good for our needs, we also added a feature to our iOS application to give users a way to follow the clock in / clock out events. We created an iOS iPad app where the employers can see which of their workers were at the office, when they arrived and which of them weren’t at the office yet. The backend was developed in Elixir.

Totemrracho🗿

A set of tools to make the reception of candidates to our office as painless as possible.

Our office is visited by hundreds of candidates each day for several reasons. The main one is attending group interviews for one of our job processes. Dealing with this flow of people is something that takes up a lot of time and makes the experience for our candidates painful. Also, candidates who come to the office have different levels of “ready”. There are people without a Jobandtalent account, people without the application installed, or people that have everything ready.

The Totemrracho project tried to make the experience fast and “magic” and get all our candidates in the “all set” state. The project implemented two solutions: A totem and a new login system.

The first solution was software for a “Totem”, like the ones you can find in a McDonalds, which prepare and inform the users about what they should do and where they should go. It is connected to our systems to create an account if needed, send an SMS to recommend downloading the app or indicate where their group interview is.

The second one was motivated by the fact that we found the App login process very annoying, user and password are not as fast as we need so we changed the login system to accept Login by SMS. Enter the app, introduce your phone, wait until receiving the code confirmation and automatically introduce it and log in. Also, it checks if the user has a group interview and open the screen with all the information and some recommendations to be ready for it.

Eventify 🎯

Interaction tracking system able to handle all interface actions across Jobandtalent platforms (mobile apps, web applications, system events).

The system followed the Snowplow Analytics approach to collect, enrich and store the events data in a canonical format that was easy to visualize and extract metrics.

Elixir was the language chosen to implement the proxy service. This proxy captures users actions and exposes them to the Collector via an internal endpoint, only accessible from inside Jobandtalent’s platform.

The Collector reads the data from the Tracker and forwards it to the Enricher, which formats the data in a legible format. Then, the events are stored in a database, ready to be analyzed by a Metrics / Monitorization system.

In this way, we can cross and aggregate events data from different inputs, helping us to understand our users’ behavior and provide them with a better experience.

Parrot 🦜

The Parrot project was based on two pillars: investigating the possibilities of Dialog Flow to convert the natural language by which our users request information and exploring the different media formats which we can use to offer help, beyond the app or the website.

First of all, thanks to Dialog Flow we were able to build an interaction of common flows such as: asking for an interview, answering specific real questions about our hiring process or requesting information about a particular position. One of the things that helped us integrate with Jobandtalent’s platform was the versatility of webhooks and the ability to implement our own fulfilment to create the actions. We used all of the natural language recognition through the ML of Dialog Flow, which allowed us to create models of answers to common questions that our users usually have.

A key element of integration, which allowed us to carry out tests during the hackathon was Google Assistant, available on Android and iOS. Despite not having installed the Jobandtalent app we could interact with users and resolve certain issues to facilitate them joining Jobandtalent.

We also explored the integration through Twilio of Telegram and WhatsApp, which opened up our platform to other messaging tools to facilitate communication with our users.

Mantastic! 👨🏻‍🦱

Data-driven virtual assistants that provide a personalized experience to our users

The Mantastic project was based on implementing processes driven by virtual hosts with a fully conversational interface in rich 3D environments. As it is powered by data, the host can guide you thoroughly through the interview processes based on your preferences, skills or market demands, answering questions about any specific job positions.

This project relied on Amazon Sumerian and Amazon Lex (the technology that powers Amazon Alexa) to implement hosts that the users can interact within a 3D environment and conversational interfaces through speech recognition and natural language understanding respectively.

A substantial part of the Jobandtalent’s infrastructure is based on AWS, so relying on products within this same ecosystem helped us to integrate the Mantastic processes with our other systems.

This first iteration felt like we barely scratched the surface of these technologies as there are many other features that would be very interesting to explore, such as AI, face and voice recognition, and localization options based on user preferences.

Authtonio 👮🏻

A centralized authorization system for our users on the Jobandtalent platform.

This new system, known as Authtonio, is based on Auth0’s authentication and authorization features. Previously, each of our services had to develop its own user roles /permissions mechanism, something that could be very time-consuming.

Authtonio aimed to avoid wasting time developing the same logic several times. With Authtonio our systems only have to query this system to retrieve the user role and permissions. Our platform also benefited from this approach as it had all the users permissions in one place, allowing this critical information to be managed very efficiently.

Authtonio’s management interface was developed using React, while in the Backend side we developed a ruby library to be used within the RubyOnRails framework.

Fleetme to the moon 🚀

Real-time location tracking and driving performance analysis for vehicle fleets.

There are lots of fleet management solutions on the market, but generally speaking, they store your data on their system and don’t always offer real-time analysis or a proper API to retrieve data. If you are going to manage fleets of vehicles, it becomes crucial to have a platform to track vehicle location and driving performance. This allows you to optimize routes and vehicle maintenance, properly analyzing this data could make major a improvement to revenue.

The system was implemented using a device based on Raspberry Pi and an optional OBDII interface that is installed in vehicles, providing a small and efficient solution. This device sends data directly to our systems where we crunch the numbers and prepare the data for visualization.

For GPS tracking we used a custom-built python agent in the device and the Traccar server. For driving data ingestion we used a combination of AWS Firehose and IoT data pipelines. For the real-time dashboards we used Superset.

Thanks to Marcos Novo, Marcos Trujillo, Gonzalo Gómez, Txema, David Anguita, Alex Martin and Victor Castell for each section of this post.

We are hiring

If you want to know more about it’s like work at Jobandtalent you can read the first impressions of some of our teammates in this blog post or visit our twitter.

--

--