Master Voyage
A bilingual travel super-app for the Mauritania/MENA market: flights, hotels, packs, e-SIM and Omra in one place. Built around one hard problem: getting users to trust online payment.
Five services. One app. Zero trust in online payment.
Master Voyage had traction (5,000+ downloads), but the product had grown service by service without a unified vision. The hotel module was underused, the payment flow created friction, and a new strategic service (curated travel packs) was about to launch with no clear place in the app. In a market where most users have never paid online, every extra doubt costs a booking.
In Mauritania, the checkout screen isn't where you close a sale.
It's where you earn a first-ever online payment.
Design the journey around trust, not around screens
I redesigned the core journeys end-to-end: hotels A→Z, Omra, Packs, and the payment process across all five services. Then I rebuilt the Home around the client's real business priorities, and instrumented the whole product so every future decision is backed by data.
UX Audit & Flow Mapping
Before redesigning anything, I audited the live app against booking-industry standards (Booking, Wego, Almosafer) adapted to the local market: trust signals, payment reassurance, bilingual FR/AR readiness. The audit surfaced the gaps that shaped every decision after: missing trust badges, no social proof on hotel cards, inconsistent price formats, and a payment step with no help path.
Iterating the Home with the client: 8 directions
The Home carried the whole business: 5 services, promos, loyalty, a time-limited deal banner. I explored 8 structural directions: deal-first, discovery-first, bento grids, boarding-pass patterns. Each answered one question ("what if the user never scrolls?"). The client picked a direction; we refined it together into the final layout with an e-SIM section (flag · offer · price) and a conditional "My Next Trip" banner.
Launching a new product line: Pack Japan · Girls Trip
When marketing greenlit a curated women-only Japan trip, I turned a PDF brief into shippable screens in one day: a pack list (the missing entry point), a detail screen with two new patterns (an accompanied-trip host card and an optional add-ons selector), plus a photo brief for the graphic designer with exact Figma slots, sizes and cultural constraints.
Instrumenting the product: before scaling it
I designed the full analytics layer: a master funnel parameterized by service, a promo attribution system (entry_point on every booking), payment-failure tracking by method and error code, and a "payment guide opened" signal that measures pre-payment confusion. Delivered as three documents: tracking plan, dev integration guide, and a CLAUDE.md so the developer's AI agent enforces the naming conventions I defined.
Category taps always open a list, even with one item
One pack or ten, tapping "Packs" opens the same catalog screen. No conditional navigation. The mental model stays stable, and the screen scales the day pack #2 launches, with zero dev rework.
The Home search is a doorway, not a form
Each service routes to its own dedicated search screen. Duplicating live search fields on the Home would have meant two sources of truth for the same query. The Home card looks like search, and honestly routes to it.
Payment confusion is a metric, not a guess
The payment flow has a "See guide" button. I made every tap on it a tracked event with the step it was opened from, turning user hesitation into a measurable, fixable signal instead of an anecdote.
A destination accent, not a gendered cliché
For the women-only Japan pack, pink was requested. I shipped it as a sakura accent justified by the destination, limited to 3 touchpoints, CTAs untouched. A future Dubai pack gets sand gold under the same rule. The design system survives every launch.
Promo banners must obey the layout rhythm
Full-width promo blocks were breaking the scroll cadence between card sections. Two patterns shipped: a slim strip that matches section height, and a native promo card sized exactly like the hotel cards, inserted inside the rail.
This project was designed with an AI-first process, not AI-generated screens but AI-accelerated decisions:
The developer's AI agent enforces my naming conventions in code review, so the design intent survives past the handoff.
