
Vali Air, a start-up airline, was looking to design its inaugural website. Acknowledging the prevalent design issues in the industry, they wanted to enhance the flight booking experience, specifically focusing on user-friendly search and selection on mobile.
Throughout this project, I applied UX design principles to create a more efficient and intuitive online booking system, driven by a profound understanding of their target users.
Project Goals:
Design a clickable flight-booking mobile site prototype that;
Is fast, easy, and intuitive
Address competitors’ design flaws and pain points
Can be tested and validated by users
My Role:
Research and analysis
User experience design
Prototype build
Initially, I gained insights by studying similar digital products from other airlines and flight aggregators, as well as observing real users in action. These observations revealed various pain points and areas where I could improve. I then defined and framed the problem, and gave structure to a large volume of raw data. This foundation enabled me to craft a more efficient user flow and ultimately guided the prototype design and testing of the final solution.
Here is a concise overview of my comprehensive UX design process:
01 / Research
Identify the problem
Competitive Benchmarking
Online Survey
Usability Testing
02 / Analysis
Articulate the problem
Affinity Diagram
Customer Journey Map
03 / Design
Create the solution
Flow Diagram
Interaction Design
Prototyping
04 / Validate
Test the solution
Usability Testing the Prototype
My process began with a close look at similar digital products, helping me grasp how others in the industry have dealt with the same issue. This exploration not only revealed their strategies but also gave me valuable insights into the problem itself.
I focused on the industry's conventions and practices
What's the industry standard? What do people typically expect and recognise? What’s hitting the mark, and what doesn’t?
I conducted an in-depth analysis of five mobile sites, benchmarking them to uncover pain points I should avoid and opportunities worth adopting.
I captured the details of the flight reservation process from: Ryan Air, Vueling, British Airways, AirAsia and SkyScanner.
Key findings:
I designed an online survey to learn about users’ goals, obstacles, and feature preferences. After defining my research objectives, I composed the questions, distributed the survey to recent flight bookers, and then sorted the collected data.
Key findings:
I was looking for both quantitative and qualitative data
Structured data was transformed into charts and graphs, while unstructured data was organised into spreadsheets so the answers could be categorised to create structured data.
Can we avoid the switch?
The last point highlighted an opportunity to design an application that streamlines flight price comparison and booking, eliminating the need for users to switch between mobile and desktop.
I conducted a series of usability tests because I wanted to understand the context, goals, and behaviours of airline website users; what are they trying to do, who are they with, and their device preferences?
After defining my research objectives I wrote a screener to find participants, and then the test script, before conducting the tests. I summarised my findings in a series of notes to be analysed later.
Some key findings:
Positive
Pain Points
Flights connections are not being clearly highlighted.
Not having a sort feature to order flights by price.
Being advertised features more than once.
When only one flight was available, users didn’t register they had to select the flight card to continue.
When calendars did not clearly indicate which flight date you were selecting.
Note Worthy
I started analysing my research data with the aim of defining the user problems I needed to address and gaining valuable insights for my design approach.
To make sense of the raw data and truly comprehend the challenges, I created an infinity diagram and customer journey map.
During an affinity diagram session, we gave my qualitative research data some structure, aiding analysis which would ultimately guide my design decisions.
In collaboration with my team, we collectively reviewed the data, jotted down crucial points on post-its, categorised them, and then arranged them roughly in chronological order – giving us an initial insight into the user's journey.
The final result was 65 key insights and 20 categories which I could use to build my customer journey map.
Building on my affinity diagram, I decided to create a customer journey map to add more structure to the analysis of my research data. My goal was to outline the key stages in the customer journey.
For each stage, I documented user goals, positive interactions, pain points, and any behaviours that the website or app didn't adequately support.
Evaluating the user's experience and adding their voice
I then assessed whether each stage was positive or negative and, when relevant, included user quotes to bring the map to life.
Key findings:
I aimed to balance providing a great user experience while also creating opportunities for advertising, crucial for revenue generation despite being disliked by customers.
Satisfied I could now articulate the problem, I was ready to start solving it. My overarching goal was to address all the issues uncovered during my research – everything highlighted in my affinity diagram and customer journey map. I wanted to incorporate trusted design patterns and principles, particularly those specific to creating an effective application on mobile.
After creating my flow diagram, I started to sketch out my final design which would lead to me building the final prototype.
My goal was to design the high-level booking process for the website, saving the user steps wherever possible and smoothing the whole process.
I began with sketches, detailing everything from the user's arrival on the website to receiving the flight booking confirmation, using boxes for screens or states and circles for interactions. After a few rounds of tweaking, I arrived at a solution I was happy with and then transferred the final flow to Figma.
By focusing solely on the primary use case, I could address the core problem without distractions from issues found in other use and edge cases that may have come up in my research.
Notable areas of improvement:
My goal was to expand on the flow diagram, sketching the screens for the website and addressing the identified issues and user goals from my research and analysis.
I started by listing all the required screens and their states, then proceeded to sketch them out to complete the flow. During this process, I carefully noted any issues for future refinements. After several iterations, I achieved a design I was happy with.
Notable areas of improvement:
A significant portion of my work centred on simplifying the designs and removing excess elements to create the clean, user-friendly interface my users were asking for.
I transitioned to crafting a medium-fidelity prototype to gain a more in-depth understanding of the concept and flow. This allowed me to test the solution with users, assessing the effectiveness of screen layout, hierarchy, interactions, and labelling.
Guided by my sketches, I constructed the prototype in Figma, making note of any problems or inconsistencies. Through multiple iterations, I had a final solution ready for testing.
The most notable changes from sketches to screen:
With the prototype completed, I sought to validate my solution and explore potential areas for improvement. To accomplish this, I conducted two additional usability tests.
These tests enabled a thorough evaluation of my designs, helping to pinpoint any last-minute issues and provide valuable guidance for teams in the next stage to avoid building poor solutions. The process closely mirrored that of my previous usability tests, beginning with well-defined research objectives, then test execution, and then a comprehensive summarisation of findings.
Some of those final, final, improvements:
After completing the validation process, I finalised my solution. Please click here to explore the prototype and experience the improvements firsthand.






Along with the final prototype, I wrote a detailed set of annotations, thoroughly documenting user goals, interactions, rules, validation, and error handling for a future handover to developers.
What worked well?
The final usability tests were really positive, with users easily navigating through the flow to complete their booking. Here is what worked well:
What I would change?
I'm pleased with the final prototype, but these are the factors I would consider for future projects to improve the final result: