Brand
Vianni Jewellers
A Hatton Garden jeweller's full catalogue, over 300 individual pages, every single one routing enquiries straight to WhatsApp.
Vianni Jewellers
300+ pages of luxury, every one built to sell.
The build
Vianni deals in authenticated luxury watches and made-to-order diamond jewellery from Hatton Garden, and that world doesn't sell through a checkout basket. It sells through a conversation. So instead of forcing an e-commerce flow onto a luxury brand, I engineered the site around the way these sales actually happen.
Every piece in the catalogue, over 300 of them across Rolex, Patek Philippe, Audemars Piguet, Richard Mille, Cartier and more, has its own individual page, and every page carries a custom WhatsApp route. The message arrives pre-filled with the exact piece, its reference number, even the bracelet the customer picked. One tap, and the jeweller knows precisely what they're being asked about. No basket, no forms, no friction, just direct leads and enquiries landing in their hand.
The catalogue runs itself, too. Live inventory comes straight from a spreadsheet the jeweller already keeps, and the site turns it into pages, refreshing every ten minutes. New stock becomes new landing pages without anyone touching code, and without a CMS licence in sight.
- 300+Individual product pages
- 11Watch brands, each with its own collection
- 1 tapFrom any page to a WhatsApp enquiry
- 10minLive inventory refresh, no CMS
Technically engineered.
The decisions that make this build hold up.
- 01
A catalogue at scale, generated not hand-built
300+ pages isn't a template duplicated by hand, it's engineered generation. Every piece is statically built from the catalogue data with its own metadata, so the site behaves like hundreds of landing pages, not one long list.
- 02
Custom WhatsApp routing on every page
Each page composes its own enquiry route: brand, model, nickname, reference number, and the chosen bracelet variant, all pre-filled into the message. The jeweller knows exactly what the customer is looking at before saying hello, which is how enquiries turn into sales.
- 03
Inventory from a spreadsheet
The live catalogue is fed by a Google Sheet the jeweller already uses, pulled in on a ten-minute refresh with a bundled fallback so the site never breaks if the sheet does. Zero CMS, zero training, zero friction for the client.
- 04
Luxury-grade SEO
Every piece is individually indexable with Product structured data built from its reference number, deliberately price-free because the brand sells on request, plus a JewelryStore schema for Hatton Garden and a dynamic sitemap that covers the live catalogue. Long-tail searches land on exactly the right piece, one tap from an enquiry.
- 05
It feels as expensive as the stock
GSAP motion, a custom cursor, hero video, a sparkle canvas, and instant fuzzy search across the whole catalogue. Luxury customers judge the site the way they judge the shop floor, so the site holds up.
The real stack
Next.js 16 + TypeScript
Statically generated 300+ page catalogue
Google Sheets + CSV
Live inventory as the source of truth, no CMS
WhatsApp deep links
The entire conversion path, pre-filled per piece
GSAP
Luxury-grade motion and scroll reveals
Fuse.js
Instant fuzzy search across the catalogue
JSON-LD structured data
Product, JewelryStore, and breadcrumb schemas
Engineered around how luxury actually sells.
No checkout, no price tags, no friction. Three hundred pages, each one a shop assistant that opens the right conversation on WhatsApp, and a catalogue the client updates from a spreadsheet.
Where my services came in
Book a call
Loading calendar…
No time that suits? Message Joe on WhatsApp or email hello@calljoe.co.