Graham Houghgraham@hough.io

Software for local businesses

This started as beers with my neighbor after work. He's a plumber. I'm a software engineer. Most of what's on this page is what happened next.

Illustration in a pipe-ring badge: an arm raises a pipe wrench above a row of overflowing beer glasses and wheat stalks
Where it started.

I've always been drawn to blue-collar work. Some of the best stretches of my career were spent around machine shops — you do the work and there's a physical thing at the end of it that somebody can hold, and rely on. Software mostly isn't like that. You build something and it ends up as code running on a server you're renting. The trades are full of the most honest, dependable, straightforward people I've ever met, and you can see it in how my neighbor's customers treat him: they know he's the best, they know the work is honest, and good things follow.

So we'd talk about his business. And the more I heard, the more one thing stood out: a lot of the problems his business runs into are not problems he should have to solve. It's two guys in a truck. They can't be spending their day doing paperwork and filling out forms — they need to go get the work done. But the invoicing, the estimates, the website at hundreds of dollars a month, the field software at hundreds more, the QuickBooks subscription on top just so the field software and the books can talk to each other — all of it lands on them anyway. They don't know where their domain is hosted or how it was bought. It's a whole different world to them. It's not their domain, and it shouldn't be.

Illustration in three panels: two men and a bulldog in the cab of a work van lettered Saratoga Grown
Two guys in a truck — and the boss.

AI conversations

AI came up a lot in those conversations. There's a real irony in me working with plumbers, because my life has been consumed by AI for a couple of years now — and when the cashiers have been replaced and the truck drivers are robots, what people are not going to be doing anytime soon is plumbing.

That sounds like great job security, so there should be plenty of plumbers. There aren't. Their phones ring all day long, and there aren't enough people to do the work or enough time to train new ones. That's money left on the table, and AI isn't going to fix it — you can't learn this trade by studying, it takes hands-on years.

What AI did change is my side of the fence. I used to spend hours a day just typing — moving code from my brain through my fingers into the computer. I knew how to solve the problems; writing it all down was the slow part. Now I mostly hold a button down and talk. The months of back-and-forth that made custom software a big-company purchase are gone. So when my neighbor — Nick — asked whether I could help with the technical and admin side of his business, I explained all of that to him, and he got it right away, because he already knew exactly what he'd want it to do.

And it isn't abstract. He can ask the platform questions in plain English and get answers computed from his actual books — and when the assistant wants to do something, it has to show its work and wait for a yes.

Lorem ipsum dolor sit amet, consectetur adipiscing elit — sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat, duis aute irure dolor in reprehenderit in voluptate velit esse cillum.

Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.

Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt, neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore.

Assistant
Ask about customers, quotes, or money…
Asking the books a question, then approving what the assistant wants to do. Dummy books.

Phone numbers

Answering a phone is work. Somebody has to pick up, figure out what the caller needs, and know whether it's even the kind of job you do — and when you're under a sink, that call goes to voicemail, and most callers who get voicemail don't call back.

So the line answers itself now. It knows the schedule, it knows the services, and it knows when to ask another question. People know it's a robot, but they're disarmed when it actually helps — they start describing the job like they're leaving a voicemail.

It filters, too. A lot of small businesses make the mistake of advertising the owner's personal cell number, and then the spam never ends — you answer every unknown number because it might be work, and answering is exactly what invites more of it. Now the line takes that noise. Regular customers get a code that rings straight through to Nick's cell, everyone else talks to the line first, and nobody has his personal number to call after hours. When a known customer calls back, the agent has every prior conversation in front of it: "can you email me that last invoice?" is handled on the phone.

And Nick is never out of the loop. He gets notified as calls come in, can read the texts the agent is answering and step in, and can listen to a call live while it's happening and steer the agent mid-conversation. I'm not saying AI agents are the best thing ever — part of what people love about a local business is that someone picks up. But at a certain point that stops working, and this keeps the local feel without letting the work slip away.

Lorem ipsum dolor sit amet, consectetur adipiscing elit — sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat, duis aute irure dolor in reprehenderit in voluptate velit esse cillum.

Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.

Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt, neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore.

Illustration: a man on his couch, exasperated, gesturing at his phoneIllustration: a woman in a bathrobe arguing with an automated phone menuIllustration: a man in his kitchen shouting into his phone and pointingIllustration: a grandmother in her armchair, bewildered by her phoneIllustration: a man in a hoodie in his garage, pleading into his phone
Illustration: a plumber elbow-deep in dripping pipes while his phone buzzesIllustration: a plumber plunging a toilet while his phone buzzes on the tileIllustration: a plumber wrenching a water heater fitting, phone buzzingIllustration: a plumber carrying pipe at his van, phone buzzing on the walkIllustration: a plumber soldering copper pipe with a torch, phone buzzingIllustration: a plumber fixing a kitchen faucet, phone buzzing behind him
The phone ringing all day, nobody able to answer it — because the one they're calling is elbow-deep in a job.

Leads

A call that would have been a voicemail is a lead now. The agent takes the address, saves the contact, notes what the work is and how urgent, and starts a quote from the call — so when Nick looks at his phone later, the information is ready: he can call straight back with everything in front of him, or the agent can schedule the visit while the caller is still on the line.

Lorem ipsum dolor sit amet, consectetur adipiscing elit — sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat, duis aute irure dolor in reprehenderit in voluptate velit esse cillum.

Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.

Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt, neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore.

Lorem ipsum dolor sit amet, consectetur adipiscing elit — sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat, duis aute irure dolor in reprehenderit in voluptate velit esse cillum.

Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.

Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt, neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore.

Phone — this morning
AllHandledPut throughMissedCall back owedHung upSpamNeeds a look
(518) 555-01422:14 · 7:42 AMNo heat upstairs, boiler making noiseCall back owed
(518) 555-01980:48 · 8:05 AMSeptic tank pumpingHandled — not our work
Ray Oakesknown4:31 · 8:20 AMQuote on the Union Ave bathroomPut through
(833) 555-01110:11 · 8:26 AMExtended vehicle warrantySpam
Dana Whitcombknown3:05 · 9:12 AMWater heater leaking into the panHandled — draft quote created
Transcript — 7:42 AM

Caller — there's no heat upstairs and the boiler's been banging since last night.

Armstrong — that sounds like something we should look at today. What's the address, and is it the whole second floor or one room?

Caller — 114 Caroline Street. Whole floor.

Armstrong — got it, I've written that down. Nick isn't on the line right now, but he has this in front of him first thing. What's the best email for the estimate?

Contact createdJob site: 114 Caroline StUrgency: todayDraft quote started
The phone line's morning — calls, outcomes, and one transcript. Dummy callers.

Estimates

The question the old software could never answer without leaving the page: what does this job actually make? Cost sits next to price on every line now, the margin recalculates as he types, and it shows how much of that number is still guesswork — a margin computed from two of seven lines gets flagged as a guess.

One honest limit: most jobs still can't be quoted without going to see the work. You have to be hands-on; that's part of the business, and it takes time. The software just takes care of everything around the visit.

Lorem ipsum dolor sit amet, consectetur adipiscing elit — sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat, duis aute irure dolor in reprehenderit in voluptate velit esse cillum.

Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.

Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt, neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore.

Lorem ipsum dolor sit amet, consectetur adipiscing elit — sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat, duis aute irure dolor in reprehenderit in voluptate velit esse cillum.

Quote 1042 — boiler replacement
LineCostPrice
Weil-McLain CGa-5 gas boilerMaterial$1,842.00$2,395.00
Taco 007 circulator pumpMaterial$118.40$172.00
3/4" type L copper, 40 ftMaterial$96.80$145.00
Fittings and solder, assortedMaterialno cost$85.00
Install labor, 9 hrsLaborno cost$1,215.00
Town permitOtherno cost$95.00
Haul-away, old unitOther$40.00$150.00
Subtotal$4,257.00
Tax 0.00%(capital improvement)$0.00
Total$4,257.00
What it makes
47.4%$2,015.97 on $2,241.03 of cost

Includes $143.83 of sales tax on the materials — 7.00% Armstrong pays the distributor. The customer isn't charged it, so it comes out of this job.

▲From 4 of 7 lines — the rest have no cost, so the real margin is lower.

The estimate screen. Fake Data.

A quote that goes out the door isn't done — it's waiting. The old dashboard bragged about its win rate while quoted work quietly ran out its term with nobody following up. So the board treats an expired quote as loudly as an open one, and sent work ages where you can see it.

Quotes — out the door
AllDraftsOutWonExpired
Boiler swap — Hollis Rd$12,400out 19d of 21
Repipe — Wilton$8,900out 20d of 21
Bath remodel — Spring St$21,300out 6d of 21
Water heater — Mill Rd$3,150out 2d of 21
Quoted work expired unanswered
$0
Tracking the quote's lifecycle. Fake Data.

Line items

Pricing a job honestly means knowing what the parts cost today. His supplier's prices are per-customer and only visible inside their phone app — the price book his business gets is not the one anyone else gets. During the meeting where this came up, I sent an AI agent at the problem; about an hour and a half later we had the catalog and his prices syncing on a schedule. Building that the old way would have been at least a week — and we did it responsibly; we got in touch with the supplier, and everything is within reason. This kind of tooling is like a power tool. It's what used to be squeezing a water bottle through a plastic nozzle, and it's a water jet today: point it in the right direction and you can get so much done, so quickly.

Now a quote is priced against what things cost this morning, tax and margin included, and the materials list comes off the estimate formatted the way the supplier wants it — no phone call, no back-and-forth. The history matters as much as the live number: a fitting drifting up five percent a year is invisible until you track it, and then it's a decision — buy in bulk now, or re-price the jobs that use it.

Lorem ipsum dolor sit amet, consectetur adipiscing elit — sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat, duis aute irure dolor in reprehenderit in voluptate velit esse cillum.

Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.

Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt, neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore.

Lorem ipsum dolor sit amet, consectetur adipiscing elit — sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat, duis aute irure dolor in reprehenderit in voluptate velit esse cillum.

Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.

Supplier — tracked parts
Last sync — 4:02 AM, all 5 tracked parts verified
HEALTHY
Weil-McLain CGa-5 gas boilerWM-CGA5-PIDNcosts$1,842.00we charge$2,395.00+2.1%
Taco 007 circulator, cast ironTAC-007-F5costs$118.40we charge$172.00-1.4%
3/4" type L copper, 20 ft stickCU-L-075-20costs$48.40we charge$72.50+6.8%
3/4" press couplingSHK-34-CPLcosts$4.12we charge$9.00—
3/4" T&P relief valveWAT-TP-075costs$21.75we charge$39.00+0.9%
Tracked supplier parts: cost, price, and 30-day drift, synced overnight. Dummy prices.

Payment processing

The job ends in an invoice, and the invoice doesn't wait for Sunday paperwork. On a job he can invoice and email customers — or send copies of invoices, estimates, and job approvals — without leaving the site, and invoices can be paid online through Stripe. Because the invoice comes off the same record as the quote and the parts, what a job actually made is a fact, not a guess at the end of the month.

Lorem ipsum dolor sit amet, consectetur adipiscing elit — sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat, duis aute irure dolor in reprehenderit in voluptate velit esse cillum.

Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.

Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt, neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore.

Lorem ipsum dolor sit amet, consectetur adipiscing elit — sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat, duis aute irure dolor in reprehenderit in voluptate velit esse cillum.

Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.

Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt, neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore.

Customer data

Every lead lands on the customer record, which is only worth what the data in it is worth. So before building anything I asked one question: where's your data, what's in it, and is it any good? With his permission I gave myself a read-only key to the software he was paying for, and started looking.

It looked like most shops' data looks. Line items named "materials" — dozens of them, at different prices, across different jobs. Estimates made twice and never followed through. Duplicate quote numbers that made printed invoices confusing. He also has filing cabinets full of paperwork, and that's a genuinely good system — you need it when nobody has built tools around the way you actually work. I spent the first stretch just getting that data normalized, with AI agents doing the tedious parts: catching the off-by-one entries and the same customer saved three ways, and matching job-site photos to the property and the job through their location data. Piece by piece it became one clean record of the business — who, where, what was quoted, what was bought, what was billed.

The paper is coming into the system too. Whole drawers go through the scanner in bulk; an agent reads each page, names it, files it, links it to the customer or the job, and reads old invoices back into the books. Years of job-site photos get the same treatment. It goes on and on: receipts, agreements, schematics, all of it becoming something you can search instead of something you dig through.

Lorem ipsum dolor sit amet, consectetur adipiscing elit — sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat, duis aute irure dolor in reprehenderit in voluptate velit esse cillum.

Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.

Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt, neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore.

Archive — 1,940 documents
Search everything — a name, a part, a month…
Filed this week

212 pages in · 4 waiting for a human look

Searching the scanned filing cabinets. Dummy documents.

The small stuff lives here too. Checklists get dictated over the phone from the van — "before you leave the Hollis place: expansion tank, pressure test, photo of the label, get the ST-124 signed" — and ticked off by whoever's standing there. And when Nick's own cell calls the business line, the agent that answers can use every tool in the platform — so when he's in a crawl space and needs to remember parts, he has Siri call the business line and rattles the list off while he's looking at it. It's all stored.

Checklist — Hollis Farm, boiler swap
Before you leave the Hollis place
3 OPEN
Expansion tank in and strappedNick · from the van, 8:14 AM
Pressure test to 100 psi, hold 15 min
Photo of the boiler label for the file
Get the ST-124 signed before leaving
A job checklist. Each tick records who and when. Dummy job.

Content creation and showcasing

The newest corner of the platform: making the work visible. The job photos and reviews the system already holds are the raw material — before-and-afters grouped by job, reviews collected in one place, and short recap reels cut from both, ready to post. A shop that does good work mostly has the proof already; it's just sitting in a camera roll. This part puts it to use.

Lorem ipsum dolor sit amet, consectetur adipiscing elit — sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat, duis aute irure dolor in reprehenderit in voluptate velit esse cillum.

Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.

Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt, neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore.

Lorem ipsum dolor sit amet, consectetur adipiscing elit — sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat, duis aute irure dolor in reprehenderit in voluptate velit esse cillum.

Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.

Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt, neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore.

Lead generation

A quote request or a phone call from the site lands exactly where a call to the business line lands — same backend, same records.

Lorem ipsum dolor sit amet, consectetur adipiscing elit — sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat, duis aute irure dolor in reprehenderit in voluptate velit esse cillum.

Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.

Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt, neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore.

Lorem ipsum dolor sit amet, consectetur adipiscing elit — sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat, duis aute irure dolor in reprehenderit in voluptate velit esse cillum.

Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.

Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt, neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore.

saratoga.plumbing — live
The live site, embedded — or open saratoga.plumbing in its own tab.

The part of the site that pulls its weight is the quote wizard. Four quick steps — what kind of work, what exactly and how urgent, where and what kind of property, who are you — and instead of a form email, the answer lands as a contact and a draft quote in the shop's system. It's one more way to cut down the calls coming in and get people an answer quicker.

saratoga.plumbing/quote — the wizard

What kind of work is it?

PlumbingLeaks, drains, water heaters, repiping, fixtures & water filtration
HeatingFurnaces, ductwork & whole-home heat — gas, propane, or oil
CoolingCentral AC, heat pumps & ductless mini-split systems
BoilersBoiler repair & install, radiant floors, snowmelt, steam & combi
New construction / remodelRough-in to finish for new builds, additions & full remodels
Underground utilitiesWater & sewer lines, trenching & site excavation
Next
Rather talk it through? Call Armstrong at (518) 430-5650 — Mon–Fri 8–5.
The quote wizard from their website — same code, playing itself. Sending it creates the contact and a draft quote.

Integrations

None of these pieces is the point on its own — the point is that they're one system. The iPhone app is the whole platform in his pocket: his day starts there, holding a button down for three seconds and talking through what's on his mind. Out of that comes the day's checklists, time blocked on the calendar, a drafted estimate, part numbers already being looked up. There's a record of what got started and what still needs doing, and nothing changes until he confirms it.

Lorem ipsum dolor sit amet, consectetur adipiscing elit — sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat, duis aute irure dolor in reprehenderit in voluptate velit esse cillum.

Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.

Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt, neque porro quisquam est qui dolorem ipsum quia dolor sit amet, consectetur, adipisci velit, sed quia non numquam eius modi tempora incidunt ut labore et dolore.

Lorem ipsum dolor sit amet, consectetur adipiscing elit — sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat, duis aute irure dolor in reprehenderit in voluptate velit esse cillum.

Today — Armstrong app screenshot with dummy data
Today
A quote — Armstrong app screenshot with dummy data
A quote
The business line — Armstrong app screenshot with dummy data
The business line
Quotes — Armstrong app screenshot with dummy data
Quotes

The iPhone app, running in the simulator. Dummy data throughout.

And once everything lives on one record, the numbers can finally be trusted — which also means finding out which numbers never deserved to be. Every finding on his insights page carries a verdict: act on it, that's just what this trade looks like, or that number was a data artifact all along.

Insights — the story view

$23,400 of receivables are past their own terms

ACT

Six invoices, four customers, all responsive people — this is a week of polite reminders, not a collections problem.

Big-bid close rate is 19%

NORMAL

That is what construction bidding looks like. Nothing here to fix, and chasing it would waste a season.

The 90-job “backlog” was never real

ARTIFACT

Old statuses nobody ever closed. The refinement queue retired them; the schedule was never actually behind.

Findings from the cleaned data, each with a verdict. Dummy findings.

The AI itself is metered the same way. Every feature that uses it — the phone transcripts, the archive scanning, the assistant, the morning planning — is tracked as a line item, so what the AI costs the business each month is a number on a page, like any other supplier.

AI usage — this month
What the AI cost the business
$51.50
Document archive OCR20,000 pages scanned in$41.20
Phone transcripts214 calls transcribed$6.80
Assistant chat312 questions answered$2.10
Day planning22 mornings started$1.40
Every AI feature metered like a supplier, across the whole company. Dummy month.

Who owns all this

You do. That's the arrangement, and it's the part I care most about getting right. The fair question to ask anyone who builds you software is: what happens if you disappear tomorrow? My answer is that everything lives in one codebase tailored to your business — the code, the design, your branding, and documentation of how every piece works and why. Your data sits in accounts in your name. Another developer, or honestly an AI agent, can pick up where I left off. I never want to lock anybody into using my software. Here's the thing I made you, here's how it's hosted, and if you want to keep paying me to improve it I'm happy to — I enjoy this work. If you want to pack up and go, you can.

His Google Business account, his ad campaigns — all still his, in his control. The job was to make the software fit the business instead of the other way around.

And because leaving the old platform is a real decision with real risk, it gets its own dashboard: a live readout of whether the business could walk away yet, with every count linked to the queue that improves it.

Leaving the old software — readiness
Where it stands
NOT YET
Customers with a real name1,121 of 1,420
Jobs categorised1,874 of 2,210
Material costs confirmed214 of 611
Paper linked to its job380 of 940
Readiness to leave the old platform, watched as counts. Dummy counts, sped up.

Your neighborhood software developer

I think we're entering a time where a software developer can work with local businesses the way a good tradesman works with his customers — person to person, in the same town, around for the long haul. Trying to get hold of a big company when something goes wrong is a nightmare. Here, you call me. I live here, and I learn how a shop is put together by sitting in it and watching the work.

There's an urgency to it, too: shops that have run the same way forever are starting to compete with newer ones that use all of this. And this isn't an advertisement, exactly. I'm not trying to take over how your business runs. This is new and exciting to me, and honestly it's been a breath of fresh air — you're real people, in this community, in people's houses every day. I'm glad you have the job security you do. I'd just like to make your life a little easier.

Things people ask

Who owns it?
You do. The code, the data, the accounts, all of it, in your name. I'm not renting you access to something I control, and there's nothing in the arrangement that makes leaving expensive.
What does it cost?
The first afternoon costs nothing: I come by, follow the work, and tell you honestly whether it's worth building anything. If it isn't, that's the answer and we're done. If it is, we agree on what and for how much before I write a line of it — a fixed cost to build, an optional one to keep me on, and no per-seat pricing.
Do I have to change how I work?
No, and I'd rather you didn't. Off-the-shelf software makes you work its way; the whole point of doing it like this is that the software works your way instead, including the parts that only make sense in your shop. If I think a habit is costing you money I'll say so, but it stays your call.
Is my customer data going to train somebody's AI?
No. AI does work inside your system — reading a call, pulling structure out of a supplier catalog, drafting a follow-up. Your customer list isn't training material, and where it matters the processing can run on infrastructure you control.
Why not just buy ServiceTitan or Jobber?
Sometimes you should, and I'll tell you that on the first visit rather than sell you a build you don't need. Custom is worth it when your process is the thing that makes you money, when the stock product covers most of it but not the part that matters, or when you're paying per seat forever for a fraction of a product you never wanted all of.
Do you only work with plumbers?
No. Plumbing is where the first one landed because he's my neighbor. Anyone who quotes work, buys materials, schedules people and sends invoices has more or less the same shape of problem — electrical, HVAC, contractors, landscaping, shops, property management.

If any of this sounds like your week

My whole method fits in one question: what did you do today? Where did the day start, where did that job come from, what were the conversations before it started, and where does the paperwork go when it's done.

So email me at graham@hough.io and tell me the part of the week you hate most. I'll come by, follow the work for an afternoon, and tell you honestly whether it's worth building anything — sometimes the answer is to buy something off the shelf, and I'd rather say so than take the work.

Or write it here and it'll open in your mail app.