Mina Adel
العربية Book a call
All work Building a product

A hotel booking platform built for real traffic, in Arabic and English

Search, availability, checkout and payment — on cloud infrastructure defined in code, so it can be rebuilt from scratch on demand.

Sector
Travel technology
Year
2025
Built with
Next.js · React · TypeScript · Tailwind · Terraform · AWS

The result

  • Full booking journey: search, availability, checkout, payment, confirmation
  • Arabic and English throughout, with correct right-to-left layout
  • Infrastructure defined in code — reproducible, not hand-configured
  • Built to stay fast as the catalog and traffic grow

The situation

Travel is one of the least forgiving things to build. The catalog is large, prices and availability change constantly, and the moment a customer commits to a booking you are holding something real on their behalf. Get the state wrong and you have sold a room twice.

It also has to work in two languages. Not translated — genuinely bilingual, including a layout that mirrors properly for Arabic rather than one that has had the text swapped and the alignment left behind.

What I found

The interesting problems in a booking platform are not the pages. They are the moments between them: what happens when availability changes while someone is at checkout, when a payment succeeds but the confirmation does not arrive, when a customer opens the same search in two tabs.

What I changed

The platform was structured around the booking journey rather than around screens — search, hotel details, checkout, payment, confirmation — with each stage owning its own state, so a failure in one does not corrupt the others.

The bilingual layer was built in from the start rather than added later. That is the only way it works: retro-fitting right-to-left onto a finished interface means auditing every margin, every icon direction and every alignment in the codebase.

The cloud infrastructure was defined in code, which means the environment is reproducible. Rebuilding it is a command, not an afternoon of clicking through a console trying to remember what was configured last year.

The result

A complete booking platform across ten feature areas, fully bilingual, on infrastructure that can be recreated from scratch on demand.


For the technically minded

Next.js 15 with React 19, TypeScript and Tailwind; next-intl for locale routing with dir set at the document level and logical CSS properties throughout; Radix primitives, TanStack Query for server state, React Hook Form with schema validation, Google Maps for location search. Infrastructure provisioned with Terraform on AWS.

Client names and identifying details are withheld deliberately. Every figure on this page comes from a system I can open.

No cost, no pitch

Book a free 30-minute call

Bring the problem you keep postponing. We will work out whether it is worth fixing, what it would take, and whether I am the right person for it.

  • A slow system, and nobody can say why
  • An upgrade that has stalled
  • A build about to start, and you want a second opinion
Pick a time Straight to my calendar. No form to fill in first.
Mina Adel at his desk