Skip to main content

Field Service Platform

One record per job for a trades contractor: write-up, quote, approval, dispatch, closeout, invoice, QuickBooks.

Experiments·Alpha·Rev. 2026·Next.js · Postgres · Claude

What is the iSimplifyMe Field Service Platform?

The Field Service Platform is a system iSimplifyMe built for a commercial plumbing contractor with about fifty technicians. It carries each job in one record: a technician's dictated write-up, the quote, the customer's approval on their own phone, dispatch, the closeout, and an invoice pushed into QuickBooks, which stays the ledger. Claude Opus 5 drafts write-ups from spoken notes and reads supplier documents into line items, but never sets a price. It was built end to end and demonstrated on the contractor's own records, with the QuickBooks Online round trip verified against a sandbox company.

Abstract

iSimplifyMe built the Field Service Platform for a commercial plumbing contractor with about fifty technicians. It carries a job in one record from the write-up to the payment: the quote, the customer's approval, dispatch, the technician's day, the closeout, the invoice, and the accounting entry.

QuickBooks stays the ledger. Claude Opus 5 handles the two steps where reading beats typing: turning a technician's spoken notes into a write-up, and turning supplier documents into line items.

Problem

A contractor's work lives in pieces: an estimating spreadsheet, a scheduling app, a truck-tracking portal, accounting software, and paper time sheets. Every quote is typed into accounting by hand at send, again at award, and again at invoice.

Pricing waits on one estimator, and the follow-ups live in spreadsheet comments that disappear when a row moves. A site visit becomes a quote days later, after the details have faded.

Institutional customers can take months to award a quote, and material prices move in the meantime. The re-quote is done by hand, and the customer cannot see what changed.

Approach

One record per job

Every stage writes to the same job, down to each version of the quote and every status tap, stamped with the name of the person who made it. Every table carries an organization key, so the schema is built for more than one contractor.

Field write-ups

On site, a technician dictates or types a sentence or two and can attach a photo. Claude Opus 5 returns a structured write-up in the contractor's own format: location, issue, resolution steps, material list, labor hours, crew, duration, matching standard scopes, and the questions to settle before pricing.

The model takes its format from the contractor's own standard scopes and three of its past write-ups, and it reads fixture details and pipe sizes from the photo.

It never sets a price. The write-up lands in the estimator's queue.

Estimating queue and pricing

The estimator works from one queue: every quote waiting on a price, oldest first, with its comment thread attached. A pricing engine applies the contractor's own formula for labor, materials, and subcontractors.

A price book mined from the contractor's estimating archive gives each work type its median price, the spread of its middle half, and its typical labor hours. The final number stays the estimator's, and the engine's figure is kept beside it, so the gap is on the record.

Approval and re-pricing

The customer approves from a link on their own phone, with no account to create. Retail customers choose between good, better, and best options; institutional customers see one price and a purchase-order line.

Approval puts the job in the dispatch board's unassigned lane and texts the office. When an award arrives months later, the quote is re-priced at today's material cost with the estimator's margin carried forward.

The re-price becomes version two of the same quote. The customer's page shows the reason and the previous price, and the same QuickBooks estimate updates.

Dispatch and the technician's phone

The dispatch board lays out each crew's day, with a lead and helpers on every job, and unfinished work carries forward to the next day. The technician's phone shows the day's jobs and moves each one through en route, on site, and complete.

While location sharing is on, the phone reports its position every 30 seconds, or sooner when it moves 30 meters. Two consecutive fixes within 150 meters of the job address mark the technician on site, and switching sharing off deletes the live position.

Closeout, invoice, and the ledger

Only the job's lead can close it out. A helper's phone marks that helper done.

The closeout records the work, the materials used, photos, and any callback, and submitting it cuts the invoice from the approved quote.

The invoice goes into QuickBooks Online with its PDF and the closeout photos attached, in a layout chosen per customer type. A background job reads payments back from QuickBooks every 15 minutes.

Supplier documents

Supplier quotes and invoices arrive as a PDF, a photo, or an email to a materials address. Claude reads the line items from each vendor's own layout, and posting the document records its total as actual material cost against the quote.

Time sheets

Technicians clock in and out on the phone, and the day sheet totals regular, time-and-a-half, and double time by the contractor's rules. An adjustment needs a reason, the technician signs with a finger, the office countersigns, and the week exports for payroll.

Stack

Next.js with Drizzle on Postgres, built to run as an ECS Fargate service behind an Application Load Balancer on AWS. Inbound mail arrives through SES into S3, texts go through Twilio, and SST defines the stack, deployed by GitHub Actions.

Status

Everything below is verified against the platform's code, as of 2026-10-14:
  • Built end to end on a working contractor's own records: its customers, open quotes, standard scopes, and comment threads, imported from its exports.
  • Both AI steps call Claude Opus 5 through Anthropic's API, with schema-validated output, and both ran on the contractor's own documents.
  • The QuickBooks Online round trip is verified against a sandbox company: estimate at send, update at re-price, invoice at completion, payment read back.
  • The infrastructure is code: SST defines the network, database, service, mail intake, and DNS, and GitHub Actions deploys them.
The platform shows what iSimplifyMe builds for operators whose work lives in spreadsheets and on paper: one record per job, the accounting system kept as the ledger, and AI used only where it reads faster than a person can type. Builds like it run through internal tooling and custom business applications.

Links

Frequently asked

Apex Architecture

Every site we build runs on Apex — sub-500ms, AI-native, zero maintenance.

Explore Apex Architecture

Stay Ahead of the Curve

AI strategies, case studies & industry insights — delivered monthly.

⌘ K