Taxi on demand case study is a company established in 1996 in Amsterdam and has grown from a small Dutch start-up to one of the largest travel e-commerce companies in the world. Each day, more than 1,550,000 room nights are reserved through the platform. Whether travelling for business or leisure, customers can instantly book their ideal accommodation quickly and easily, without booking fees.

All information in this case study is my own and does not necessarily reflect the views of

Project Objective

Integrate an on-demand taxi service into the mobile application, providing a complete travel experience for The service aims to remove the language and currency barriers that can deter visitors from using local transport providers, and will make it easier and safer for them to experience the region.

Team & Role

I was hired as a contractor in the position of Product Designer, responsible for both the research and design. Working within an agile environment, the team consists of 1 Product Owner, 3 iOS engineers, 2 Android engineers, 1 Product Designer and 2 Testers. The team is located across London, Manchester, and Amsterdam.

In this role, I had responsibility for the following deliverables:

User Research
Conduct user research with taxi customers in the UK, and identify opportunities to understand the mental model of on-demand taxi service, and create business value and smooth experience when using the app.

Wireframe & Test
Conduct usability test through initial wireframes in order to validate our assumptions, and also to understand the user behaviour when using taxi services through

UI & Visual Design
Plan and design the “look and feel” and micro-interactions by taking into consideration the effectiveness, aesthetics, efficiency and technical feasibility of UI designs, collecting user and team feedback, and providing unique solutions to improve the creative process.


The on-demand taxi service would first be launched for English speakers travelling to Asia and later would expand its services to the rest of the World. One of the main challenges that our team needed to understanding how taxi services work in Asia. In some Asian countries, on-demand taxi services work with a POI (Point of Interest) model, which means the app gives you a pickup point so you need to walk to the pickup point to meet your driver.

We had to consider:

  1. How on-demand taxi in Asia works and what we could do to align it with business model
  2. The language barrier, as most drivers in Asia can’t speak English
  3. How to effectively show pickup point and make that easy and reliable for both drivers and users


Since Uber was launched, taxi on-demand services are becoming very popular. There is an increasing number of companies following up the trend with a similar business model, filling the marketplace, and becoming popular. To begin my research, I started to look at a few competitors, analyzing UX, user flow, UI and key features: competitors

User interviews

In order to go deeper into understanding the problem we were trying to solve, we started by interviewing a group of 5 people who had travelled to Asia and used a taxi service there. Having that aligned with the Product Owner, we created a simple set of 20 questions divided into 4 categories;

  1. Pre-trip: How they’d decided the destination and their motivations
  2. Planning: How they planned for their trip
  3. Getting around the place: What kind of transported they used, why they used it and how did they liked it
  4. Our Product: To understand what are the main influences when choosing a taxi service and if they would be interested in an on-demand taxi service from that automatically works with the suppliers

Rather than conducting the interview like a Q/A session, I wanted to get as much qualitative feedback as possible from the participants. Conversations were natural as I tried to draw out from them, that special detail to give me a new clue in how I can clearly understand their experiences and pain points.


It was an important step to learn the challenges that travellers face when using taxi services in Asia. That also helped me to identify common patterns, and categorize the type of users that I was designing the app for:

Family (no children)
Solo traveller

Service map

The first step was to plot out a service map at a high level. This allowed us to think holistically about the problem space. We constrained the flow to be no longer than 15 steps. We also assumed, based on our research the customers had already booked flights and accommodation beforehand.

Service map

Ideation workshopWireframing & Prototyping

The team generated and shared a broad range of ideas as individuals. The goal was to push beyond our first idea and to generate a wide variety of solutions to our challenge. Using the generated outcomes, the wireframes were rapidly designed in one day and made into a simple click test-ready prototype.

Crazy 8s
Crazy 8s
Solution sketch
Solution sketch
Wireframe based on the ideation outcomes
Wireframe based on the outcomes


It was important to make the research a collaborative task with the Product Owner and our partner in Asia to align interests. A simple test script was decided and created and we set the following scenario:

  1. The user doesn’t know the pickup point (default)
  2. The user knows the pickup point
  3. Pickup point has changed

User testing

Usability was conducted in order to gather insight into the “on-demand” happy path end-to-end flow. The test Helped us to determine:

  1. Do users understand how “Current Location” relates to pick-up-point?
  2. How intuitive is the UI flow end-to-end?
  3. Do users understand confirm pickup step, and is this required?

The evaluation was based on an analysis of videos from 15 unmoderated usability test sessions of the proposed end-to-end flow for the on-demand taxi app. Each usability test session lasted between 5 and 15 minutes. The tasks proposed for the user in the prototype were:

  1. Search for a given destination
  2. Book a taxi
  3. Rate the driver and the service


The participant’s general comments were that the flow was simple and easy to follow. The testing helped us to validate our ideas and answer some research questions:

  1. Do users understand how “Current Location” relates to pick-up-point?
    Users prefer clear and consistent labelling of “to” and “from”. Showing their “current location” and not the pickup spot. However, users didn’t notice the change between the two. The “confirm location” CTA seemed to work well to resolve this.
  2. How intuitive is the UI flow end-to-end?
    All users were able to Book a Taxi and complete the trip with ease.
  3. Did users understand confirm pickup step, and would this step be required in our flow?
    Some participants mentioned that having a “confirm pickup” CTA helped a lot, as this added an additional validation step that was missing from the flow.

UI & Interation Design

After digesting the learnings from the user testing, the design process started and we began to build the experience. has pretty solid design guidelines and a well-defined design language, which allowed us to save some time in small components, so we just had to focus on the features to be implemented.

Conclusion & next steps

The team successfully concluded the first phase of the project and acknowledged valuable learnings and insights from users. This project is not only about designing a taxi app but it also proposes an unconventional concept for a modern taxi app that can be used in many other cities, and also be linked with your holiday and accommodation services.

The features we designed collaborated to reduce the stress of using a taxi service, especially when customers are using this kind of service abroad.

The service is available in Singapore, Indonesia, Thailand, Cambodia, Malaysia, Myanmar, Vietnam, and the Philippines. It offers live feeds, real-time route maps, customer services translated in 40 languages and in-app cashless payments in the traveller’s currency.