Desarrollo de Personal Logistico ETT

We built a web application based on Ruby on Rails together with an Ionic hybrid mobile application to help them to assign their temporary workers in their daily assignments for multiple clients.

When they contacted us in 2015, DPL E.T.T. were doing hundreds of manual assignments per day. Their staff would take hundreds of calls each day with every worker to assign them to their new destinations, thus causing many bottlenecks, inefficiencies, human error and most of all, stress, potentially causing burnout among the DPL employees.

After having analysed all the processes, we started building a solution to manage this matching process in an automatic and seamless way.

How did we do it? We first reworked the whole process, and then built a technological solution around it.

MarsBased were key to ensure the success of designing and developing the solution that ended up transforming our business. The project was critical and of utmost importance in the company, and this tool helped us to grow 285% in just four years. Their business knowledge and their philosophy of "less is more" gave us outstanding results.

Project tech stack

Ruby on Rails

Rails is a model–view–controller framework, providing default structures for a database, a web service, and web pages.

Ionic

Ionic is a complete open-source SDK for hybrid mobile app development, built on top of AngularJS and Apache Cordova.

Angular

Angular is a TypeScript-based, free and open-source web application framework led by the Angular Team at Google and by a community of individuals and corporations.

PostgreSQL

PostgreSQL, also known as Postgres, is a free and open-source relational database management system emphasizing extensibility and SQL compliance.

Redefining the workflow

Before we came in, DPL were working in a 100% reactive mode: they would wait for the daily email of the client asking for workers for the next day, and start going through the database calling their temporary workers. That email provided an estimate of the total amount of workforce needed, but the exact amount wouldn't be known until the very day, early in the morning, thus requiring a second round of calls.

You can imagine that this requires cancelling on people who get up really early, or waking up others before the sun rises.

We decided to go for a more active approach: we designed a mobile app where we'd ask the workers every week to define their availability, hence sparing DPL hundreds, if not thousands, of calls to people unable to work that day. Second, we are doing the matching through an automated process on the app, thus eliminating all calls in the process. Last of all, we send the final confirmation as soon as DPL has it to everyone at the same time, thus avoiding delays and lots of human-induced mistakes.

As an indirect benefit, people can sleep a little bit longer, and that's always good!

Mobile application for workers

As we have just seen in the previous section, DPL need to know the availability for each worker, in order to assign them to jobs. Also, they need a way to send offers to workers and notify them when they are selected, and that's why we decided to use a mobile app.

We built an Ionic hybrid application to be able to use the same code base for both the Android and the iOS app. This reduced the cost for the client and made the app easier to maintain. Also, since Ionic apps are built using AngularJS we could build it in the same way we would build a web application, using a technology we already know.

Building the app was not an easy task, especially because it needed to support a wide range of old Android devices and operating system versions. Since the users of the app are mostly blue-collar workers, we had to code and design taking into consideration a wide range of versions.

Even though the app is primarily web-based, some features required to use the native capabilities of the devices, such as the camera or push notifications. Making those work for a wide range of devices using the same codebase turned to be a challenging task but it helped us to learn more about the interaction between hybrid mobile development frameworks and native code.

Jobs engine and administrator for DPL

The other half of the equation is processing of job requests through automatic matching of workers. For that, we built a web application based on Ruby on Rails and PostgreSQL.

Job requests come via automatic emails from every client, each with its format. These emails contain information about the jobs for the next day, including the number of workers required for each.

To make the process as seamless as possible for DPL we built a parser processing all incoming emails which then automatically creates the necessary jobs based on the job data. We were able to use our expertise in email parsing acquired in other projects such as Zapptales.

Once a job is created, an engine selects the best workers to do it based on a set of criteria: availability, proximity, skills, etc. and it sends a push notification to the best candidates so they can accept or reject it. The engine keeps selecting workers iteratively until all job requirements are met.

How has this app helped our client?

In the beginning, the application was intended to be used only for jobs in one client. However, DPL found this app so useful that since then we have extended it to handle jobs of any type from any customer, thus managing to upsell clients and process more and bigger projects from each one of them.

Thanks to our application, DPL has managed to reduce the calling process from a few hours per day to bare minutes. The time required to manage a job from a customer is 100% automatic and DPL employees need only to jump in if there's a conflicting match or an unforeseen scenario, which only happens every few weeks.

Third, they have also gained more visibility and control over all the jobs and the availability of workers and have got now a dashboard where they can easily understand data which was painful to analyse before.

Another benefit for DPL is that we have managed to eliminate human-induced errors, and having to intervene in the process is now a rare happening.

Last, but not least, the burnout this manual process created while it was manual (having to wake up extremely early and having to call hundreds of time a day and process the information accurately) has now been eliminated, thus contributing to having higher employee satisfaction.

We worked in this project for well over five years until DPL was acquired by Jobandtalent - partially thanks to our technology - and the project development was internalised.

This is one of the projects where we've had a deeper connection with the client. We had 100% blind trust in all of our technological decisions, complete independence to set deadlines and the client always felt to be on our side in each and every meeting we ever had. We enjoyed every bit of this project!

Project wins

Expectation management

We were always very clear on all risks and negotiated responsibilities often with the client. We never had any issue with them during the project.

Reducing unknowns

Because we had never developed for mobile, we did it with Ionic, a technology similar to our tech stack, to reduce uncertainties in the project setup.

Focus on accessibility

The success of the project lied in understanding the end-users, who had low-end Android mobile devices with old versions of that operating system.

Business oriented

We identified very clear metrics: optimising processes, shortening times and reducing human error. Every version of the app improved them.