BTP EA Rénovation
Six fields, not one more: the form is the product.
- Year
- 2026
- Design & build
- 3 weeks
- Stack
- Next.js · React · TypeScript · Tailwind · Vercel
- Design
- Development
- Local SEO
- Conversion funnel
- Copywriting

- qualifying fields
- 6
- call-back commitment
- 48 h
- location pages
- 9+
- CAPTCHAs
- 0
What needed solving.
The background
A Lyon-based finishing trades contractor — painting and decorating, plastering, floor and wall coverings, bathroom renovation — working across Lyon and the wider metropolitan area.
The constraint
A building tradesman does not lose customers for lack of visibility, but for lack of qualification. Calls that go nowhere cost hours: a job outside the area, an incompatible budget, work he does not do. The site had to filter before the call, without discouraging the right enquiries.
The response
The quote form sits on the first screen, not in the footer, and it is short: six fields that qualify the job — type of work, surface area, room, town, timescale, contact details. That qualification is what makes the call-back efficient; without it, the call starts with five minutes of questions.
Every design choice, and the reason for it.
The quote on the first screen
The form is not at the end of the page: it sits right next to the promise. Someone visiting a tradesman's site already knows what they want; making them scroll through three screens before they can act is a dead loss.
Six fields, chosen one by one
Every field removed increases the completion rate; every field added increases qualification. Six is the trade-off we settled on: beyond that, abandonment outweighs the information gained.
Before and after rather than work-in-progress photos
Tradespeople show their jobs in progress. Customers want to see the result. The gallery is built in before/after pairs, with the exact nature of the work.
The call-back commitment on display
“Call-back within 48 hours” is a measurable commitment, written above the form. A vague promise (“we'll get back to you quickly”) reassures no one.
Project palette
Site blue
#1D4E77
Structure, trust
Safety orange
#D9601A
Action, quotes
Concrete grey
#F2F3F5
Background
Ink
#1C2126
Text
Type system
Display
Outfit 700
Body text
Inter 400
Solid and unfussy. Surface areas and timescales use tabular figures so they stay aligned in the quote summary.
What's under the bonnet.
- Next.js
- React
- TypeScript
- Tailwind
- Vercel
Client-side and server-side validation
The form validates live to help people fill it in, then validates again on the server before saving. Client-side validation alone can be bypassed in ten seconds and lets anything through.
Anti-spam without a CAPTCHA
A honeypot field, submission timing and rate limiting. A CAPTCHA would have added friction to the one element the site has to protect — and it is a recognised accessibility barrier.
Instant notification
Each enquiry is sent by email with all the qualifying information in the subject line. The tradesman reads his phone between two jobs: the useful information has to fit in the preview.
How the site makes itself findable.
One page per arrondissement
Lyon's nine arrondissements plus the towns of the metropolitan area. Each page carries specific content — neighbourhoods, types of building, examples of jobs — rather than a town name swapped in.
Trade searches, not sector searches
“Peintre en bâtiment Lyon 3” (painter and decorator), “rénovation salle de bain Villeurbanne” (bathroom renovation): customers search for a trade and a town, never for “construction company”.
HomeAndConstructionBusiness markup
A dedicated type, a declared service area, services listed as Service items. This determines eligibility for the local pack.
Usable by everyone.
Since June 2025, the European Accessibility Act has required digital accessibility from a large share of online services. We build it in at the design stage rather than retrofitting it.
A genuinely accessible form
Associated labels, errors announced and linked to their field, tab order checked. A form is the component most often inaccessible on a website — and here, it is the only one that matters.
What was delivered.
- Home — express quote
- Services (painting, plastering, flooring, bathrooms)
- Before and after projects
- Service areas — 9 arrondissements + metropolitan area
- Contact
How the project unfolded.
Qualification
The six fields defined with the tradesman, based on his lost calls.
Design
Quote on the first screen, before/after gallery, measurable commitment.
Development
Double validation, anti-spam without CAPTCHA, notification.
Local SEO
Pages per arrondissement, trade-specific markup.
What we are often asked.
More of our work
GDPR compliance & SaaSKonsent by Kayzen
A banner vendor that audits banners is both judge and party: independence was the product.
Offensive cybersecurity & SaaSSentinel by Kayzen
Selling a security product to engineers: every claim had to be demonstrable.
Data & weather serviceMétéo Climat France
358 indexable pages, a map animated over 72 time steps — and not a single line of framework.
The same high standards, for your website.
A free audit of your current site, a quote within 24 hours and written reasoning — like the case study you have just read. Pay in three interest-free instalments; local funding schemes checked before you sign.