01 · CVC · Travel

CVC FlightBooking Redesign.

Brazil's largest travel app had a 2.0★ rating, 40-second loads, and 6% checkout conversion. I proposed a 1-month A/B bet instead of a 6-month redesign — and delivered results in the first month.

B2CMobile AppTravelSolo designer

2.0 → 4.6★

App Store rating

+212%

Checkout conversion

+23%

Cross-sell revenue

01 — Context

The problem was
deeper than performance.

CVC is Brazil's largest travel company — 1,600 stores, 30M customers, R$17B in annual bookings. The app had a 2.0★ rating and the mobile team was treated as a backup to the website. No native experience, no GPS, no fluid interactions. The entire booking flow ran on webview.

I was the solo designer on the project, working with 25 engineers, 2 PMs, and 2 Tech Leads. Existing research pointed to the symptoms. My job was to find the root cause and propose a plan stakeholders would actually say yes to.

25

Engineers

1

Designer (me)

40s

Old load time

2.0★

App Store rating

02 — Root cause

Webview treated as backup.
No reason to install the app.

Most 1-star reviews cited freezing — not design. The entire booking flow ran on webview inside a native shell. No GPS, no haptics, no native rendering. Users had the same experience as the website but worse. There was no reason to install the app at all.

Benchmarked Hopper, Skyscanner, Kayak, AvisaSales, and Decolar. All three principles — guided flow, one flight at a time, fully native — CVC was doing the opposite on all three.

2.0★ app rating

Webview crashes on low-end devices

40s loading time

Webview rendering, no native optimization

6% checkout conversion

Combined outbound+return cards — too much cognitive load

No reason to install

Same experience as desktop website, but worse

03 — The strategy

I proposed a 1-month bet
instead of a 6-month rebuild.

Go native on flights first — the most profitable product. Run a 50/50 A/B test in production for 1 month with metrics defined upfront. If it works, scale to hotels, packages, car rental. That's how I got stakeholders to say yes: smaller scope, contained risk, clear go/no-go criteria.

01

Go native

Webview was the root cause. Build a fully native, unique experience — not a port of the website.

02

Start with flights

Most profitable product. Prove the concept here, then scale to hotels, packages, and car rental.

03

Validate first

Usability test the riskiest decision. A/B test 50/50 in production for 1 month with clear success metrics.

04 — The riskiest decision

Separate outbound and return.
Stakeholders were against it.

The combined outbound+return card was the default. Everyone assumed it was correct. I ran a Maze A/B test with 10 users before committing to hi-fi.

B — Combined

18.9s

Score: 40

“Too much info”

A — Separated

9.4s

Score: 97–100

“Practical, no back and forth”

101% faster. Evidence > opinion. We moved to hi-fi with confidence.

B — Combined

Outbound + return on one card. 18.9s to choose. “Too much info.”

05 — The product

Guided search. One flight at a time.Confirmation before checkout.

The new flow replaced a fragmented multi-step search with a linear 3-step guided experience — destination, details, dates. Results show one flight at a time, outbound then return. Flight details expand inline without leaving the list. Confirmation appears before checkout, not inside it.

Destination search

Destination — type a city, pick an airport. No fragmented multi-step form.

Trip details

Details — passengers, cabin class and stops in one native step.

Date selection

Dates — outbound and return on a single, clear calendar.

Hi-fi prototype

The whole app, prototyped
and tested end to end.

I built the entire experience as a clickable hi-fi prototype — guided search, results, flight details, baggage, passengers and confirmation — not just isolated screens.

That let me run real usability tests on the full journey before a single line of code — validating the one-flight-at-a-time decision and handing engineering a flow already proven to work.

Behind the screens — the process

Rigor before pixels.The work behind the work.

01 · The evidence

It started with the whole market.

Hopper, Skyscanner, Kayak, AvisaSales, Decolar — every leading flight app, mapped screen by screen. Three principles kept repeating: guided flow, one flight at a time, fully native. CVC was breaking all three.

5 appsbenchmarked end-to-end
Competitive benchmark of leading flight apps
Navigation flow remapped — current vs ideal

02 · The architecture

Then I remapped the flow.

The current webview sitemap, mapped against an ideal one — a linear, guided architecture with one decision per screen, outbound then return, and a confirmation before checkout instead of inside it.

Current → idealnavigation flow remapped

03 · More from the process

UX audit

UX audit

Every friction point in the legacy webview flow, annotated screen by screen.

Wireframes

Wireframes

Lo-fi structure for the whole flow before committing to a single hi-fi pixel.

Wireframe cross-validation

Wireframe cross-validation

Impediments, suggestions and effort scored per screen with the team.

Usability test — Maze A/B

Usability test — Maze A/B

The outbound/return split, validated. Variant A won 97–100 vs 40.

06 — More of the product

Five more screens.One focused device.

Scroll — the device stays, the screen changes.

Baggage details on search

07 — Outcomes

Results after 1 month live.A/B tested 50/50 in production.

Tracked via Mixpanel

Checkout conversion rate — end-to-end flight booking

6.4%

Before

20%

After

4.6★

App Store rating

2.0★ → 3.2★ (1 month) → 4.6★ (full rollout)

+23%

Cross-sell revenue

Baggage tier upselling

−60%

Support tickets

"Navigation doesn't work!" complaints

08 — What I learned

01

Define metrics before pixels.

Setting success metrics upfront aligned PM, Engineering, and gave me clear go/no-go criteria. It's what made the A/B test decisive instead of debatable.

02

Test the riskiest decision first.

Testing the outbound/return split before investing in hi-fi gave me the evidence to challenge stakeholder assumptions confidently.

03

Sell a bet, not a vision.

1-month A/B test instead of 6-month full rebuild. Smaller scope, contained risk, metrics upfront. That's what got the yes.

04

Native DS compounds.

Investing in mobile-specific components improved usability in ways that web-ported components never would have. The experience felt like a different product.

See it in product

The systems behind
the products.

Rappi Onboarding →Design Systems →Get in touch