Skip to content

Roofing · AI automation

Roofing leads that know an emergency when they read one

Web leads sit in one inbox and get answered in the order they arrived. In a storm week, the leaking ceiling waits behind the gutter quote.

Every roofing lead is read for urgency, matched to a job, scored with its reasons and routed to a crew, with each step logged.

This is a concept build. Ridgewell Roofing is a fictional business. The code is real: open the demo and try the steps below.

The everyday problem

Web leads sit in one inbox and get answered in the order they arrived. In a storm week, the leaking ceiling waits behind the gutter quote.

Every lead is read, scored with its reasons and routed in seconds.

The hard part

  1. An emergency typed casually

    A phrase may carry up to two filler words, so 'water IS pouring' still matches 'water pouring'.

  2. 'Roof' appears in every roofing service

    Every service is scored. The longest match wins, and declared keywords beat words guessed from a name.

  3. A score nobody can explain

    The 0-100 score lists a written reason for every point it adds or takes away.

  4. Every crew already full

    The lead is held in the office queue with its score, not dropped.

  5. Two people book one window at once

    A unique index lets only one booking win. The other visitor is asked to pick again, and their lead is kept.

How it runs

Workflow

How a roofing lead moves from message to crew board.

Sample run
  1. Step 5: Pick a crew. Right skill and ZIP preferred; the least loaded wins.
    If this fails: Nobody free: held in the office queue.

Tap “On fail” to see what happens when a step breaks.

Edge cases we handled

What the system does in the unusual cases. Where there is a phrase, type it into the demo.
WhenWhat the system doesTry it
A customer writes 'water IS pouring through the ceiling'.Read as an emergency. The chat skips the time-slot step.water is pouring through the ceiling
A customer writes 'my roof is leaking'.Matched to leak repair, not a roof replacement.my roof is leaking
Two visitors pick the same window at once.The second is told somebody just took it, and the lead is kept.No phrase to try
Every crew is at capacity.Held for the office queue, and logged.No phrase to try
The ZIP is outside the service area.The score says so, and the chat ends with a call-back request, not a booking.No phrase to try

Guardrails and hand-off

Guardrails

  • Emergency words come from each company's own knowledge file.
  • The database, not a check in code, decides who gets a window.
  • The estimator shows a $0 service as free, never scaled into a price.
  • Estimates are ranges, never a firm price.

When a person takes over

Emergencies skip slot picking and are logged on the emergency route for the office. When no crew is free, the lead waits in the office queue with its score and reasons.

Not in this build yet

We would rather you hear it from us.

  • Confirmation, follow-up and review steps are logged only. No text or email goes out, and each log line says so.
  • Crew load is fixed in the demo data.
  • There is no routing by time of day.
  • The crew board has no login on the demo, so we never link to it.

Try it yourself

  1. Type: water is pouring through the ceiling

    Expect: Read as an emergency. The chat skips the time-slot step.

  2. Type: my roof is leaking

    Expect: Matched to leak repair, not a new roof.

Open the chat on the demo site. The chat button appears once you have scrolled a little, or after about 20 seconds. Please don't type real personal details.

Built with

  • TypeScript
  • Next.js
  • React
  • Node.js
  • Not in this concept build. The emergency route, the confirmation and the follow-ups are logged for the office, and each log line says nothing was sent. In your build, we connect the tool you already use.

  • Yes. It reads one knowledge file per business, so your emergency words, service area and prices drive it.

More work

How Kestrel and Dune Lake triage runs. Steps: Request arrives, then Read urgency, then Emergency?, then Pick the team member, then Hold the slot, then Office board.

  • Concept build
  • Property management
  • AI automation

Maintenance emergencies triaged in each company's own words

Everyday: Resident maintenance requests, owner questions and viewing requests all land in one place, and a routine request looks the same as an urgent one.

The hard part: Emergencies that differ by business

How CrestBay answer desk runs. Steps: Question, then Hand-off words, then n8n workflow, then Server knowledge base, then In-browser retriever, then Logged with its source.

  • Concept build
  • Roofing
  • AI services

A roofing assistant that keeps answering when the AI goes quiet

Everyday: The same few dozen questions about pricing, repairs and insurance arrive every day, and the answers change with who picks up.

The hard part: The AI service going quiet

How Rnext service engine runs. Steps: One knowledge file per business, then All read the same file, then Business id added on the server, then Own database per business, then Release automation.

  • Our own product
  • Multi-trade
  • AI automation

One engine, six businesses, and a price that never disagrees with itself

Everyday: The website says one price, the estimator says another and the chat says something else. Every new location means rebuilding the logic.

The hard part: The estimator and the price table disagree

Start a project

Want something like this for your business?

A 30-minute call, then a written plan and a fixed quote. No obligation.

  • A reply from a person within one business day.
  • Fixed price in writing
  • You own everything