Lavage Lebrun · Web Design

Lavage Lebrun

A bilingual lead engine for a pressure-washing crew — and a CMS they run themselves.

Lavage Lebrun
Lavage Lebrun is a pressure-washing and softwash company working across the Montérégie. Nova designed and built the whole thing: a French-first bilingual landing page, an address-verified quote funnel that can't drop an enquiry, an interactive service-area map, and an admin studio where the owner edits every section of the site in both languages without touching code.

Project Overview

Exterior cleaning is sold on proof. A homeowner deciding whether to pay someone to wash their siding wants to see the difference, in this neighbourhood, on a house like theirs. So the site is built around the crew's own job photography and around one job: getting a qualified quote request, in the visitor's language, with a verified address attached.

Lavage Lebrun before-and-after section: glass pool fencing, a glass railing and blocked gutters, each shown as a labelled Avant and Après pair

The proof section shows three jobs as labelled Avant/Après pairs, one per row. It started as a drag-to-reveal slider, which had to go: the crew shoots each angle freehand, so the two frames never register pixel-for-pixel and the slider visibly mismatched. Two honest frames at full width beat a clever widget that misaligns — and at full width you can actually see the hard-water spotting lift off the glass.

The Quote Funnel

The form asks for five things and verifies the address as it's typed through Google Places, so a quote arrives with a real property attached rather than a typo. Cloudflare Turnstile keeps the automated traffic out, and the endpoint is rate-limited server-side.

Behind it, every submission is written down locally before anything else happens, then pushed to the client's CRM. If that push fails the enquiry is still on file and the visitor still gets a confirmation — a lead-generation site that answers a filled-in form with "please try again" has already lost the job.

Bilingual by Default

The site is French first, with English a toggle away, and the copy for both lives in one content tree rather than two parallel templates. Every string a visitor reads — headings, service descriptions, the FAQ, form labels, validation messages — exists in both languages.

Lavage Lebrun services section with a photograph of the crew's work filling the top of the detail panel

A CMS the Owner Actually Uses

Section copy ships with the build as defaults; the database only stores what the client has changed, deep-merged over the top. The practical effect is that the site cannot be broken by an empty table or a half-finished edit — and the owner can rewrite a service description, in either language, or swap a job photo, from a studio themed to match the site itself. Admin access is handed out through signed, expiring invitation links.

Design & Build

Near-black surfaces with a single cyan accent, condensed Bebas Neue against DM Sans. The hero sits on a photograph of the crew softwashing a soffit, carried by three separate scrims so the headline stays readable without washing out the water spray. Scroll reveals, an auto-advancing service showcase, and a service-area map drawing the Montérégie boundary. Typed Vue 3 over an Inertia-driven Laravel 12 backend, Tailwind CSS 4, deployed on a dedicated Forge server with SSL.

Key Features

  • French-first bilingual site, both languages in one content tree
  • Quote funnel with Google Places address verification and Turnstile protection
  • Submissions stored locally before the CRM push, so an outage cannot lose a lead
  • Admin dashboard listing every quote request with its sync state
  • Client-run CMS over every section, in both languages, with image uploads
  • Signed, expiring invitation links for granting admin access
  • Interactive service-area map with per-region highlighting
  • Before-and-after job photography as labelled Avant/Après pairs
  • Privacy policy covering what the form collects and where it goes
  • Reduced-motion support and server-rendered social metadata

Technologies: Laravel 12, Vue 3, Inertia.js, TypeScript, Tailwind CSS 4, vue-i18n, Google Maps Platform, Cloudflare Turnstile, Vite

Visit live site →

← Back to projects