← Back to selected work

Project record / 03

Speed-to-lead / Local services

Speed-to-Lead With the Owner Still in Control

BrightFlow replies to an approved test lead in under a minute and alerts the owner. Follow-up stops as soon as a person takes over.

Problem

A plumber may get a new inquiry while driving or working in a customer’s home. Wait too long to reply and the job may be gone.

An automatic reply can cause its own problems if it invents a price, implies an appointment is booked, or keeps following up after the owner steps in.

Solution and trade-off

I built the demo for BrightFlow, a fictional plumbing company in Austin. The public form checks consent, bot signals, request shape, a hidden spam field, and rate limits before an approved test lead enters the private queue.

Private workflows classify text with personal details removed, write from approved business facts, alert the owner, update Baserow, and schedule exactly two follow-ups.

Before each send, the workflow checks human status and suppression. An ambiguous Gmail result goes to manual review instead of being sent again.

How it was tested

Run A exposed a timing bug: follow-up deadlines were set before the repaired initial email was delivered, so both follow-ups fired immediately. I changed the database model so the deadlines remain at infinity until Gmail confirms the first delivery.

Run B failed copy safety when model output implied scheduling authority. I tightened the prompt and validators to reject appointment, availability, discount, guarantee, invented-price, and unapproved-URL language.

A later run missed the response budget at 69.426 seconds. I preserved the failure, capped the two model calls at 15 and 8 seconds, and restarted the five-run acceptance sequence.

What passed

  • Five consecutive initial replies arrived in 42.457 to 50.465 seconds.
  • The five-run median was 48.286 seconds.
  • Accepted runs produced no duplicate or error deliveries.
  • All 28 automated safety and workflow checks passed.
  • Database tests covered human takeover, suppression, duplicate events, and ambiguous delivery.

5/5 ACCEPTED · 48.286 S MEDIAN · ZERO DUPLICATE OR ERROR DELIVERIES

Limits

The public form is allowlisted, and contact details outside that allowlist are discarded before persistence.

Human takeover has automated and database evidence. A full live-mailbox takeover and a full-stack reboot remain optional extensions.

Starting price / USD

Lead-to-Client Autopilot$700+ $150/month

Final scope depends on the CRM, sender identity, lead volume, compliance needs, and monitoring owner.

Built with n8n, PostgreSQL, Baserow, Cloudflare D1, Gmail, OpenRouter, TypeScript

BrightFlow is fictional. All timings and results are controlled test evidence, not a client result, conversion claim, revenue claim, or forecast.

Start here

Have a process you are tired of chasing?

Message me on Contra