Zeustudio

CASE STUDY · CUSTOM WEBSITE · LOCAL TRADE · WINDOW CLEANING

ClearView

Full prices on the page. Most window cleaners hide them.

A custom marketing site for an independent window and gutter cleaner in Warwickshire: full prices on the page, a service page per trade, and a local search page per town.

  • Next.js 16.2 (App Router)
  • React 19
  • TypeScript
  • Tailwind CSS v4 with custom OKLCH colour tokens
  • Motion (Framer Motion v12) for scroll reveals
  • Bricolage Grotesque and Hanken Grotesk via next/font
  • Lucide React
  • Custom Next.js API route for form handling
  • Vercel (static CDN delivery, 28 prerendered routes)
Visit the live site

The brief

Josh had an existing site that was getting visitors but converting poorly. Prices were hidden, the service breakdown was vague, and he was not ranking across the Warwickshire towns he actually covers. The rebuild had three goals: show prices in plain view (something most window cleaners refuse to do), explain each service clearly so customers arrive already informed, and be found in Google searches across six specific towns.

What we did

  • Home page with hero image, visible starting prices, services overview, reviews strip, coverage area summary, and a persistent callback call to action
  • Five service detail pages: window cleaning, gutter and fascia cleaning, gutter clearing, conservatory and orangery cleaning, and full exterior valet
  • Six town pages targeting local search: Stratford-upon-Avon, Warwick, Royal Leamington Spa, Kenilworth, Alcester, and Redditch, each a standalone page
  • Dedicated pricing page with full price tables by property size for both window cleaning rounds (6-weekly and 12-weekly) and gutter and roofline work
  • Callback request form with server-side handling, honeypot spam protection, and accessible validation
  • Sticky tap-to-call bar on mobile so the phone number is always one tap away on any page
  • JSON-LD structured data on every page for local business, services, reviews, breadcrumbs, and FAQs
  • Email signature with a standalone install guide page for one-click copy into Gmail, Outlook, or Apple Mail

The numbers

6
Warwickshire towns, each with their own Google-ready page
Prices shown
Full price tables upfront, most competitors hide them
1 tap
Phone number always reachable on any mobile page

Gallery

/work/clearview/01.jpg
ClearView gallery 1
/work/clearview/02.jpg
ClearView gallery 2
/work/clearview/03.jpg
ClearView gallery 3

What we said no to

  • Hiding prices. Visitors who arrive at the contact form already knowing what they will pay are much closer to a booking than a speculative enquiry. Transparent pricing was a deliberate conversion decision.
  • WordPress or a page builder. All content lives in TypeScript data files. There is nothing to break, no plugin updates, and every page prerendered at build time.
  • Automated online booking. Josh confirms every job personally before starting. An automated booking flow would have created the wrong expectations and attracted out-of-area requests. The form captures the enquiry; the call closes it.
  • An off-the-shelf template. The design is built from scratch with a specific warm, restrained aesthetic to stand apart from the generic trade-website look.

Stack

  • Next.js 16.2 (App Router)
  • React 19
  • TypeScript
  • Tailwind CSS v4 with custom OKLCH colour tokens
  • Motion (Framer Motion v12) for scroll reveals
  • Bricolage Grotesque and Hanken Grotesk via next/font
  • Lucide React
  • Custom Next.js API route for form handling
  • Vercel (static CDN delivery, 28 prerendered routes)
NEXT PROJECTBoxwave

Want something like this?

30 minutes, no pitch deck.

Get a quote