Oway Flight

TLDR;

Redesigned Oway’s flight app with a cleaner UX and faster search flow, validated through user testing, helping travelers book with confidence.

From clutter to clarity: Redesigning a flight booking app for fast, confident travel

AeroChat Chats Page
AeroChat Chats Page

Introduction

Introduction

Overview

Oway is a leading travel apps in Myanmar, offering a mix of travel services in a single platform. Over time, the mobile experience became inconsistent and overwhelming especially during core service like flight booking.

I joined the team to help revamp the mobile experience, starting with the checkout process, a key moment where many users dropped off.

My Role

Stakeholder Management, User Research, Competitive Analysis, Usability Testing, Product Design, Interactive Prototype, Design System, Wireframes, Design Audit.

Team

Product Manager, UI/UX Designer, Engineering Team

Timeline

Sep 2022 - Mar 2023

Platform

Android, iOS and Web Application

Discovery

Discovery

Problem Statement

Oway’s flight booking app was live and functional, but the checkout flow had become a major source of user frustration. From inconsistent inputs to confusing layout and unclear progression, users often abandoned their bookings before completing payment.

How might we reduce drop-offs and make checkout feel faster, more structured, and easier to complete, especially for mobile-first users?

Breakdown of the Problem

Unclear flow and information hierarchy

Users couldn’t tell what step they were on or what was next, making the process feel disjointed and unpredictable.

Traveler info seemed done but wasn’t

The checkbox created a false sense of completion. Passenger details were hidden, and missing fields error only appeared after users tried to proceed.

Poor error handling and validation

Errors surfaced too late and lacked helpful feedback, leaving users unsure how to proceed or correct mistakes.

Low contrast and mobile interaction issues

Buttons, layout, and contrast failed to meet WCAG 2.1 standards, making key text and actions hard to read or interact with.

Overview of the Old Experience
Overview of the Old Experience

Overview of the Old Experience

Discovery

Discovery

Stakeholder Interviews & Analysis

To understand the root causes behind booking drop-offs, I started by interviewing internal stakeholders from leadership to support and operations. The goal was to uncover both user pain points and internal constraints before diving into design.

I spoke with:

  • The CEO, who had firsthand frustrations with performance and form design

  • The Customer Support Head, who flagged recurring complaints and drop-offs

  • The Ticketing Head, who handled post-booking confusion and search issues

  • The Project Manager, who highlighted technical and third-party limitations

Some of the key opportunities that emerged from these interviews:

  • Users often abandon the process midway due to unclear steps and confusing forms

  • Support teams are overwhelmed by calls during round-trip bookings

  • Search results often fail when only partial terms are typed (e.g. “Sin” for Singapore)

  • Payment timers exist in backend logic but are invisible to users, leading to failed bookings

Stakeholder Mapping

Drag to explore - Stakeholder Mapping in Figjam

Drag to explore

Design Audit

With a clearer understanding of user pain points and internal constraints from stakeholder interviews, I moved into a hands-on audit of the existing mobile experience. I focused on the end-to-end flight booking flow from search and selection to checkout and payment to identify usability issues, visual inconsistencies, and points of friction that aligned with the insights we had gathered.

This audit helped validate many of the concerns raised during interviews (like unclear steps, search rigidity, and input fatigue), while also uncovering new opportunities for improvement particularly around accessibility, mobile interaction patterns, and ambiguous “Complete” status screens that caused user uncertainty at the end of the flow.

Deisgn Audit of Current App

Drag to explore - Design Audit in Figjam

Drag to explore

User Journey Map

To better understand how these pain points impacted real user behavior, I mapped out the full booking journey from search to confirmation. This helped visualize emotional highs and lows, pinpoint friction across steps, and highlight where design improvements could create the most meaningful impact.

Drag to explore - User Journey Map in Figjam

Drag to explore

Competitor Analysis

To better understand where our product stood, I conducted a competitive audit of Flymya, one of the key players in Myanmar’s flight booking space. The analysis focused on usability, clarity, and post-booking experience.

Competitor Analysis in Figjam

Early UX Improvements

Early UX Improvements

Search Experience Fix

As both the design audit and journey map confirmed, the search experience was one of the earliest and most frustrating pain points. Users struggled to get accurate results unless they typed full city names, and partial inputs or airport codes often returned mismatched or unrelated options causing friction before they even reached the booking flow.

I saw this as a quick win we could address early. I partnered with the Project Manager to review the backend and found the system relied on exact string matches, with no logic to link cities and their multiple airports — unlike platforms like Agoda, Expedia, and Trip.com, which support airport codes and city-based grouping.

To fix this, I proposed grouping airports by city, so a search like “BKK” would also surface Don Mueang (DMK), not just Suvarnabhumi (BKK). We rolled this out ahead of the full revamp, leading to:

  • More intuitive search behavior for both partial names and airport codes

  • Reduced frustration around missing or misaligned results

Before

Rigid search that missed partial matches.

After

Smart search with airport codes and city grouping.

Confirmation State & Payment Timer Fix

While testing the full booking flow with the QA team, we discovered inconsistencies between what users saw on the confirmation screen and what they received via email. The app displayed only 3 final booking states, but email and backend records revealed additional states like pending confirmation or system-level failures leading to user confusion about whether their booking was actually completed.

We also investigated mobile payments, the most commonly used method in Myanmar. Some platforms enforced their own timeout rules, while others were more flexible. Together with the QA team, we tested all 7 integrated mobile wallets to understand the typical user completion time. Based on these findings, I defined a payment time window that worked reliably across platforms and surfaced a countdown in the UI to help users complete transactions with confidence.

We resolved both ahead of the full revamp, reducing confusion and improving payment success.

confirmation and email adjustment
confirmation and email adjustment

Mapping Email vs App Booking States in Figjam

Testing Completion Time Across 7 Wallets

Ideation & Craft

Ideation & Craft

Wireframes

After addressing key issues in the existing app, I created low-fidelity wireframes and an interactive prototype to explore improved flows, especially around traveler info and payment.

I also tackled search-related friction, like from/to field confusion and round-trip selection, by simplifying input logic and preventing mismatches.

The prototype was shared with internal stakeholders (product, ops, support) to gather quick feedback and validate key decisions before moving into visual design.

⚠️ Heads up!

Click through the live Figma prototype (Press “R” to restart the flow)

The Figma prototype isn’t available on mobile due to performance hiccups. Try it on desktop for the full

Visual Design & Internal Testing

After finalizing the wireframes, I collaborated with our UI/UX Designer to build a high-fidelity prototype: refining layout, visual clarity, and booking logic improvements. We reused existing UI elements wherever possible to maintain consistency and reduce development lift.

To validate the experience, I wrote a structured usability test script and conducted a moderated comparison test with 9 internal participants from various departments, excluding product and development to avoid bias. I facilitated the sessions alongside our UI/UX Designer, with support from a QA team member who helped observe and take notes.

Participants completed key booking tasks in both the current app and the prototype, allowing us to directly compare flow clarity, input usability, and task completion confidence.

Internal usability test script and task flow used for moderated comparison sessions.
Internal usability test script and task flow used for moderated comparison sessions.

Internal usability test script and task flow used for moderated comparison sessions.

Snapshots of internal usability test
Snapshots of internal usability test

Snapshots of internal usability test analysis

Prototype Used for Internal Usability Testing

Click through the live Figma prototype (Press “R” to restart the flow)

Design System Initiative

As we moved into high-fidelity design, we noticed inconsistent UI patterns: typography lacked clear hierarchy, spacing was uneven, and some text colors didn’t meet WCAG standards.

To bring clarity and cohesion, I led an internal design system effort with our UI/UX Designer. Following atomic design principles, we worked from both ends, defining core tokens like color, type, and spacing, while shaping components and layouts in parallel.

This system helped us stay aligned, speed up polish, and ensure the final UI felt consistent, accessible, and easy to build on.

Snapshots of DS Foundation
Snapshots of DS Foundation

Snapshots of DS Foundation

Snapshot of App Components
Snapshot of App Components

Snapshot of App Components

Testing & Evolving the UX

Testing & Evolving the UX

Final Round Testing & Iteration

Following the internal usability test, we updated the design to address key friction points like layout clarity, input behavior, and visual hierarchy. I collaborated with the UI/UX Designer to apply changes aligned with our emerging design system.

For the final round, I ran an unmoderated usability test using Maze. I prepared the prototype, wrote task-based questions, and analyzed the results. Participants were recruited with support from our Customer Support team to ensure a range of backgrounds and booking experience.

Public usability test script and task flow used for unmoderated evaluation in Maze

Snapshot of Maze unmoderated test result

Validating UX Improvements

The final Maze test confirmed improvements made after internal feedback. By streamlining layout and reducing visual noise, users moved through key flows more confidently.

Simplified first step for faster flow

From our discovery research and internal UT, we saw that users often paused at the very first step not because it was complex, but because the layout lacked clarity and the options felt overwhelming.

We streamlined the flow by grouping trip type and passenger count together, matching how users mentally plan a journey. Input fields were restructured with clearer spacing and improved contrast to guide attention and reduce friction.

Instead of asking users to choose between “Myanmar Citizen” or “Foreigner,” we simplified the action to a single toggle: “I am a Myanmar Citizen.”

Together, these changes made the first step feel lighter, faster, and easier to complete.

Revamp Homepage
Revamp Homepage

Revamp Homepage

Streamlining airport selection without breaking focus

To reduce back-and-forth friction in the booking flow, we introduced a linear “from → to” interaction model. Instead of selecting locations on separate screens or returning to the start, users move through both steps in one continuous motion.

When users tap Leaving from, the field auto-focuses with the keypad up by default, showing both recently searched locations and continue search history to pick up where they left off. Once completed, the Going to section immediately follows, highlighting trending destinations based on departure city (e.g. “RGN → SIN”).

This approach reduced effort, eliminated context-switching, and helped users complete the route setup faster.

Search
Search

Smart “From → To” flow with contextual suggestions

Calendar
Calendar

Redesigned date picker for departure and return

Refining return flight experience for round-trip bookings

From stakeholder interviews, we learned that round-trip bookings often led to user confusion—especially on the return flight page. Customer support frequently stepped in to assist.

During internal testing, participants described the return selection as “too busy” and “hard to scan.” While the departure info was helpful, its visual weight made the page feel cluttered.

We simplified the layout by minimizing the departure ticket display while preserving essential context, allowing users to focus on comparing return options.

One participant noted: “Much easier to choose the return flight now. it’s all in one glance.”

Depart and Return
Depart and Return

Departure and return ticket list views

Filter
Filter

Flight filters by class, price, time, and airline

Streamlined Traveler Input

From our discovery research and internal UT, we learned that the traveler form felt repetitive and some inputs, like date of birth, weren’t optimized for mobile. We streamlined the form with mobile-friendly pickers, added hint texts (like “as it appears in your passport”), and ensured users see only the essential info after filling it in. This helped reduce errors and made entering multiple travelers feel lighter and more intuitive.

Traveler Details
Traveler Details

Traveler details and input form optimized for mobile

Insurance
Insurance

Insurance selection integrated into traveler info

Smoother checkout with payment clarity

We improved the final step by organizing the checkout screen around key details: contact info, traveler list, and payment selection, without overwhelming the user.

In early QA testing, we found inconsistencies between what users saw after submitting payment and what was reflected in the backend. Some mobile wallets timed out without clearly informing the user, causing confusion around booking status. To address this, we introduced a payment countdown timer and displayed any associated fees upfront, giving users more confidence as they completed their transaction.

Payment
Payment

Payment overview before and after selecting a payment method

Done
Done

Booking confirmation screen with trip summary and hotel suggestions

Here are some of the direct responses we received from real users during Maze testing, ranging from usability impressions to feature suggestions. These gave us confidence that we were heading in the right direction.

Some verbatim feedbacks

Impact

Impact

Although I had to step away just before launch due to personal circumstances, I ensured all final design handoffs were aligned with development and QA for internal testing. By that point, we had already seen meaningful results:

2× faster

Search task completion speed after restructuring airport input flow

−50% fewer handovers

Between Ticketing and Customer Support teams after clarifying booking confirmation states

−30% failed payments

After redesigning the timer and feedback around booking/payment status

Higher user confidence

Validated through internal UT and unmoderated Maze test sessions

These early wins gave the team a solid foundation to move forward and gave me closure knowing I left on strong footing.

Reflection & Learnings

Reflection & Learnings

This project reminded me how much clarity, alignment, and small UX details matter especially in a space like travel, where timing and trust are everything.

From stakeholder interviews to Maze testing, I learned to balance business constraints with user needs, and how critical it is to validate assumptions through multiple rounds of feedback. Some of the most effective changes weren’t big redesigns but reframing small interactions that created confidence at the right moments.

On a personal level, stepping away before launch wasn’t easy. But seeing the work carried forward by the dev and QA teams, with everything in place for a strong release, was a moment of quiet pride.