01Workflow automation · the whole system, not just the sheet
The system finds the money and writes the emails. You stay the only one allowed to press send.
I build the automated version of the parts of your week that are pure remembering — the job that finished and never got invoiced, the invoice nobody chased, the Monday numbers nobody has time to assemble. Formulas do the arithmetic. AI drafts the words. You make every call that leaves the building.
A real person in Gainesville, FL · working with small businesses anywhere · four free tools on this site run entirely in your browser — press one before you decide whether I’m worth an email
02Try it — right here
The approve button, live
This is a working miniature of the follow-up system I build. Overdue invoices get a drafted email in a tone that matches their age — and one that’s too fresh to chase gets deliberate silence. Approve the ones you’d actually send. Sample data — every number and business name invented.
READyour live numbers
COMPUTEmath by formula
DRAFTwords by AI
THE GATEwaiting on you
SENDtheir inbox
Every workflow on this page runs this same five-step shape — the Money Leak Autopilot, the Lead Concierge, the invoice chase queue, the review flywheel, the Monday Pulse.
This queue is interactive — with JavaScript on you can approve each draft and watch what would leave. The four drafts, their tone tiers and the rule behind each one are all below either way.
under 15 days · SILENCE15+ · FRIENDLY30+ · FIRMER60+ · SERIOUS
INV-2130 · Fernwood Vet Clinic · $9409 days · SILENCE
No draft. Nine days is too fresh — a nudge now reads as twitchy, not attentive. The system waits on purpose.
Why this tone?
Under fifteen days the invoice is still inside a normal payment habit, so the rule is silence: no draft is written at all.
waits
INV-2123 · Bluebird Print Co. · $1,12022 days · FRIENDLY
“Hi — quick nudge on invoice 2123 from last month. No rush if it’s already queued up on your end…”
Why this tone?
Twenty-two days is one cycle late, so the draft assumes good faith and offers an out.
INV-2118 · Crestline Auto Care · $1,87537 days · FIRMER
“Hi — invoice 2118 is now a month past due. Could you let me know when payment is scheduled?…”
Why this tone?
Thirty-seven days is past a full billing cycle, so the draft asks for a date rather than offering one.
INV-2101 · Harbor Coffee Roasters · $1,45068 days · SERIOUS
“Hi — invoice 2101 is 68 days outstanding. I’d like to resolve this week; here are the options…”
Why this tone?
Past sixty days the money is at real risk, so the draft names a deadline and puts options on the table. It is still a draft.
Run ledger
Layer 05, live: every run leaves a receipt.
Drafts are piling up at the gate — nothing leaves.
0 of 3 approved · 1 held in silence
…and that’s where this demo stops, by design. In the real system that approve click is the moment they actually go out — and the drafts you didn’t approve simply wait for the next queue. Nothing on this page sent anything anywhere.
The tone tiers aren’t decoration. A nudge at nine days reads as twitchy; the same words at sixty days read as overdue. The system picks the tier. You still pick whether.
03The problem
It’s not the work. It’s the work between the work.
The job itself usually goes fine. What quietly eats the week is everything around it: retyping the same customer into three places, remembering which quote never got an answer, invoicing the job that finished last Tuesday, chasing the invoice from six weeks ago, and assembling the numbers into something you can act on.
Every one of those is a handoff. Every handoff depends on somebody remembering. That’s the leak.
Automation done right doesn’t replace your judgment — it replaces the remembering. The system watches the handoffs, does the drafting and the arithmetic, and brings you a short list of decisions instead of a long list of chores.
The system decides who and what tone. You decide whether.
Here’s the shape every one of my builds takes.
04How every build is wired
Five layers. The same five, every time.
Anyone can connect two apps together. What makes one of these hold up on week forty is the shape it was built in. Every system I build has the same five layers, and each one has a rule I don’t break — including on the days it would be faster to.
01The sensorIt watches. It never touches.
Something has to notice. A schedule that wakes up Monday morning, a form submission, a new row in a sheet, an email landing in an inbox. The rule: the sensor is read-only. It looks at your data and never writes back to it. If you unplugged my system tomorrow, your spreadsheet would be exactly the file you’d have had anyway.
02The mathThe AI never does arithmetic.
Every total, every days-overdue count, every “this is up 12% from last month” is computed by an ordinary formula in your own sheet, before any AI is involved. The rule: the AI never does arithmetic. This isn’t caution for its own sake — during an early build the model added up a column itself and got it wrong. The fix wasn’t a better prompt. It was removing the model’s opportunity to do arithmetic at all. Every number the AI writes is a number that already existed in a cell you can click on.
03The brainWords only. Every figure traces to a cell.
Now the AI gets the verified numbers and does the thing it is genuinely excellent at: turning them into three paragraphs a human would actually read, and drafting the follow-up emails in a tone that fits the situation. The rule: narrative only. Every figure in what it writes traces back to a cell.
04The gateNothing sends itself. Ever.
Anything that would leave your business with your name on it stops here and waits. The drafts stack up. You read them, you delete the one that’s wrong, you press send on the rest. The rule: no exceptions — not for “obvious” ones, not for the third reminder, not at 2am. This is the layer everyone else skips, and it’s the reason you can hand this thing your customer list without lying awake. You are the only one allowed to press send.
Every time the system runs, it writes a row: what it read, what it computed, what it drafted, what you approved, what went out. The rule: the audit trail is a deliverable, not an afterthought. Six months from now, when someone asks why a customer got that email, the answer is a row, not a memory.
Read-only in. Formulas for the math. AI for the words. A human at the door. A receipt for every run.
05Free · nothing uploads
Four tools on this site. Press one right now.
Every one of these runs entirely inside your browser. There is no server to send your file to. You don’t have to take my word for it — open your browser’s network tab, drop a file in, and watch: after the page loads, zero requests. That’s architecture, not a privacy policy. No signup, no email, no account.
Start without leaving this page
Paste a customer or vendor list — any number of lines — and this page will tell you how many real customers are in it. Same normalization as the full tool: case, punctuation and legal suffixes ignored, then near-miss spellings grouped for a human glance.
sample lines — clear the box and paste your own
third-party requests: measured on load
This box needs JavaScript. The full tool is at /duplicate-customer-finder/ and works the same way.
Same engine as the full tool — that one takes a whole CSV export and works out which column holds the names.
Drop any CSV and get an honest report: columns that carry no information, status fields that never vary, mixed date formats, numbers stored as text that SUM() silently skips, duplicate rows. Then download the file with the judgment-free problems already fixed.
On its own sample it finds six problems and the automatic fix takes it to two — and the two that remain are exactly the ones a script must not touch.
Two exports every business already has — the work log and the invoices — lined up so only the mismatches show: finished jobs nobody billed, invoices sitting unpaid past 60 days.
It matches on exact ID only, and says so on the report. Nothing fuzzy, nothing guessed.
Acme Roofing. Acme Roofing LLC. acme roofing inc. Three rows, one customer — inflating your count, splitting your revenue history, and sending the mail merge three times.
Every group states why it grouped: identical after ignoring case, punctuation and legal suffixes, or a near-miss typo worth a human glance.
For anyone who runs on a roster — senior living, clinics, restaurants, facilities. Finds days a role is uncovered, staff crossing 40 hours, roles only one person can fill, and turnarounds too short to be safe.
It reads your columns itself and shows you which ones it used. I built this one because I schedule people for a living.
All four, plus everything else I’ve built, are indexed at /builds/ — and there’s a single drop zone at /check/ that works out which check your file needs and runs it.
Why the tools stop where they stop. Every one of them ends at the point where a script would have to guess — which duplicate is the real customer, what a blank cell means, who should cover Thursday. Those decisions need a person who can ask you a question. That’s what the $300 cleanup and the free demo are. A tool that guessed there would be faster and worse.
06The $650 rung, running
A dashboard you can click, not a screenshot of one.
/demo/ is a real Google Sheets dashboard built as an Apps Script web app — revenue, jobs, overdue invoices, tabs you can click, a chart you can tap. No login, no signup. It’s the $650 Automated Dashboard doing its actual job.
It also refreshes itself. A weekly trigger re-runs the whole build every Monday morning, which is why the numbers you’re looking at aren’t from whenever I last remembered to update the page. The data in it is invented sample data — the machinery is not.
There’s a second one at /staffing-commission-dashboard/: a live commission dashboard for a staffing desk that settles splits, draws and fall-off clawbacks by rule instead of by argument. Built for a vertical where the math is the whole disagreement.
$208,900 revenue, wk 1238 → 61 new customers+47% vs wk 1invented sample numbers
Revenue grew 47% from week 1 to week 12, and new customers rose from 38 to 61 over the same stretch. The growth is broad rather than lumpy: no single week carried it. Worth watching: acquisition is outpacing revenue per customer, so the next lever is ticket size, not traffic.
The rule on display: every figure above was computed by formulas before the AI saw a word of it. The model only writes the sentences — it is never trusted with the arithmetic.
// The same thing on video, 20 seconds, end to end
08The flagship, step by step
What the Money Leak Autopilot does on a Monday
Four steps, in order, on the same invented sample the free tool ships with. Nothing here is a screenshot — the arithmetic below is the arithmetic the tool actually does.
Monday 6:00am · READ
The sensor opens two exports you already produce — 14 jobs in the work log, 11 invoices in the invoice export — and reads them. It writes nothing back.
COMPUTE
Formulas line the two files up on job number and flag what doesn’t match: 3 jobs finished and never invoiced ($1,280), 6 invoices still unpaid ($5,430), of which $705 is past 60 days. Every one of those numbers came from a formula, before any model saw the data.
DRAFT
The AI gets those verified figures and writes two things: a short digest for you (“three jobs finished, never invoiced”) and one chase email per overdue invoice, in the tone tier that matches its age — the same tier table the queue above uses.
GATE
Every draft stops in a queue exactly like the one above and waits for you. Nothing is sent, nothing is filed, nothing is decided. That’s the queue above — go approve them.
Cedar Field Services is an invented company. Every job, invoice and dollar in this section is made up — the arithmetic is real, the business isn’t.
Most people show you finished work. Here’s the machinery that keeps it honest.
The build log lists four bugs I shipped and caught.
/build-log/ walks through the multi-tenant reporting pipeline end to end — including the dashboard that displayed MONEY LOST ON OVER-BUDGET JOBS: $0 directly above two jobs flagged over budget at −$500 and −$600, because five summary formulas were off by one column. It survived review because my own build log computed the totals independently and printed the right answer while the sheet showed the wrong one. Two sources of truth that never met. Each of the four left a permanent check behind.
Isolation was proven, not assumed.
When a loop setting looked like it might collapse a multi-client run into one send, I stopped reading documentation and ran it live: two sends, six seconds apart, distinct narratives per row, in the execution record. Now it’s a fact I read off a log instead of a belief I took from a doc.
An automated quality gate blocks my own pushes.
A script scores every workbook and every page for defects and runs on a git pre-push hook — if the score goes up, the push is refused. On the last recorded run the score was zero.
Everything rebuilds identically.
Twelve sample workbooks, each generated by its own Python script rather than assembled by hand, all reading brand colours from a single source of truth. Nothing drifts, because nothing is typed twice. This page is built the same way — the file you are reading is generated, and the build refuses to write it if any of its own checks fail.
Two open-source repos you can read.
flatline finds signals that carry no information and jobs that produce nothing — a check that fires on 100% of rows, a scheduled task that reports success while writing nothing. I built it after a real scheduled job of mine discarded four days of data while reporting success every run. MIT licensed, 108 tests. hearth is a national crisis-resource directory built on federal data and refreshed automatically, with a public health endpoint that reports freshness per source so a stale feed can’t hide behind a fresh one.
The interesting work isn’t wiring the happy path — a model does that before lunch. It’s the four times I didn’t trust it yet.
10What I’d build you
Five systems. Same five layers underneath.
Each of these is the same architecture wearing a different job. One is being built right now; the other four are designs I’ll build the first time somebody needs one. None of them is running for a customer yet, and I’ll always tell you which is which.
W1
Money Leak Autopilot
Every week the system reads your work log and your invoice export, the sheet’s own formulas flag the jobs that finished and never got billed plus everything aging past 30 and 60 days, an AI writes you a short digest, and the chase emails draft themselves in a tone that matches each invoice’s age. Then everything stops and waits for you.
You’ve already used the miniature version — the approve panel above is this system’s follow-up half, running on invented data.
$1,000 + $250–500/moBUILDING
W2
Lead Concierge
An inquiry arrives, by form or by inbox. Within minutes it’s a tracked row, a notification, and a drafted personal reply waiting for your approval — and if it’s still unanswered in 24 hours, the system tells on itself. Most lost leads aren’t lost to competitors. They’re lost to Tuesday.
I’m wiring this to my own contact form first, because a demo I can’t run on myself isn’t a demo.
$650 installDESIGNED
W3
Invoice Chase Queue, live edition
The chase spreadsheet with a live layer on top: the sheet that chases for you. Overdue invoices move through 15 / 30 / 60-day tone tiers, drafts stage in your Gmail, you approve.
$500–750 installDESIGNED
W4
Review Flywheel
A job gets marked complete. The system waits the right number of days, drafts the review ask in your voice, and holds it for your approval. The ask that actually gets sent is the one that doesn’t depend on you remembering to send it.
$500–750 install, or bundled into a retainerDESIGNED
W5
Weekly Pulse
Monday morning, the system reads your live numbers, the formulas compute everything, and an AI writes the three paragraphs you’d actually read: what moved, what needs attention, what to do next. That’s the panel further up, pointed at your business.
$1,000 + $250–500/moDESIGNED
Four of these are designs, not builds. They get built for the first person who wants one — I’d rather label them honestly than let a status chip imply otherwise.
All of it runs on tools you already have — Google Sheets, Gmail, your existing forms. There’s no new software for your people to learn, which is the reason the spreadsheet won in the first place.
Take these and never speak to me. That’s the point.
Three working Google Sheets templates, no cost and no email required: an executive KPI dashboard, an expense tracker, and a staffing commission tracker. Download, open, use. If one of them solves your problem and you never contact me, the template did its job.
12What it costs
Start at zero. The ladder is the same either way.
Free
The 1-day mini-demo
Send me one messy file — a job log, an invoice export, an intake sheet, a schedule. I’ll send back a working automated version within a day. Yours to keep whether you hire me or not. This is how every engagement starts, and it’s the whole reason the tools on this page are free too: I’d rather you judge the work than the pitch.
Your messiest sheet, rebuilt into one you can trust. Formulas that don’t silently skip rows, dates in one format, statuses that mean one thing. 24–48 hours.
I build one workflow in your own account — your Zapier, your Google, your Gmail — document it, and hand it over. You own it completely. If we never speak again it keeps running. No subscription, no lock-in, no dependency on me.
Two honest notes. First: the free demo is not a trick — you keep the artifact either way, and if the answer is “you don’t need me for this,” I’ll say that in the same email. Second: I’m early enough that the first few engagements are priced to earn an honest review rather than to maximize the invoice. That’s a real advantage to being first, and it doesn’t last.
13Who’s building it
One person. In public. On purpose.
I’m Colin McCarthy. I build and run Automated Workflow out of Gainesville, Florida, and I work with small businesses anywhere, because all of this is remote.
Before I wrote systems for operations, I ran them. I still do — I manage dining operations at a continuing-care community affiliated with the University of Florida: scheduling, inventory, vendors, and a staff who did not sign up to learn new software. That’s why the Shift Coverage Check exists, and it’s why I’m allergic to automation that adds a tool instead of removing a chore. I’ve held the clipboard the software is supposed to help.
I’m certified through Anthropic Academy — six credentials — and more usefully, I use the same AI tooling on my own business every day before I point it at anyone else’s.
The honesty ledger
What I can prove
✓four tools that run in your browser
✓a live dashboard that refreshes itself
✓a public log of my own bugs
✓two open-source repos, 108 tests
✓every sample figure labelled invented
What I will not claim
✗a customer count
✗revenue figures
✗a testimonial
✗borrowed credibility
✗other people’s logos
I have zero paying customers. I’m early, and that’s why the first engagements are priced to earn a review rather than a margin. What I have instead is work you can inspect without asking me anything — and the first thing I’d build you costs nothing.
14The questions I actually get
Fair questions, answered plainly.
“Won’t AI just do all of this by itself in a year?”
The drafting, probably — it already does, and I use it for exactly that. The deciding, no. Every system here is built on the assumption that the model is a fast, capable writer with no judgment and no stake in your reputation. So the machine does the watching, the arithmetic and the drafting, and a human does the one thing that carries consequences: approving. If a model gets good enough to replace that, you’d still want a gate in front of it. The gate is the product. The rest is wiring.
“Why should I trust you with my data?”
Start by not giving me any. The four tools on this page run entirely inside your browser — there’s no server for them to send your file to. Open the network tab and check; after the page loads it makes zero requests. That’s the design, not a promise. When we do work together, the same posture holds: everything is built in your accounts, the sensors are read-only so nothing writes back to your source data, and every run logs what it touched.
“Do you actually have customers?”
No. Not yet — I’ll say that plainly rather than let a stock photo imply otherwise. Automated Workflow is new, I’ve built everything you see here myself, and you’d be first. What that buys you: my full attention, pricing set to earn a review rather than pad an invoice, and a founder who cannot afford to do a mediocre job. What it costs you: you can’t call a reference. So judge the work instead — that’s why it’s all pressable, readable, and free to inspect.
“My spreadsheet is a disaster. I’m embarrassed to send it.”
Good. A tidy file tells me nothing. The mess is the diagnostic — merged cells, three tabs that should be one, four spellings of the same customer, a column somebody stopped filling in last March. I’ve never once received a file I thought less of someone for. Send the worst one.
“What happens when the AI writes something wrong?”
Three things stop it before you do. It never touches the arithmetic — every number is computed by formula before the model sees it, because a model added up a column wrong on me once and the fix was to take arithmetic away from it entirely. It never sends — drafts stage and wait for you, so a bad sentence dies in a review, not in a customer’s inbox. And every run is logged, so when something looks off there’s a row explaining what it read and what it did. When I do get something wrong, it goes on the build log.
“Do I have to switch software?”
No. Everything runs on what you already have — Google Sheets, Gmail, whatever form you already use. The spreadsheet won because it was already there; a system that asks you to abandon it is a system that’ll get abandoned in three months. If you want zero ongoing dependency on me, the $500–750 Workflow Install is built in your own accounts and handed over.
“What do I actually get in the free demo, and what’s the catch?”
You send one file. Within a day you get back a working automated version of it — real formulas, real structure, your real data — plus a short note on what I’d build next and what it’d cost. You keep it whether you hire me or not. The catch, such as it is: I’m betting that a working artifact is more persuasive than a proposal, and that if I’m right you’ll come back. If I’m wrong, you got a fixed spreadsheet for free.
“How long does any of this take?”
Cleanup: 24–48 hours. A dashboard or a workflow install: usually within a week. The mini-demo: a day. I’m one person, which means you’re never in a queue behind an account manager — and it also means I’ll tell you honestly if something is bigger than my calendar.
15The whole pitch, honestly
What’s the workflow that eats your week?
Tell me in one sentence. I’ll tell you in one email whether it’s automatable, what it would cost, and what I’d build first — and if the answer is that you don’t need me, I’ll tell you that too. The first artifact is free either way.