Mobile app 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

    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:


    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 understand 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:

    booking 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 5 categories;

    • Pre-trip: How they’d decided the destination and their motivations
    • Planning: How they planned for their trip
    • Getting around the place: What kind of transported they used, why they used it and how did they liked it
    • 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 as 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.

    user interviews


    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:


    User Journey

    After understanding the problem, the frustration, the expectations and how travellers visualize taxi experience, I created the User Journey. This allowed the team to have a complete view of the challenge and to holistically think about the opportunities, creating a perception of how the user would interact with the product during the trip.

    user flow

    Our aim was to make a smooth and short flow. Based on our research, we assumed that users had a flight and hotel already booked before using a taxi service.

    Wireframing & Prototyping

    Based on learnings from the research, I conducted a Crazy 8s session with some team members and we voted on the best sketches that were a good fit for the proposed solution.

    booking crazy eights

    In one day the wireframes were rapidly designed and made into a simple click test-ready prototype.

    booking low fidelity wireframe

    booking high fidelity wireframe


    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 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 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. This is the initial vision stage of the process. The next steps for the project are to user test and refine features that didn’t make the initial release.

    Back To Top