Add a Feature to Split the Fare in Cabify

This was a 4 day group project with 2 fellow Ironhackers; Anita Song and Clara Roldán.
I think we worked well as a group and have a nice feature for the final prototype.


We had a task to design a feature for Cabify — a ride-hailing service provider that allows people to easily request rides on demand using their app. The feature would allow riders to split the fare of a shared ride with other people.

Competitive Analysis

The first thing we did was compare competitors in order to see how this feature works in other ride-hailing apps. Companies like Uber, Lyft, and MyTaxi all have near identical fare-splitting features. They all require riders to split fares evenly, only those with the apps are able to pay, and an additional 0.25 cent fee is charged to each rider. From here we started to think about whether there is a need to design a feature that doesn’t force riders to split evenly or have the app.


We conducted a survey and several interviews to find out more. We wanted to know how people generally split their bills with friends — how they split up the total amount, how they pay each other back, whether they use different apps to accomplish this, what frustrates them about this process, and their attitudes about the importance of bill-splitting and the different ways to go about it.

60% Split the fare of a shared ride

69% Use cash to pay each other

69% Say it’s important to be able to split fare without using cash

52% Split bills evenly, but the rest prefer to either pay their exact amounts or have the choice to do so.

“I prefer to pay what I owe, but we usually split the bill evenly”

“You always end up losing money somehow”

“I’m always the one to pay because no one else has the app”

“I’d rather just pay for everyone than have to ask them”

Based on our research, we found that people who share rides do in fact prefer to split the fare. Interviews provided deeper insights into how frustrating it is for someone to be the single payer of a shared ride. We found that most people do not like to have the awkward conversation asking their friends to pay what they owe. There are also problems with the fact that a group of friends cannot rely on a single method of repayment, because there are either inconveniences with specifying exact amounts for cash, or not everyone has the same app to transfer money to one another. The unfairness that these situations cause is a major frustration for our users. When splitting other bills with friends, half of our survey respondents reported that they prefer to pay specific amounts rather than evenly all the time.

To synthesize our data, we created an affinity map and an empathy map so that we can determine our target users and empathize with them better.

Empathy map

Target Users and Problem Statement

We determined that our target users are people who are sick and tired of always being the only person with the Cabify app and has to pay for everyone. They would also like to have the option of splitting up a fare however they want, for when its less ideal to split evenly.

Our users need to be able to get paid by their friends fairly, who may or may not have the Cabify app, without asking them directly, because they don’t like to have that awkward conversation with their friends.

User Persona & User Journey

We used our research findings to develop a user persona that represents our target users’ needs and behaviors. Our persona is Nick, a graduate student in his late-20s living in Barcelona. He is the most tech-savvy of his group of friends, which means he’s into the latest apps and is usually the first one to use them, such as Cabify. As such, he is always the person that orders a ride for him and his friends, and ends up being the one paying for everyone. He doesn’t like having to ask his friends to pay him, so it’s frustrating that he has to spend more money than necessary.

User Persona
User journey

Ideation & Iterations

After we gathered information, see clearly the problem and had a solid persona, we started to put our solutions on paper. We decided to focus our solution around the three main pain points; not having to verbally ask your friends to pay you back- the app will ask them for you, and splitting the fare unevenly even with people who don’t have the Cabify app yet. We had a very tight time sketchual so we had to start paper prototyping and testing fast!

Here is quick pick into our first version of the lo-fi prototype that includes:

  • The ability to adjust how much each passenger owes
  • Have Cabify send text messages to each rider who needs to make a payment
  • A card-scanning feature within the app to scan the credit/debit card details of each rider to complete the payments

Test results

After a few usability tests, we discovered what elements were confusing to our testers, as shown below. We continued to test and iterate to eliminate as many confusions as possible.

As for the in-app card scanning feature, we found that there were security concerns around this type of payment method which may not be completely feasible yet. We had to think of another way that would allow users to trust using this payment feature. Taking all feedback into account along the way, we developed a mid-fi prototype using Sketch to continue to include the features and elements we find important, without paying too much attention to the UI yet.

“Paying without the Cabify app” iteration process

Because not everyone having the same app was one of the pain points when it came to paying, we wanted to make sure there was a way for those who don’t have the Cabify app downloaded on their phones to pay their share too.

We ideated a possible solution where the person who ordered the ride uses the Cabify app to scan their friend’s cards (the ones he’s sharing the ride with). This is how it looked on paper.

After testing this idea with several people we found out that a main concern for all of them was security. Our testers had security-related questions and were uncertain about handling their cards to someone else, even a friend, and were worried that a photo of the card would be stored on their friend’s phone.

That’s why we decided to move that part of the flow to each of the friends phones. If they didn’t have the app downloaded, they’d get a text message on their own phone with a link that would bring them to the Cabify’s website. There they could scan their own cards or just input them manually and make their payment. We also want to prompt the user to download the app for making next time process much easier.

Paying your part without downloading cabify app.

High-Fidelity Prototype

Using the existing color palette and typefaces of the Cabify app, we designed the hi-fi prototype keeping all our user problems in mind and the solutions that can solve them.

For presentation purposes we put together an interactive prototype on Invision that starts with the current Cabify iOS app screens and then, after the “Order a ride” screen, jumps into the feature we designed.

Mid-fi prototype

The screens below would represent a user flow where a ride has already been ordered and confirmed and now Nick and his friends Amy and Bill are waiting for the car to arrive. In the meantime, Nick requests to split the fare of the ride. To choose his friends, he selects them from the contacts list on his phone.

Apart from splitting evenly, which is the default setting, the amounts can be adjusted to split differently if the situation would require it. Splitting unevenly can be done by either manually editing the amounts or by dragging the wheel around.

Once the payment has been requested by Nick, he can see that their friends got a message and they’ll get another one two minutes before the ride ends. He can also check their friends payment status.

Below are screens for an external user flow, following Cabify’s text message to other passengers without the Cabify app. In our example, that would be Amy’s phone. After getting the message, she clicks the link and gets to Cabify’s website, where she can either scan or type her card and make her part of the payment.

And finally we see the confirmation screen on Nick’s phone, that everyone made their payment.

Next Steps

For a next step, we would like to see how we could make a feature that allows people to add separate stops during a shared ride, and for each person to pay accordingly in order to increase fairness when splitting a fare. A possibility to use the fare-splitting feature with people not in the Cabify user’s existing phone contact list might also be useful for some people. Most importantly, a lot of testing must be done to determine the usability of our fare-splitting feature and to see whether security issues would still be present.

Final Thoughts

Given the short time that we had to complete this project, we managed to gather enough data to empathize with our target users and come up with clear solutions to their problems. However, we would’ve loved to do more user testing to validate all of our design decisions in addition to giving more thought to the UI aspects of the prototype so we keep elements more consistent with Cabify’s look & feel.

Overall this was one of my favorite group projects in the bootcamp I really enjoyed working with you girls ❤

Slovenian fashion designer learning new concepts of design