
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.
















































Five collections, 21 units — apartments, a clubhouse, boutique suites, and villas — every one photographed and presented to the standard the interiors deserve.
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
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
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
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
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
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

A cinematic hero, scroll-reactive branding, and collections a click away — Sardinia redefined.
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.

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.