All work
Travel

Blue Reef Travels

Tailor-made Sri Lanka journeys, built from a structured catalogue

A Next.js and Sanity site for a Negombo tour operator, where tours, day-by-day itineraries, experiences, hotels and destinations are all first-class content rather than pages of prose.

bluereeftravels.com
The Blue Reef Travels website

Blue Reef Travels is a Negombo-based operator founded by Sachin Fernando, who has spent thirty-five years in Sri Lankan tourism and still personally oversees every tour. The business sells tailor-made journeys — which is exactly the kind of product a page-based website is worst at describing.

Modelling a tour instead of writing one

The catalogue runs from a ten-day Classic Discovery to a fourteen-day All Island Grand Tour, plus wildlife, honeymoon, family and adventure itineraries. Written as pages, that is ten near-identical documents that drift out of sync the first time a hotel changes.

So the content model breaks a tour into its parts. Separate document types cover tour packages, individual days, destinations, experiences, activities, hotels, customer reviews and blog posts, with itineraries composed from day documents. A five-day express tour and a fourteen-day grand tour share the same Sigiriya day. Update it once.

The practical result: the client adds a tour by assembling existing pieces in the Sanity Studio, and gets a complete, correctly cross-linked itinerary page out of it — no developer involved, no copy-paste drift.

The conversion

The visual design came from an existing HTML tourism template the client had already signed off on. Rather than rebuild it in Tailwind and argue about pixels, we ported it deliberately: Next.js 16 App Router and React 19, with the original template CSS kept intact, jQuery removed entirely, and "use client" applied only where a component genuinely needs interactivity.

That kept the approved design exactly as approved, and moved the argument to where it belonged — routing, data, images and performance.

What the site does

  • Tours, experiences, transport, destinations and blog, all CMS-driven.
  • Enquiry handling for tailor-made requests, delivered by email through Nodemailer.
  • Image handling through Sanity's CDN with Next.js image optimisation on top.

Work with us

Have something you want built?

Small enough to care about the details. Experienced enough to build the difficult parts. Tell us about the problem and we'll come back with a technical direction, scope, and timeline.

You work directly with the people building your product.