Skip to content

Representative engagementHome services

Turning a quote form into an operational lead pipeline

Lakebridge asked for a more credible website and a better quote form. Discovery followed the lead past the submit button and found the costlier problem: every inquiry became an email that office staff had to interpret, chase and re-key into Jobber before an estimator could act. Future Built rebuilt the site so qualification happens at conversion and accepted requests land directly in Jobber.

Lakebridge is a representative engagement, not a historical client. It shows how Future Built approaches website-to-operations intake. Company facts, measurements and outcomes are constructed project data, economics are modeled, and interfaces use illustrative data.

Engagement
Website + lead operations integration
Duration
Four weeks
Role
Discovery, UX, implementation, integration, launch
A commercial building-washing landing page with the six-step intake open at its first question: what kind of property is it? The paid-search context is kept from the first click. Synthetic lead; illustrative interface.

A commercial building-washing landing page with the six-step intake open at its first question: what kind of property is it? The paid-search context is kept from the first click

Representative engagement · constructed project results

median staffed first response
2h 47m → 26mmedian staffed first response
office hours a month on intake, re-keying and chasing
10.9 → 3.2office hours a month on intake, re-keying and chasing
of web-qualified leads entered Jobber without routine re-keying
97%of web-qualified leads entered Jobber without routine re-keying

Summary

Lakebridge, a regional exterior-cleaning and property-maintenance company, wanted a cleaner commercial website and a better quote form. Discovery showed the form's real cost appeared after submission. Each inquiry arrived as an email, and a coordinator turned it into a usable request by hand: checking fit, calling back for missing details, then typing it into Jobber. Jobber already handled clients, requests, quotes and jobs well, so it stayed. Future Built rebuilt the site around conditional qualification, a deterministic service-area check and a direct Jobber integration that fails safely. The office stopped doing the website's intake work, and the estimator started from a structured request instead of an email.

The problem behind the website

The owner's request was reasonable: a more commercial-looking site and a better quote form. The paid-search freelancer who made the introduction had heard a different complaint. The ads produced leads, but the office called them inconsistent.

Discovery traced that complaint. Future Built interviewed the owner, operations manager, office coordinator and estimator, compared 60 days of web inquiries against their matching Jobber records, and watched the coordinator work five incoming leads.

The same lead, before and after. Before, three manual steps stood between submission and the estimator, and the lead waited at each one. After, intake logic and the integration carry it into Jobber; a person steps in only when something fails.

The same lead, before and after

The form asked for a name, an email and a message. It captured nothing structured about property type, where the work was, which service was needed, or whether the buyer was a homeowner or a property manager. Each submission landed in a shared inbox as an email, not a request. The coordinator read it, judged whether it fit the service area, called or emailed back for what was missing, then re-typed it into Jobber. Leads that arrived after hours often waited until late the next workday.

Of 126 submissions a month, 84 fit the service area and service mix. Median staffed first response was 2h 47m, and intake work consumed 10.9 office hours a month. A successful form submission still did not produce an operationally usable lead.

Build less, integrate better

Discovery weighed four options. Embedding Jobber's own request form was cheapest and operationally acceptable, but it limited conditional qualification, landing-page control and analytics. Connecting the existing WordPress form through a generic automation service was fast, but added a sync layer to maintain and kept a site the client already wanted replaced. A custom lead or CRM application would have rebuilt what Jobber already does.

Four options evaluated in discovery. The selected approach gives the website qualification, conversion and measurement, and leaves clients, requests, quotes and jobs in Jobber. Six things a bigger invoice would have included were left out; document upload waits until volume justifies it.

Four options evaluated in discovery

Future Built chose the fourth: rebuild the conversion surface and integrate Jobber directly. The website owns landing pages, qualification, conversion UX and measurement. Jobber keeps clients, requests, quotes and jobs, with no configuration overhaul. Just as deliberate is what was left out: no CRM, estimator, scheduling product, customer portal, payment processing or custom CMS. Own what creates differentiation. Integrate what does not.

Redesigning qualification

The new intake asks one question at a time across six steps, starting with the question the coordinator used to answer by hand: what kind of property is it? Residential, HOA/multifamily and commercial each open their own service list, so a facilities manager never scrolls past roof soft-washing. The visitor then gives the service location, which is checked against a deterministic ZIP rule. Out-of-area inquiries get a clear decline and referral path, and no request is created. In-area visitors add contact details, a company name where required, requested timing and an optional note. Missing fields are fixed in the form, not discovered on a callback.

Property class decides which services exist, so commercial visitors never see homeowner options. The ZIP check is deterministic, out-of-area inquiries get a clear decline with no request created, and the launch-era "Other" problem was solved with a branch, not more choices.

Property class decides which services exist, so commercial visitors never see homeowner options

Two parts came from testing, not the first draft. The prototype, clickable in week one, used a single property-address field. Staff testing exposed the flaw: a commercial requester often works somewhere other than the property being cleaned. The schema was split into contact, company and service location before content migration, which also kept address-based client matching from merging unrelated requesters at one property.

The second surfaced at launch. Commercial paid-search visitors kept choosing "Other" because the original services were written for homeowners. Instead of a longer generic list, the form now asks for property class first and scopes the services to it.

Connecting marketing to operations

The site runs on Next.js and TypeScript on Vercel. The browser and server share a Zod schema, but every submission is revalidated server-side, including the service-area check, before anything reaches Jobber. A valid submission is mapped across the boundary (contact and company to a Jobber client, service location to a property) and created through Jobber's GraphQL API. The OAuth token stays on the server, and client creation records the website as the lead source.

Qualification is re-checked on the server before any Jobber call, and the OAuth token never leaves it. Jobber is the record, so there is no app database; a submission_id ties logs, analytics and the request note together. Failed calls retry, then alert a person.

Qualification is re-checked on the server before any Jobber call, and the OAuth token never leaves it

There is no application database. Jobber already holds the durable record, and the site has nothing of its own that needs to persist. Traceability comes from a submission_id, a UUID that travels through structured logs, analytics and the note on the Jobber request.

If the Jobber call fails on a timeout, server error or rate limit, the endpoint retries with backoff, checking for that submission ID first so a retry cannot create a duplicate. If Jobber still fails, the system raises an integration alert and sends the office the complete request with its submission ID. The visitor receives a submission confirmation rather than an infrastructure error, while the coordinator completes intake from the fallback notification. An inquiry can arrive late; it cannot vanish silently.

Analytics events mark each stage, from form start and qualification branch through submit success or integration failure, so form friction and integration health are measured separately.

Ten fields define the whole boundary between website and Jobber. Staff testing split one address field into contact, company and service location, which also kept address matching from merging unrelated requesters. Price, lead score, estimate, schedule and payment are deliberately absent.

Ten fields define the whole boundary between website and Jobber

Constructed project data

Operational results

Results come from a constructed eight-week post-launch scenario, ordered by how much the new system can claim.

The strongest measure the workflow directly. Median staffed first response, from website timestamp to first logged contact, fell from 2h 47m to 26m, an 84% reduction; an after-hours inquiry now waits in Jobber with the office already notified. Office intake, re-keying and chasing fell from 10.9 to 3.2 hours a month. And 97% of web-qualified leads entered Jobber without office re-keying; the rest were integration exceptions or intentional manual handling.

The results the workflow change can claim most directly: 2h 21m removed from median staffed first response, 7.7 office hours a month released, and 97 of every 100 qualified web leads reaching Jobber untouched. Constructed project data.

The results the workflow change can claim most directly: 2h 21m removed from median staffed first response, 7.7 office hours a month released, and 97 of every 100 qualified web leads reaching Jobber untouched

Form start-to-submit rose from 62.1% to 74.6%. Attribution for that 12.5-point gain is medium: new landing pages launched at the same time.

Qualified lead to booked estimate moved from 31.8% to 36.9%. The 5.1-point difference appears in the cohort, but seasonality and lead mix changed too, so it is not presented as a conversion gain the site caused.

The economics stay separated too. The 7.7 released hours, at a modeled $30 loaded rate, represent $2,772 a year of office capacity, not a payroll saving. A secondary opportunity model based on the booking movement adds $15,299 a year. Together, $18,071 implies roughly 4.5-month payback on the $6,800 engagement, or about 29 months if only the capacity model holds. None of these figures is measured revenue.

Results ranked by how much the system can claim. Response time and workload sit closest to the workflow; form completion shares credit with new landing pages; booking rate shares it with seasonality and lead mix. The capacity and opportunity models are kept apart.

Results ranked by how much the system can claim

What this demonstrates

The website did not need to become Lakebridge's operating system. It needed to stop being a dead end in front of it. Once qualification happens at the moment of conversion and accepted requests arrive in the system the office already runs on, the last marketing interaction and the first operational one become the same step.

Built with

Next.js · TypeScript · Zod · Vercel · Jobber GraphQL API (OAuth)

Technical detail

Engagement shape
A four-week, $6,800 fixed-fee engagement delivered by one technical principal. The form was clickable before any page was designed, and launch was staged so live leads were never the test: test account, internal submissions, held-back paid traffic and a 48-hour rollback.

A four-week, $6,800 fixed-fee engagement delivered by one technical principal

All work
Diagram split by a vertical automation boundary. On the automated side: receive email and preserve source, parse and extract candidate values, validate and resolve with an operator, create structured CRM handoff. On the human side, fragmented pricing inputs and account context such as negotiated multipliers and legacy concessions feed the salesperson or estimator, who produces the commercially approved quote.

Representative engagementIndustrial distribution

Automating RFQ intake without automating commercial judgment

Another intake engagement where discovery narrowed the client's request and structured intake reaches the CRM without handing over judgment that belongs to people.

82% of RFQs routed to shortened review · ~38 hours a month released (constructed)

View case study