AZULIS

A design-led brand site for luxury stays in Sardinia.

Rental12 — 2026

The Brief

A new luxury hospitality brand needed a website that could carry it — design-first, fast everywhere, and ready to rank internationally from launch.

AZULIS is Sardinia's first design-led luxury short-term rental brand: five collections and 21 units across Olbia and Golfo Aranci, positioned between vacation rentals and five-star hotels. The brand sells on materials, lighting, and detail — so the site had to hold itself to the same standard.

We built a fully static Next.js site with interactive maps, multi-language support, structured data on every page type, and a Cloudflare R2 image pipeline serving 140+ photographs — then migrated the domain off Wix with zero downtime.

The Collections

Five collections, 21 units — apartments, a clubhouse, boutique suites, and villas — every one photographed and presented to the standard the interiors deserve.

What We Built
01

Collection Showcase Pages

Five collection pages covering 21 units — each with a full-bleed hero, infinite gallery slideshow, keyboard-navigable lightbox, and unit cards with live specs.

  • ◆Statically generated per collection
  • ◆Lightbox with arrow-key navigation
  • ◆Unit cards with bedrooms, beds, baths, guests
02

Interactive Property Maps

Mapbox maps on every collection page plus a multi-pin index of all five locations across Olbia and Golfo Aranci — with graceful fallback if the map can't load.

  • ◆Brand-gold markers with popups
  • ◆Distance and neighbourhood info per collection
  • ◆Degrades cleanly without a Mapbox token
03

Internationalisation

Full i18n routing and localised copy via next-intl, so international guests browse in their own language with correct hreflang alternates throughout.

  • ◆Locale-aware routes and navigation
  • ◆hreflang alternates on every page
  • ◆Translated metadata and structured data
04

SEO & Structured Data

JSON-LD schema across the site — LodgingBusiness, CollectionPage, BreadcrumbList, FAQPage — plus dynamic sitemaps, canonical URLs, and AI-ready quick answers.

  • ◆Schema.org coverage on every page type
  • ◆Dynamic sitemap and robots generation
  • ◆FAQ content structured for AI search
05

Image CDN Pipeline

140+ photographs served from Cloudflare R2 through a custom Next.js image loader — CDN delivery in production, local fallback in development.

  • ◆Custom loader rewrites to images.azulis.it
  • ◆Pre-optimised WebP throughout
  • ◆R2 sync tooling with no AWS CLI required
06

CMS Overrides, Static Core

Property data lives in typed TypeScript files, with optional Convex CMS overrides applied at build time — the site stays fully static and never breaks if the CMS is unavailable.

  • ◆Build-time queries, zero runtime CMS calls
  • ◆Graceful fallback to static data
  • ◆Slug mapping decouples URLs from CMS naming
AZULIS homepage
azulis.it

A cinematic hero, scroll-reactive branding, and collections a click away — Sardinia redefined.

Mobile First

Built for guests on the move

Most guests find AZULIS from a phone — often mid-trip. Galleries, maps, and enquiries all work beautifully at thumb reach, with the full photography library a swipe away.

AZULIS mobile homepage
Tech Stack
Next.js
React
TypeScript
Tailwind CSS
Motion
Mapbox
Convex
Cloudflare
Vercel
The Result

A brand site that looks the part and performs like a static site should — live on azulis.it, in multiple languages, with search engines fully served.

Every page is pre-rendered and served from the edge, with imagery delivered through a dedicated CDN. Structured data covers the business, collections, breadcrumbs, and FAQs — including quick answers formatted for AI search. The CMS layer is optional by design: content edits flow in at build time, and the site can never go down because a backend did.

The launch included a zero-downtime DNS migration from the brand's previous Wix site, preserving continuity for a business with live bookings across Google, Airbnb, and Booking.com.

Visit azulis.it