← All work·Case study 02

Sufi Travel & Tours: a travel agency platform that handles flights, hotels, and packages without lying to the customer about availability.

A travel agency platform that handles flights, hotels, and packages without lying to the customer about availability.

Frontend developerNext.jsReactREST API
Sufi Travel & Tours
Role
Frontend developer
Year
2024
Stack
Next.js, React, REST API
Status
Shipped

01 — Why it mattered

Customers were getting prices and availability that had already moved on. Trust in the booking step was eroding.

A travel agency platform that handles flights, hotels, and packages without lying to the customer about availability.

02 — Problem

The legacy frontend re-fetched on every interaction and still ended up showing stale inventory. The gap between price-quote and checkout was where customers left.

03 — Approach

Restructured the search-to-checkout flow around a single source of truth per session. Skeletons during fetch, optimistic filters, honest "hold expired" states instead of pretending nothing had changed.

04 — Build

Two months end-to-end. Wired the new components into the existing Next.js codebase, replaced the old data layer page-by-page so the team could ship the rewrite without freezing the site.

05 — Outcome

The fastest paint in the portfolio — 616ms LCP across 93 requests — and a perfect zero on cumulative layout shift, which is the metric that matters when prices are still resolving on screen. The page stopped moving under the customer.

LCP
616ms
fastest in the portfolio
CLS
0.000
zero measured shift
requests
93
on first load

06 — Reflection

The strongest move was refusing to paper over staleness. Honest UX scaled; the workarounds did not.

Visit live site

Next →Sufi Cheap FlightsA fast, mobile-optimised flight search site for UK customers, wired to live GDS fares.2023
N° 04 · Let's work

Have a thing
worth building?

I take on a handful of engagements at a time. Tell me what you have in mind — the earlier we talk, the better the chance I am free.