The client
The Bath Atelier sells handcrafted bathroom fixtures — basins, faucets, toilets, mirrors, showers — to Lagos homeowners and specifiers who want luxury without the imported-price mythology. The brand's whole promise sits in one italicised word: luxury made attainable.
The challenge
Build a marketing site and filterable product catalog that feels like the showroom — calm, warm, quietly expert — and can be updated by regenerating, not hand-editing. No CMS overhead; no fragile hand-maintained HTML either.
What we did
A design system with a point of view. Porcelain and ivory grounds, champagne gold used sparingly, Cormorant Garamond with a single italic emphasis word per headline, wide-tracked uppercase overlines with a 40px gold lead rule. The voice rules are explicit down to banned words: never "budget" or "affordability" — always "attainable", "considered", "specified".
A generator, not a website. The entire 12-page site — home, collections, about, team, projects, contact, and five per-collection catalog pages — is produced by a single Python build script. Every block (navigation, heroes, product grids, quick-view modals, collection cards) is defined once. Change the source, regenerate, deploy over SSH. There is no page that can drift out of sync, because there is no page that's edited by hand.
A filterable catalog with 40+ products across five collections, JS-driven quick-view and filtering, and per-collection deep-link pages so a specifier can send a client straight to "Toilet Essentials."
Results
- Live site deployed and refreshable in one command
- 12 pages generated from a single source of truth — zero hand-edited HTML
- A brand voice consistent enough to be enforced programmatically
- Catalog architecture ready to grow with each new product shipment