Construction & roofing

Muller Toiture

A leaking roof isn't handled like a renovation project: two journeys, one site.

Year
2026
Design & build
4 weeks
Stack
Next.js · React · Tailwind · Vercel
  • Design
  • Development
  • Estimating tool
  • Local SEO

Demo version put online by Kayzen Web at a Vercel address; the final domain belongs to the client.

https://mullertoiture.vercel.app/
Home page of the Muller Toiture website — Construction & roofing, built by Kayzen Web
separate journeys
2
questions for an estimate
3
Lighthouse SEO
100/100
The starting point

What needed solving.

The background

Muller Toiture is a roofing company based in Mions, working across east Lyon and Nord-Isère: roofing, zinc work, insulation, moss removal.

The constraint

Two customers with opposite behaviours land on the same site. The one with a leak wants a phone number, right now, often on a Sunday evening. The one thinking about re-roofing wants a ballpark price and will get three quotes over two months. A single journey would have served both badly.

The response

Two separate entry points from the very first screen. A permanent emergency banner with the phone number, visible without scrolling. And, for the second customer, a roof estimator that gives an instant price range based on surface area and roof type. One captures the emergency, the other the long-term intention.

Measured, not claimed

The scores recorded at delivery.

Lighthouse scores for the live site. We publish them as they are: when one is low, its cause and the plan to fix it are set out below rather than glossed over.

PageSpeed
75
Performance: 75 out of 100
97
Accessibility: 97 out of 100
100
Best practices: 100 out of 100
100
Search engine optimisation: 100 out of 100
Design & art direction

Every design choice, and the reason for it.

  1. A permanent emergency banner

    A tappable number, always visible, never hidden by scrolling. For a leak, the only metric that matters is the number of seconds between arriving on the site and making the call.

  2. A three-question estimator

    Surface area, roof type, condition. The result is a price range explicitly presented as such, with its assumptions. Giving an exact price would be dishonest; giving nothing sends the visitor to the competitor who dares.

  3. Moss removal treated separately

    A low-value but high-volume service, often searched for on its own. It has its own page rather than one line in a list.

Project palette

  • Slate

    #39434D

    Structure — the colour of the material

  • Roof tile

    #B15A2B

    Action

  • Sky

    #EEF3F7

    Background

  • Emergency red

    #C0392B

    Leak banner only

Type system

Display

Outfit 700

Body text

Inter 400

The emergency red is strictly reserved for the leak banner: an alert colour used as decoration stops alerting anyone.

Engineering

What's under the bonnet.

  • Next.js
  • React
  • Tailwind
  • Vercel
  1. An estimator that runs entirely client-side

    The calculation happens in the browser: no server call, no waiting, no personal data collected before the user decides to share it. Contact details are only requested once the result is displayed.

  2. An identified performance job

    75 for performance, due to the project gallery. The plan is written: AVIF conversion, srcset and splitting the gallery into pages. The score is public, so it is more useful to explain it than to hide it.

Search engine optimisation

How the site makes itself findable.

  1. Emergency searches and project searches

    “Fuite toiture urgence Lyon” (emergency roof leak), “couvreur Mions” (roofer), “prix réfection toiture Nord-Isère” (re-roofing prices). Three intentions, three families of pages: mixing them means ranking for none.

  2. An explicit service area

    The towns actually served are listed and marked up. A tradesman who claims to cover “all of France” loses the town-level search, which is the only one that converts.

Accessibility

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.

  1. An estimator usable by keyboard

    Native fields, the result announced in a live region, no step relying on drag and drop.

Site structure

What was delivered.

  • Home — emergency + estimator
  • Roofing and zinc work
  • Insulation
  • Moss removal
  • Roof estimator
  • Service areas
  • Contact
Method

How the project unfolded.

  1. Enquiry analysis

    Two profiles identified from the calls received.

  2. Design

    Emergency banner, estimator, separate journeys.

  3. Development

    Client-side estimator, forms, notifications.

  4. SEO

    Three families of pages, service area marked up.

Questions

What we are often asked.

Less risky than showing none. A visitor who cannot find a ballpark figure goes looking for one elsewhere and does not come back. A range with its assumptions written out protects the tradesman, frames the discussion and filters out enquiries that are over budget.

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.

Share