A six-agent AI orchestration system designed for an exterior landscape construction contractor — turning a phone snapshot of paper-pad notes into a branded Google Doc proposal in minutes, not hours.
A landscape construction contractor was losing one to three hours per proposal to administrative work — at twenty proposals a month, roughly forty hours of office time spent on a process that produced the same kind of output every time.
The day-in-the-life was straightforward and repetitive. The contractor would drive to a property, walk the exterior, measure dimensions — patio footprint, planter bed lengths, retaining wall heights, grade elevations — and write notes on a paper pad. Material preferences, soil conditions, drainage concerns, existing hardscape to remove. Sometimes a rough sketch. Sometimes a phone photo. Then the day ended at the office.
Back at the desk, the work that actually paid the business — the building — was over for the day. What followed was one to three hours of deciphering his own handwriting, manually typing measurements into a Word doc, looking up material costs, calculating square footage, classifying the job size, assembling a proposal from scratch, and emailing it to the client.
The pain was not a missing tool. It was a missing pipeline. Notes lived on paper. Pricing lived in his head. Templates lived in old Word documents. Client history was scattered across phone contacts, email, and memory. Nothing was holding any of it together — and the only person who could do the assembly was the same person who needed to be on a job site the next morning.
The architecture was built around a clear principle: encode the contractor's domain knowledge first, then automate the pipeline around it.
Before any tooling decisions, ResonAi worked with the contractor to extract the institutional logic that lived in his head. Rate cards. Sizing thresholds. Complexity multipliers. The language he used to describe scope. The sequence in which work actually happens. Every proposal he had ever written contained these rules implicitly — the system needed them to be explicit.
Once the logic was encoded, the orchestration followed naturally. Each agent has a single job. An intake agent receives a photo of the notes — over WhatsApp, email, or a simple PWA. An OCR and extraction agent reads the handwriting and pulls out structured data with confidence scoring on every field. A data enrichment agent matches the client against the CRM and surfaces project history. A pricing and sizing agent applies the rate card and complexity rules. A proposal draft agent generates a branded Google Doc with narrative scope, itemized pricing, and timeline. A notification agent handles delivery, follow-ups, and tracking.
The orchestration runs on n8n, with Claude handling vision and language, Supabase holding the data, and the Google Workspace API generating the documents. It is deliberately built on commercial low-code infrastructure — the contractor is never dependent on a custom platform to keep operating, and any agent in the pipeline can be replaced or swapped out without rebuilding the whole system.
Each agent has one job, fails safely, and hands off validated output to the next. The contractor stays in control of every proposal.
Receives photos of handwritten notes via WhatsApp, email, or a simple PWA upload. Validates image quality, runs deskew and contrast preprocessing, and assigns a Job ID.
Vision LLM reads the handwriting and emits structured JSON — measurements, materials, drainage notes, client details — with confidence scoring on every field.
Fuzzy-matches the client against the Supabase CRM, surfaces project history and preferences, or creates a new record flagged for verification.
Applies the rate card, complexity multipliers, and job-sizing matrix. Produces line items, subtotals, tax, and a small/medium/large classification.
Copies the master Google Doc template, populates every field via the Docs API, and generates the narrative project overview and scope sections.
Alerts the contractor for review, delivers the approved proposal to the client, tracks opens, and triggers automated follow-ups on day three and day seven.
The system is implemented in phases, each delivering immediate value while building toward full automation. Phase 1 puts a working OCR-to-structured-data pipeline in the contractor's hands within four weeks.
Establish the data layer and the OCR-to-structured-data pipeline. Set up Supabase with the schema, import existing client data, build the rate card, and configure n8n with a webhook trigger that accepts image uploads.
Automate the full pipeline from notes to draft proposal. Build the Google Docs template, implement enrichment and pricing agents, connect the proposal draft agent to the Docs API, and turn on contractor review notifications via SMS and email.
Automate client communication and build the business intelligence layer. Implement the notification and follow-up agent, build a dashboard showing open proposals, win rates, and pipeline, and add e-signature capability and proposal versioning.
The numbers below are not aspirational. They follow directly from the time the contractor was already spending on proposal admin, the hourly value of that time when it goes back to billable site work, and the operating cost of the system that replaces it.
The system has near-fixed operating cost. Once the pipeline exists, every additional proposal it processes drops almost all of its recovered value straight to net.
No custom platform dependencies. Every layer is replaceable, observable, and priced in dollars per month rather than dollars per seat.
The system pays for itself many times over. Against a thirty-proposal-per-month workload, total operating cost lands between $86 and $204 — versus roughly $2,600 in opportunity cost saved by returning the contractor's office time to billable work.
No proprietary glue. Every component is a commercial product with a documented API, so the architecture can evolve without a rebuild.
The technology stack here is unremarkable. Vision models, low-code orchestration, a Postgres database, and a document API are all commercial commodities. The leverage is in the design discipline that ties them together.
The contractor's rate card, sizing thresholds, and scope language are encoded in the system before any agent is built. The pipeline automates the contractor's decisions — not a generic notion of "what proposals look like."
Each agent has one job and one definition of done. Low-confidence extractions are flagged for review rather than silently propagated. The contractor never has to debug the pipeline to understand what went wrong.
The contractor reviews and approves every proposal before it reaches a client. The system removes the assembly work, not the judgment.
Phase 1 delivers working OCR-to-JSON in four weeks. The contractor sees value before the full system is in place — which is what funds the discipline to finish the rest of it properly.
The same orchestration pattern applies to claims intake, support triage, broker inquiries, report generation, approvals, internal knowledge search, and most operational workflows that move information from one place to another. Start with a conversation about yours.