Case 02 · Plumbing Solutions
The photos are the product
The referral gets you looked up
Harry Twigg · 18 October 20253 min read
The referral gets you looked up
Like Ravenscroft, this is a referral business — decades of work, most of it repeat customers and word of mouth. And like Ravenscroft, the referral is only the first half of the transaction. The name gets passed across a fence or a kitchen table, and then the homeowner does what everyone does with a name now: they search it. Until this project, the search found nothing.
What that search needs to find is different here. A patient checking an anaesthetist wants credentials. A homeowner checking a plumber before a five-figure bathroom wants photographs — proof the work is real, recent, and to the standard they're imagining. The site's job is to be the portfolio that arrives thirty seconds after the recommendation does.
That framing decided almost everything below. The homepage is not a brochure with a gallery at the bottom. It is a gallery with just enough words around it.
The photos are the product
The business arrived with their Facebook page, which meant real bathrooms in real houses: inconsistent lighting, mixed resolutions, and more honesty than any stock photo. I kept them. A stock image of a bathroom tells a customer nothing except that you know where to buy stock images.
The gallery is built to be handled, not glanced at — images zoom on mobile, because that is where the deciding happens, usually on a sofa with a phone. And it's a Payload collection, not markup: when a job finishes, the owner uploads the photo and hits publish. The newest bathroom on the site should always be the last one he tiled.
Choosing the palette
Every plumber in Hampshire has the same generic blue/white/grey website. I wanted to go upmarket instead — emerald and gold, because the work being sold is luxury bathroom installation and the site should look closer to the bathrooms than to the van. The palette does the positioning on its own, before a word is read.
Design took longer than the code. That was the right allocation, not a confession: on a site like this, the design is the argument, and the code's job is to stay out of its way.
Fig. 3The build underneath
The stack is the same as Ravenscroft's — Payload behind Next.js, deployed on OpenNext to AWS, and the same shallow content model philosophy: services, gallery, testimonials, each a collection the owner edits against a live preview and publishes when he's ready. Nothing goes live by accident.
The engineering problem specific to this site is weight. A page that is mostly photographs is a page that is mostly bytes, and the customers are on phones. So the page loads in the order a visitor reads it: the bathtub and the logo first, the rest of the gallery after the paint is dry. Nobody waits for a photo they haven't scrolled to yet.
Result
Since handover, the gallery and testimonials have been his to run, and he runs them. He hasn't needed me since — not one call, not one "how do I." That was the design goal of the admin panel, and it's the only metric on this page: the site earns its keep the same way he does. Show the work, and be there when someone looks.
The newest bathroom on the site should always be the last one he tiled
Harry