Problem. There was no way to send a real fax from an AI assistant without an account or a fax machine.
What I found. A fax can't be taken back, and federal law requires a sender header on every page, so the person paying has to see exactly what will print before money moves.
What I built. A production MCP server in TypeScript and Node.js on the official MCP SDK, with SQLite and a fax carrier integration. Stripe payments run on two paths: approval inside the chat, or a hosted review page that shows every page as it will be faxed, sender header included. Failed or partial deliveries are refunded automatically. 340 automated tests. Runs on a hardened Linux VPS behind nginx.
Outcome. Live on real money, with real faxes delivered. A failed delivery was refunded automatically in about four seconds. Submitted for review on Meta's Muse platform, and works today as a Claude custom connector.
Clara. A voice and SMS agent that answers the main Vectis line, books appointments and works inside the CRM. It runs on three surfaces from one shared knowledge base.
Test before trusting. Clara was live tested with a fake caller before it took a real call.
Drift. When answers diverged across surfaces, including a stale price on one, I traced the cause and restored parity.
Recurring errors become rules. An agent that kept pulling out of scope stories got a hard rule in its context file instead of a manual fix every day.
Guardrails. Overnight build runs work under a tracked permissions file with deny rules, put in place after I found a run that had none.
Verify. Agent output is treated as unverified until it is checked against the code or a primary source.
A free tool that checks whether AI assistants recommend a local business. Rebuilt with stricter detection and a test harness, with cost per scan measured at $0.35.
Problem. Estimates created from the field were saving with no customer attached. Nobody knew until the office tried to send one.
What I found. My first version of the form matched customers on name, phone and email as one combination. Records imported from QuickBooks had those details split across duplicates, so real customers matched nothing, and the form still reported success.
What I rebuilt. Identity entry removed entirely. The technician picks the open job from a live list, fields lock on binding, and exceptions route to the office instead of writing bad data. Submitting without a binding is not possible.
Problem. Preventive maintenance and annual inspections were recorded on a generic carbonless pad with no unit number field. No history was retrievable per truck.
What I found. On a shop visit, the owner set the rule himself: every tire gets a measured pressure written down, not a checkmark.
What I prototyped. A three branch capture form designed around that rule. Every check requires the reading, not the checkbox. Odometer designed to pull from the telematics platform already in the trucks, so there is no second point of entry. Built and demonstrated from the shop visit; the owner has it in hand.