Aquatic Artists custom waterfall
Categories
Flow

Website monitoring found five false alarms and one real bug

The website monitor went off at 6 a.m. Something was wrong with one of our sites. I pulled up the alert, looked at the flagged section, and everything looked fine to me. I closed the laptop and went back to my coffee.

That happened six times over two weeks. Five of those times, I was right to dismiss it. The sixth time, I was wrong – and a real bug had been sitting there, visible to customers, for longer than I’d like to admit.

When website monitoring alerts cry wolf

We run automated website monitoring that checks our sites regularly and flags anything that looks off. It compares page sections against a baseline – layout, content, key elements. When something drifts far enough from the baseline, it fires an alert.

Two-panel comparison of a harmless website change and a blank project gallery bug.
The monitor had to learn the difference between normal page drift and a customer-visible failure.

The problem is that not every change is a problem. A font loads slightly differently on a Tuesday. An image swaps out because we updated the gallery. The comparison tool sees the difference and sends the alarm. Five of our six recent alerts fell into that category: legitimate changes the monitor didn’t recognize as intentional.

The issue with that pattern is obvious. Once alerts fire often enough for non-problems, you start dismissing them faster. Your response time to a real issue quietly gets worse.

So we dug into every one of those six alerts properly, traced each one back to its actual root cause, and fixed the detection logic where it was overly sensitive. That part is maintenance work. Not exciting. Worth doing.

The real bug: a project gallery failed on first load

The sixth alert pointed to a project gallery section – the part of a page that shows photos of completed work. When I loaded the page and clicked around, it looked fine. Images loaded, captions appeared, everything worked.

What I hadn’t done was run a first-load website test: load the page fresh and just wait.

A customer who lands on that page for the first time, scrolls to the gallery section, and doesn’t immediately click on anything – they would have seen a blank space. The gallery wasn’t rendering on initial page load. It only appeared after some interaction triggered a refresh.

We’d been testing from inside the system, navigating page to page while logged in. The bug only appeared when you came in cold, the way a real visitor does. Once we loaded pages fresh from outside, the issue was obvious. Fix took less than an hour once we understood it.

The lesson: test from the outside. Your workflow and your customers’ workflow are not the same path.

Backup verification has to check the destination

During this same debugging window, we found something unrelated but equally worth writing about.

Backup checklist verifying that files landed in the correct cloud destination.
A backup is not verified until the destination and file count match what recovery would actually need.

Our automated backups were running. They were completing. They reported success. But we hadn’t looked closely at where the files were actually landing. When we checked, they’d been routing to the wrong cloud account – one we had access to, technically, but not the right destination for a real recovery scenario.

For weeks, our backups were “working” – no error ever appeared. But if we’d needed to restore something, we’d have been digging in the wrong place under pressure.

The rule we wrote after this: backups must fail in a way you notice, not succeed in a way you never verify. An automated process that completes quietly and routes output somewhere wrong is worse than one that breaks loudly. A loud failure gets fixed. A silent mismatch can sit there for months.

Now our backup jobs verify destination and file count as part of their completion check. If the numbers don’t match expectations, the alert goes to a human. Not a log entry. A human.

Verify backups before website upgrades

In the same week, we upgraded WordPress to version 7.0. New security patches, compatibility updates, the usual.

The rule before any significant website upgrade is simple: confirm the backup exists and that you can actually restore from it, then proceed. Not “I think the backup ran.” Confirm it. Pull a recent file from it.

The upgrade went fine. But that discipline is what makes an upgrade something you do on a Tuesday afternoon instead of scheduling a Saturday for it. A verified backup means a bad upgrade is a two-hour recovery, not a crisis.

Using an AI coordinator without giving it the keys

One more thing worth explaining: we started using an AI coordinator we call “jefe.” The name is intentional. Jefe’s job is to direct, not to do.

Workflow diagram where an AI coordinator routes tasks to specialists before human approval.
The coordinator directs work, specialists stay in their lane, and a human checks before anything changes.

When we have a complex task, jefe breaks it into pieces, assigns each piece to a specialized AI assistant, and collects the results. It never edits a file or makes a change directly. It only coordinates.

I built it this way because I watched what went wrong when a single AI assistant tried to handle too many things at once: mixed-up context, lost steps, fixes from one area getting applied to problems in another. One coordinator plus focused specialists plus a human reviewing the output works noticeably better than one assistant trying to do everything.

The structure matters more to me than whichever model happens to be newest that week: a director that does not touch the work, specialists that stay in their lane, and a human who checks before anything ships. That is how I keep AI useful without letting it run the business by itself.

Tuning monitoring alerts lowers noise but adds risk

Jefe can delegate to the wrong specialist, or two specialists can return conflicting answers. The human review step isn’t optional or a formality. More than once, the consolidated report has included a finding that was just wrong, and a human caught it.

The monitoring tuning is also not a permanent fix. Reducing false positives means the thresholds are less sensitive, which means a real issue might take slightly longer to trigger. We accepted that tradeoff deliberately and will revisit it if something slips through.

Check one automated business process this week

Pick one automated process in your business this week – a backup job, a scheduled report, a recurring email – and check the actual output, not just whether it ran. Did the backup land where you expected? Does the file open? Is the report showing the right data?

This takes about five minutes. It has saved us more than once.

Categories
Flow

How we used AI audits for SEO, social media, and security

Over a couple of days in early June, I pointed AI assistants at three separate corners of our operation: our websites, our social media history, and our security configuration. They worked through the night. By morning I had prioritized lists of findings across all three areas: website SEO, content patterns, and access risks.

What we got back was useful. What the experience taught us about how to use AI for this kind of work was more useful.

325
URLs audited
16
Parallel social agents
14
Security categories

A website SEO audit across 325 pages

Between our two companies, we have a lot of web pages. Product pages, project galleries, service descriptions, blog posts. I honestly don’t know the last time anyone sat down and systematically checked whether they were all set up well for search, especially the project pages a homeowner or facility manager might find while comparing contractors.

Website audit board sorting page issues into SEO improvement buckets.
The AI queued SEO findings across hundreds of pages, but it did not change customer-facing content on its own.

We ran an AI assistant through both sites – more than 325 URLs – and had it flag every page with a missing description, a title that was too long or too short, images without descriptive text, thin content, or pages that were slow to load. It worked through them methodically and produced a queue of small-business SEO findings.

Here’s the part that matters for how we set this up: the AI flagged and queued every issue. It did not change anything on its own. Before a single word changed on any page, a human reviewed the finding and approved the fix.

That gated approval step sounds like extra work, and honestly, it is a little. But an AI assistant that can edit your website without asking is a liability wrapped in a convenience. For anything customer-facing, the pattern we use is: the AI proposes, a human approves, then the AI executes. That sequence gives you the efficiency of automation without the risk of waking up to a homepage that now says something you didn’t intend.

Our rule for anything customer-facing

The AI proposes, a human approves, then the AI executes.

A social media content audit

Separately, we had a team of AI agents review two months of posts across our social channels: what was getting engagement, what was falling flat, what felt off-brand, and what was redundant with something we’d already said.

Printed social post thumbnails grouped into content patterns on a review wall.
The social audit surfaced patterns, especially that specific project details were stronger than generic posts.

We used sixteen agents working through the archive in parallel, each covering a slice of the content. Not because you need sixteen AI assistants to read Instagram posts, but because splitting the work that way meant we got results in minutes instead of waiting for one agent to work through everything sequentially. A human read the consolidated summary and made the actual decisions.

The findings weren’t dramatic. A few things we’d guessed were confirmed. A few patterns we hadn’t noticed showed up clearly. One recurring theme: posts that led with a specific project detail consistently outperformed posts that led with a general statement about what we do. Good to know, and costs nothing to act on.

A security and access review

The third audit was less glamorous but probably the most important: a sweep of our credentials, configurations, and access controls. For a trades business, that still matters. Customer information, email accounts, website logins, and backup destinations are all part of the operation now.

Access review grid showing accounts checked against business systems.
Access review is quiet maintenance, but drift accumulates when nobody checks it deliberately.

We set up 14 AI investigators to work through 14 categories simultaneously: which accounts had unnecessary access, whether any old access credentials were still active, whether backup configurations were pointed at the right destinations. Each investigator produced a finding. A human reviewed the consolidated report and triaged what needed fixing.

Fourteen findings came back. We fixed what needed fixing. None of it was catastrophic, but several things had drifted over time into states we wouldn’t have chosen deliberately. The kind of quiet accumulation that happens when you’re focused on building and not on auditing.

Why I used several AI audit assistants

One thing I have learned using AI is that different models and different prompts behave differently. AI is great, but it is not infallible. Sometimes the answer is correct for a different situation than the one you are actually in. Sometimes one assistant catches what another one misses.

That is why we split the audit into specialists. One looked at SEO. One looked at social posts. One looked at access and security. Then a human read the combined report. The value was not that one giant AI knew everything. The value was that several focused passes gave me better raw material to judge.

AI audit findings still need human judgment

AI audits surface findings, not wisdom. An SEO tool will flag every page with a description under a certain length, but sometimes a short description is intentional. A security scan can’t replace a human who understands your specific business context: what’s sensitive, what’s legacy by design, what the acceptable tradeoffs are.

Use the list as a starting point, not a checklist to execute blindly. The AI found 14 security items. A human had to decide which 14 mattered in what order, and whether any of them were false positives. Two of them were.

The same applies to SEO findings. More words on a page isn’t always better. A recommendation is a recommendation, not an instruction.

Start with a simple website SEO audit

If you haven’t looked at your website’s SEO setup in the past year, that’s a reasonable first project. Most website platforms (WordPress, Squarespace, Wix) have free or low-cost SEO audit tools you can run yourself without any AI involved. PageSpeed Insights from Google is free and takes about 30 seconds.

If you find more than you want to tackle alone, that’s exactly what the SBDCs are for.

Categories
Flow

One master price list, frozen customer quotes

A customer called to confirm a proposal we’d sent a few weeks earlier. Simple question: “Is that price still good?” I should have been able to answer in five seconds. Instead I spent two minutes cross-referencing three different places while she waited on the line: our CRM (the software we use to track customers and jobs), an older pricing spreadsheet, and whatever our AI assistant had on file from its last sync.

None of them matched exactly. That was the problem.

Why small-business pricing drifts across systems

When you run a small business or contracting company, pricing has a way of multiplying across systems. The original lives in a spreadsheet. Someone pastes a copy into the customer-tracking software. The AI assistant learned from a snapshot that’s now three months old. The website shows a range nobody has updated since last year. None of this is careless. It’s just what happens when you’re moving fast and there’s no rule about where the number officially lives.

The drift is slow and mostly invisible. Until a customer catches it.

Make one master price list the source of truth

We settled on a rule: the master Excel workbook is the source of truth. Every price in every other system has to trace back to that one file. The AI assistant reads from it and doesn’t fill in numbers on its own. The CRM syncs from it. If there’s ever a conflict, the Excel wins.

Master workbook flow diagram feeding CRM, website, and AI pricing references.
Every system can read the price, but only the master workbook decides which number is official.

People in tech call this a “single source of truth.” The plain-English version: there is exactly one place where the right answer lives, and every person and every tool knows to check there first.

Getting there required cleanup. We went through the customer-tracking software and removed duplicate product rows that had crept in over time. We reconciled the project gallery pricing with what was in the workbook. It took a few days of careful work. After that, the AI’s answers stopped drifting.

Freeze customer quotes after they leave the shop

While we were doing this reconciliation, we found something that made us stop cold.

Customer quote sheet visually locked while internal pricing remains editable.
Once a customer has seen a price, automation should treat that number as a commitment.

Saving a project record in the CRM was silently pulling in the current live price for each line item – even on records that already had a customer-facing quote attached. So a job we’d quoted to a customer at last month’s pricing could have its numbers quietly updated to today’s pricing the next time anyone opened and saved that record. No warning. No change log entry in plain sight. The numbers just changed.

We fixed the bug. But we also made a quote-management policy that doesn’t depend on the code being perfect: a line item that has been quoted to a customer is frozen. The AI cannot touch it. A human has to deliberately override it if circumstances genuinely require a change, and that action gets logged.

The principle generalizes to any business that sends proposals. Once you’ve told a customer a price, that price is a commitment. Your systems need to treat it that way, not leave it open for automated updates to drift through.

Website speed matters while customers compare quotes

While we were cleaning up the data layer, we also pushed both of our websites past 90 on Google’s PageSpeed test. It sounds like a technical metric, but the practical effect is real: slow pages lose visitors before they’ve read a word. Some fixes were straightforward – image compression, removing a few scripts that were loading before the page content. Others took a little more digging. Worth it.

Speed is one of those things that doesn’t feel urgent until you realize a potential customer bounced in the two seconds your homepage was loading.

AI pricing tools need pinned source data

I use more than one AI model because each platform has strengths and weaknesses. One might be better at coding, one might be better at writing, and one might reason through a messy problem better on a given day. That is useful, but it also means the instruction has to be clear and the data has to be pinned down.

If the tool is reading from the master spreadsheet correctly, a model change should not cause price drift. If the instruction is vague and the source is stale, you are asking the AI to improvise with customer money. That is not a place I want improvisation.

Automation still needs a maintained price list

The AI syncing to the master spreadsheet only works if someone maintains the master spreadsheet. If prices change and nobody updates the workbook, the AI will confidently quote the old number right up until a customer points out the problem.

Automation doesn’t remove the responsibility to keep your data current. It just makes the consequences of not doing so more consistent – and therefore more visible when something goes wrong.

A simple pricing audit to run first

Pick the single most-quoted price in your business. Find every place that number lives. Write down which one is official. If you can point everyone – and every tool – at that one place, you’ve closed a gap that causes more small-business headaches than most people realize.

Checklist connecting one common price across spreadsheet, CRM, website, and AI reference.
Start with the number customers hear most often and find every place it lives.

If you’ve already done that, check when it was last updated. The master list is only as good as the last time someone touched it.

Categories
Flow

How we use AI to draft small business blog posts

You’re reading a post that an AI helped write. I want to be upfront about that. I also want to tell you exactly what “helped write” means, because there’s a version of this that’s embarrassing and a version that actually works – and the difference is one step that most people skip.

This week we shipped “The Flow,” the small business blog you’re reading right now. The whole publishing platform was built by our AI system. The first thirty posts were drafted by it. Every single one of them was reviewed and approved by a human – me – before it went anywhere near a publish button.

That approval gate matters more than anything else I’ll say in this post. But let me back up.

Why small business content kept getting postponed

We do good work. We build water features that people are genuinely proud of, and we have a craft approach that’s worth talking about. But content takes time. Writing a solid post about, say, why granite weathers differently in freeze-thaw climates takes a couple of hours of focused work – and that’s on a day when you’re not also managing a job site.

Five-step blog workflow from brief to human approval to publish.
The useful workflow is not hands-off publishing. It is draft, edit, approve, then publish.

I’d had “start the blog” on my list for two years. It kept losing to things that had to happen today.

What changed this month: we finished building a blog service that’s part of our own AI platform. It generates draft posts from a creative brief, applies our brand voice guidelines, runs them through a quality check, and queues them for human review. The drafts come out rough in spots. They need editing. But for a contractor or small business owner, “rough draft that needs editing” beats “blank page” every time.

Here’s how this works in practice: I write a brief. The system drafts. I read it, edit what’s wrong, kill what doesn’t sound like me, approve what does. Nothing publishes without that pass. If I don’t approve it, it doesn’t run. That’s not a technicality – it’s the actual workflow, and it’s why I’m comfortable with it.

If you’ve seen AI content that sounds like it was written by no one, for no one, about nothing – that’s what happens when the human review step gets skipped. The AI doesn’t have opinions. It doesn’t know your customers. It doesn’t know the specific thing about boulder placement that makes your work different from the next guy’s. That part is still yours, and it has to go back in during the edit.

Compliant business texting for customer follow-up

While I’m pulling back the curtain this week, I want to mention something else we finally got sorted: compliant business texting.

Business texting checklist beside a phone with generic customer message bubbles.
Reliable business texting required registration and review before messages went back into the workflow.

If you’ve tried to send appointment or follow-up texts from a business number in the last year or two, you may have noticed messages getting blocked. That’s because the phone carriers tightened the rules around what they call A2P messaging – application-to-person – which covers any texts your business sends through software.

The registration process is called 10DLC (10-digit long code). Plain English: you register your business number and confirm to the carriers that you’re a real business texting people who’ve agreed to hear from you. There’s paperwork and a few days of waiting, but it’s a one-time thing.

Once approved – ours came through this week – texts reliably arrive again. Appointment reminders, job confirmations, follow-ups. We’d been routing a lot of this through email. Email works, but short, actionable customer messages are often better over text for a field-services business. Worth the paperwork.

A shop dashboard for jobs, weather, and crew decisions

The third piece we shipped this week is the one my team actually talks about when they walk past the conference room: a TV on the wall showing the whole business at a glance.

Shop wall dashboard showing weather, job status, trucks, and marketing tiles.
A visible dashboard changed the morning conversation by putting the business state in one place.

Weather for the week, because a lot of our install decisions hinge on it. Where the trucks are. How our social posts are performing. Job status. A few metrics that used to mean opening four different tabs on a laptop.

It sounds simple, and it is. But having all of it visible at once – in the spot where the team gathers each morning – changes how people talk about the day. They ask different questions. They notice things earlier. You don’t realize how much you missed until it’s there.

We also pushed a smaller version to a Raspberry Pi kiosk at the front of the shop. Customers see weather and job status updates when they come in. Low-key, but something to look at.

Where AI content automation ends and editing begins

The tools are getting better, and that is genuinely good. I use ChatGPT, Claude, Gemini, and different coding tools because each one has strengths and weaknesses. I also do not pretend any of them are infallible.

Better does not mean hands-off. The blog you’re reading involved real editorial judgment, not just automation. Some posts needed a light pass. A few I rewrote from scratch because the draft missed the point. The AI is a capable first-pass writer with no taste, no field experience, and no relationship with our customers. I bring those things. The combination works. The automation alone wouldn’t.

Same goes for the texting. Automated messages with typos, wrong names, or tone-deaf timing damage your reputation. We review templates before they go live. We test before we send. The automation handles volume and timing – not judgment.

Where to start with AI-assisted content

If you’ve been putting off a content or communication task because it feels too big for your bandwidth, it’s worth asking whether the draft step is what’s actually stopping you.

AI is reasonably good at drafts. It’s not good at approval. That part requires someone who knows the business, cares about the reputation, and is willing to say “that’s not right, fix it.” If you’re willing to be that person for your own content, the blank-page problem gets a lot smaller.

Start with one post or one email template. See if having a draft to react to changes how fast you finish the thing.

That’s what changed for us. Two years of “I should start a blog” became a blog.

Categories
Flow

How we stopped our AI assistant from making things up

A few months back, I was testing one of our voice agents – the AI assistant that handles customer calls – and asked it a basic question about one of our waterfall systems. The kind of thing a customer might ask on any Tuesday afternoon.

It answered confidently. It got the price wrong by a few hundred dollars.

That’s a serious problem. A customer hears a friendly voice quote them $3,200 for something that actually runs $3,800, and now you’ve got an awkward conversation to have. Or worse, they book the job expecting that number and you have to unwind it after the fact.

The issue has a name: AI “hallucination.” I want to explain what that actually means, why it happens, and what we did to fix it – because AI accuracy is the single biggest trust question any small business needs to answer before putting an assistant in front of customers.

What an AI hallucination actually means

When an AI assistant gives you a wrong answer delivered with complete confidence, that’s a hallucination. It’s not lying. It genuinely doesn’t know it’s wrong. Most AI tools learn from enormous amounts of text and get very good at sounding plausible. “Plausible” and “accurate” are different things.

Contrast between an unverified answer bubble and a verified source card.
Plausible language is not the same as an answer grounded in the business's real data.

This ties back to something I have said in our AI videos: artificial intelligence is not actually intelligent in the human sense. It is very good at language. It is very good at finding patterns. That can make it sound more certain than it should.

For general questions that don’t matter much, a wrong answer is an annoyance. For a quote, a product spec, or a scheduling commitment, it’s a reputation problem.

The fix: a company knowledge base the AI checks first

Think of it this way. A new office assistant who’s never set foot in your shop might still sound knowledgeable – they’ve read a lot. But if you ask them what the current price is for a Cascade Series installation, they’ll guess based on general patterns, not your actual numbers.

Customer question routed through a company knowledge base before the AI answers.
The useful pattern is simple: search the maintained library before answering the customer.

The fix is simple: give them a reference binder. Your price sheets. Your product specs. Your standard install notes. Now when someone asks about pricing, they look it up instead of guessing.

That’s exactly what we built. The technical term is retrieval-augmented generation – RAG for short. You don’t need to remember the acronym. What matters is the concept: before the AI answers a customer question, it searches a curated library of real, current company information and uses what it finds to ground its response. Think of it as giving the AI a filing cabinet of your own business to check before it opens its mouth.

We built what I’d call an encyclopedia of our operation. It covers our product catalog, pricing, common install specs, typical timelines, crew schedules. We maintain it, keep it current, and the AI reads it before it speaks.

The difference was immediate. Same AI, same voice, same friendly tone. But now when a customer asks about a Formal Series waterfall for a commercial project, the answer comes back accurate, not invented.

How accurate business data helps voice agents act

Once the knowledge base was solid, something else opened up: the voice agents could start actually acting on what they know.

I tested this last week – asked the system out loud to check a day’s schedule and drop an install job on a crew’s calendar. “Put the Henderson job on Crew 2 for Thursday.” It worked. Needed a little coaching on ambiguous phrasing, but it worked.

That’s meaningful for a service business. A crew lead who can confirm a Thursday install by talking to the phone – instead of trading texts with the office – saves real time across a week. The underlying reason it works: the AI has accurate schedule data to read and write against. Without the knowledge base, it would be guessing. And a scheduling guess that gets acted on is worse than no answer at all.

Better AI models still need your company information

The tools are getting faster and more capable. That is good news. I use them every day, and I would not be spending this much time on AI if I did not think the value was real.

But a better model does not automatically know Aquatic Artists pricing, our install process, our product differences, or the way we want to explain something to a contractor. That still requires the work we did: giving the system real information to draw from.

What a knowledge base can’t fix

The knowledge base helps a lot. It’s not a guarantee.

If the information in the library is out of date, the AI will give an out-of-date answer with exactly the same confidence it gives a current one. We run scheduled jobs to keep things fresh, but no automated system catches everything. Someone has to own the maintenance.

We also keep a firm rule: anything that touches a quote or a commitment to a customer gets a human check before it goes out. The AI can draft it. A person confirms it. That’s not a knock on the technology – it’s just the right call. The customer’s trust is on the line, and that’s not something to hand off entirely.

Think of it this way: the AI is a well-read assistant with your reference binder open on the desk. Faster than the alternative, genuinely useful. Still benefits from someone checking the work on the things that actually matter.

Where to start with AI accuracy

If you’re thinking about putting any AI tool in front of customers – for quotes, for scheduling, for answering service questions – ask one thing first: what does it have to read?

If the answer is “nothing specific to my business,” that’s the gap. That’s where the hallucinations come from.

The single most valuable thing you can do before deploying an AI assistant is give it a solid, current, maintained source of your own business information. It doesn’t have to be sophisticated. A well-organized set of product sheets and a current price list is a real start. From there, you build.

If you want to talk through what that would look like for your operation, reach out. The knowledge-base work is some of the least glamorous and most valuable thing we’ve done this year.

Knowledge-base maintenance calendar with old product sheets replaced by current ones.
A knowledge base only stays accurate if someone owns the updates.
Categories
Flow

Moving our AI platform without business downtime

Picture moving your whole shop across town over a weekend. Every tool, every piece of equipment, every file cabinet. Monday morning your crew shows up and everything is where it belongs. Nobody missed a call. Nobody lost an estimate. The customers have no idea anything happened.

That’s what we pulled off last week with our AI platform, and I want to tell you about the boring work that made it possible – because business downtime is not an abstract technology problem when your phone, CRM, and job schedule all depend on the same system.

Why AI platform reliability matters

Most AI coverage focuses on the visible wins. Voice assistants. Automated quotes. Smart scheduling. That stuff matters, and it does save real hours.

What rarely gets mentioned is the infrastructure underneath it. Moving a platform that handles customer calls, CRM data (that’s the contact and job database – your digital Rolodex), voice agents, and automated tasks to brand-new hosting is nerve-racking. One misconfigured server, one missing database file, one deploy that lands on the wrong machine – and you’re explaining to customers why nobody picked up the phone on Tuesday.

We had been running our operation on one hosting setup for a while. It worked, but we’d grown: more services, more data, more things that mattered. The new hosting was faster and better spec’d. But knowing it’s the right move and actually making the move without breaking anything are two very different problems.

The backup and recovery prep that saved us

Here’s what we did before we touched a single live system.

Operations diagram showing production, verified backup, warm standby, and rollback path.
A warm standby and tested backups turned migration risk into a checklist.

Backups, then backups of the backups. I know that sounds obvious, but I mean current, tested backups – not the ones you set up six months ago and assumed were running. We verified every database, every recording, every config file. If we had to roll back, we’d be rolling back to something real.

A warm standby. Think of this like staging a second crew truck with all the same tools. The new server was fully configured and tested weeks before the cutover. We ran it in parallel, not live, until we were confident.

Disaster-recovery drills. This is the one most shops skip. We actually practiced the restore. Not on the real system – on a copy. We blew it up on purpose and timed how long it took to come back. You do not want the first time your team runs a backup restore procedure to be during an actual emergency.

Here’s the moment that made me glad we ran the drill. Halfway through the practice restore, the voice-agent database came back up but pointed at the wrong config file – a leftover from the old server setup. The agents started, looked healthy, and would have answered calls with stale routing rules. On a test copy, that’s a finding. On cutover day with customers calling, that’s an incident. We caught it, fixed the config, documented the step, and added it to the checklist. Forty minutes of drill time, potentially hours of customer-facing grief avoided.

Host-aware deployment. When you’re managing multiple servers, you can end up in a situation where a deploy – think of it like sending a new version of a tool to your crew – lands on the wrong machine. We labeled everything so the system knows which server it’s talking to and refuses to run a job on the wrong host.

Think of it like color-coded key tags on a truck fleet. The red tag goes with Truck 1, the blue tag goes with Truck 2, and if someone grabs the wrong keys the ignition won’t turn. That’s roughly what this does for software. It sounds simple. It prevents a whole category of expensive mistakes.

What happened during the hosting migration

We moved on a Saturday. We had a checklist, we had a rollback plan, and we’d tested both. By Sunday afternoon, everything was running on the new platform. Voice agents answering calls. CRM accessible. Automated jobs running on their usual schedule.

Phone, CRM folder, and job schedule operating normally after a migration checklist.
The best migration result is that Monday morning looks ordinary.

Monday morning: no customer emails asking why something was broken. No missed calls showing up in the logs. Nothing. The migration was invisible from the outside, which is exactly what you want.

What downtime planning still won’t protect you from

I won’t pretend this was quick. The prep work I described above took several weekends. Backups had to be verified, not just assumed. The warm standby had to be configured correctly, not just spun up. The DR drills took time to design and run.

If you skip the prep and just move, you’ll probably be fine. Until you’re not. And the day you’re not is the day a customer calls and nothing answers, or an estimate goes missing, or a payment doesn’t process. At that point you’re not thinking about how much time the prep would have taken. You’re thinking about how fast you can fix it.

The boring work is what keeps the phones, quotes, and crews moving.

A downtime checklist for a small business

If your business runs on any software you depend on – scheduling, CRM, phone system, website – find out when the last backup ran and whether anyone has ever tested the restore. Not “does a backup exist.” Does the restore actually work.

That’s the question that matters. And most small businesses don’t know the answer until something breaks.

If you want to talk through what a simple backup-and-recovery approach looks like for a shop your size, reach out. It’s one of those things that’s less complicated than it sounds once you’ve done it once.

Restore drill timeline showing a stale configuration caught before migration day.
The restore drill found a stale configuration while it was still only a test problem.
Categories
Flow

Cleaning up AI-generated code after the robot ships

I’m going to tell you something that doesn’t make it into most AI hype pieces: after a big AI-assisted development sprint, you open the codebase and it looks like a job trailer after a long install week. Things everywhere. Half-finished ideas. The same logic written three different ways in three different files. Perfectly functional, mostly, but you would not want to hand it to anyone else and call it done.

This is not a knock on AI tools. The speed is real. In a week of heavy AI-assisted coding we’ll ship more working features than we’d have managed in three weeks doing it by hand. But “working” and “clean” are not the same thing, and in software, same as in a waterfall build, the difference shows up later. You either deal with it now, or you deal with it at a worse time, under more pressure, when you can least afford it.

This past week we did a full cleanup pass on a big chunk of our small business automation platform. Here’s what that looks like and why it matters.

What AI-generated code clutter actually is

When you ask an AI coding assistant to build something, it solves the problem you gave it. It doesn’t automatically know about the solution you built six weeks ago that does half the same thing. It doesn’t keep a running sense of what the overall system should look like. It focuses, it ships, and it moves on.

Before-and-after diagram of duplicated code cards consolidated into focused modules.
Cleanup turns duplicated working parts into fewer places to understand and maintain.

The result is that over time you get modules that ballooned to five times a healthy size, logic that’s been duplicated in three places when one would do, and functions that were written once for a specific situation and then never touched again even when the situation changed. None of it is broken. All of it is weight.

Our cleanup pass this week split several oversized files into smaller, focused pieces. We found three separate places doing the same data lookup and consolidated them into one. We deleted roughly a thousand lines that were doing nothing useful. The working behavior didn’t change. The system got easier to reason about, like organizing a parts room after a busy season so the new hire can actually find things.

A clean codebase is also much easier for an AI assistant to understand and improve. When the structure is obvious, the AI spends fewer tokens figuring out where things live and less time guessing which duplicate helper is the real one. That means less wasted context, fewer wrong turns, and better outcomes when I ask it to make the next change.

Automated tests are the acceptance checklist for AI automation

Here’s the part I want to emphasize, because it’s the thing that makes the cleanup meaningful rather than cosmetic.

Automated test checklist confirming that cleanup preserved existing behavior.
Tests make cleanup more than cosmetic because they prove the behavior still works.

When you tidy a parts room, you know it worked because you can see the parts on the shelf. When you reorganize software, “it looks better” isn’t enough. You need to know it still works exactly as it did before. That’s what automated tests are for.

A test is a small program that checks one specific thing. “When this input comes in, this output should come out.” We write tests before we clean up code, run them after, and if they all pass, we know the cleanup didn’t break anything. If one fails, we know exactly what broke and where.

For a business owner, the practical point is this: if you’re going to trust AI automation with anything important, like customer communications, scheduling, or estimates, you need a way to verify that the automation is still doing what you think it’s doing. Tests are that verification. Without them, you find out something broke when a customer tells you. With them, you find out before anyone sends an email.

We added a meaningful number of tests this week to code that had been running in production without them. It’s the kind of work that doesn’t feel urgent until it suddenly is.

A small business automation example: email that files itself

While we were doing the cleanup sprint, we also shipped something that has nothing to do with code tidiness but is a good example of AI automation for a small business that earns its keep quietly: automatic email-to-record linking.

Incoming emails linked to customer and project folders with one ambiguous item for review.
The automation earns its keep by filing routine messages consistently and flagging edge cases.

Before this, an email from a customer about a job would land in the inbox and someone had to drag it to the right folder, paste the key parts into the CRM, or just try to remember what was said. Ten ongoing projects means ten chances to miss something.

Now the system reads incoming email, figures out which customer and which job it’s about, and attaches it to the right record automatically. Open a project in the CRM and the relevant thread is already there. No filing, no copy-pasting.

It doesn’t do anything a diligent office manager couldn’t do manually. But it does it on every email, every time, without forgetting. That consistency is the whole point.

Good AI workflows beat chasing every new release

It is almost scary how fast the AI coding tools are improving. I have used tools that feel close to zero-code for certain jobs, and that would have sounded like science fiction not very long ago.

But the teams getting real value from AI tools are not the ones jumping to whatever launched last Tuesday. They’re the ones who picked a set of tools, got good at using them, and built the cleanup habit around them.

The cleanup work we did this week, testing, consolidating, removing AI-generated clutter, applies regardless of what model is running. Habits matter more than the latest release. A tidy, well-tested automation on a good-enough model will outperform a messy, untested one on the newest model.

AI code cleanup still takes a human eye

Cleanup takes real time. I spent the better part of a week on it, and that’s a week I wasn’t shipping new features. That’s the right call, but it’s a call that requires discipline. The pressure to keep adding things is constant. The pressure to tidy what’s already there is quieter and easier to defer.

The automated tests caught a few things during cleanup, but they can’t catch everything. A test only checks what you thought to write a test for. Tests reduce the risk. They don’t eliminate it.

The email auto-linking isn’t right 100% of the time either. Occasionally an email attaches to the wrong record, usually when a customer mentions multiple projects in one message. We do a periodic review to catch mis-files. The automation handles the routine; a human handles the edge cases.

The rule I’ve settled on: after any AI-assisted sprint, schedule a cleanup pass before moving to the next thing. Even an afternoon spent deleting what you don’t need, consolidating what’s duplicated, and writing one test for the thing that would hurt most to have break silently pays back more than it costs.

The robot builds fast. Cleaning up after it is still your job.

Categories
Flow

AI phone answering for contractors, with a human handoff

A few weeks back we got a call from a pool builder. He was on-site, asking about spec details for one of our waterfall systems. It was the kind of question where getting it wrong means someone orders the wrong thing and a job gets delayed. He was standing about ten feet from an excavator.

Our AI phone assistant picked up. And then, for a long moment, it could not figure out what he was saying.

It wasn’t a disaster. He called back, got a person, got the answer. But it stuck with me. Pool builders and landscape contractors don’t call from quiet offices. They call from job trailers with compressors running, from trucks on the highway, from backyards where a crew is cutting block. If your AI phone answering system can’t handle that, it’s not useful for the people you most need to reach.

That was the starting point for a round of upgrades we pushed through this month.

AI phone answering starts with better audio

The first fix was noise cancellation on the audio side. Before the AI assistant ever tries to understand what a caller is saying, the audio gets filtered. Background noise, wind, machinery, anything that’s consistent and predictable gets stripped out before transcription starts.

Noisy jobsite audio waveform filtered into a cleaner transcription card.
Better transcription starts with cleaning the sound before the AI tries to understand it.

Transcription is the step where spoken audio becomes text, and it’s where most voice AI fails. Once you have clean text, the AI can actually figure out what someone wants. But if the input is half-static and half-words, the transcription is garbage and everything downstream is a guess.

We also upgraded the speech-to-text engine itself. The practical result is that the assistant handles noisy jobsite calls noticeably better. Not perfectly. A nail gun at close range is still a nail gun. But well enough that calls which were previously failing are now going through cleanly.

The key feature is knowing when to hand off

Here’s the thing about AI phone assistants that most demos don’t show you. A well-designed AI can answer a lot of common questions well: hours, pricing tiers, basic product specs, how to schedule a callback, where to find information on the website. It can take a message with the right details. It can book a time slot.

Call-routing diagram moving technical questions from AI intake to a human specialist.
The handoff matters because the caller should not have to start the conversation over.

But a contractor asking a technical specification question under time pressure is a different situation. The wrong answer there doesn’t just fail to help. It actively causes a problem.

What we built is a human handoff system. The AI assistant knows its own limits. When a call goes past what it can handle confidently, like a detailed technical question, a scope-of-work discussion, or anything where a wrong answer has real consequences, it routes the call to the right person on our team, with context about what was already discussed.

The caller doesn’t start from scratch. The assistant summarizes what it captured so far, the specialist picks up mid-conversation, and the whole thing feels like one call instead of two. The AI handled what it could. A person handled what it couldn’t. Nobody guessed.

This is the part of voice AI that I think matters most for contractor businesses. The value isn’t in having a robot try to answer every question. It’s in making sure the right questions reach the right people without falling through the cracks.

Searchable meeting transcripts for contractor teams

We also wired up a separate but related piece: the conference room mic and meeting transcription. We have a small hardware setup, just a dedicated mic and a button to start recording, that captures our internal meetings and produces a speaker-labeled transcript. The AI figures out who said what based on voice patterns, and the result gets stored where anyone on the team can search it.

Meeting microphone beside an abstract searchable transcript interface.
Searchable transcripts preserve verbal decisions that otherwise disappear after the meeting.

The reason this matters for a small shop is simple. We have four or five people who need to know what was decided in a meeting they didn’t attend. Before this, someone took notes. Sometimes the notes were good. Sometimes they were a few bullet points that made sense in the moment and nothing three days later. Now the full transcript is searchable, and if someone needs to find the exact thing Chuck said about the Henderson project, they can find it in about thirty seconds.

Trades and contractor businesses run on verbal decisions. Job change orders get discussed on-site and sometimes never make it to paper. Having a searchable record of what was actually said isn’t a luxury. It’s the kind of thing that prevents real disputes.

Where AI call routing is useful for the trades

If I were explaining this to another contractor, I would not start with the AI part. I would start with the missed-call part. A builder calls after hours. A homeowner calls while you are on a job site. A supplier calls with a question that needs to land with the right person. Those are real moments where work gets won, lost, or delayed.

Phone answering fits squarely in that category. A missed call from a builder who’s deciding between two waterfall vendors is a real cost. An AI answering service that picks up, gets the basic information, and either handles the question or routes it correctly, that’s the whole job.

What AI phone answering can’t fix on its own

A handoff only works if the right human is available to receive it. We set ours up with fallback routing, but there are still calls that go to voicemail because everyone is out in the field. The AI can’t conjure a person who isn’t there.

Meeting transcripts are also not perfect. The speaker identification works well most of the time but occasionally attributes a line to the wrong person, especially when two people speak at the same time or someone is remote on a phone line. We spot-check important transcripts before treating them as the record of record. They’re a first draft, not a court document.

And none of this changes the fact that for certain calls, like complex estimates, scope negotiations, or anything with a difficult customer, a person needs to handle it from the start. The AI assistant is good at coverage and triage. It’s not good at nuance, and we don’t ask it to be.

If you’re thinking about voice AI for your business, the practical test is this: call your own number from a loud location. See what happens. If the AI can’t hear you, it can’t hear your customers either. That’s the first thing to fix.

Categories
Flow

Renting cloud GPUs for AI video by the hour

At some point last year I looked up what it actually costs to run AI video processing on hardware you own. A workstation spec’d for serious AI video work – the kind that handles upscaling and frame interpolation without turning into a space heater – runs $8,000 to $12,000. That’s before you factor in that it would sit idle for most of the year. Most of our video projects are assisted with AI, but not fully generated using AI. The math does not work for a small contractor.

The computing power AI video needs is genuinely enormous. When I tried running an upscaling job on my regular laptop, the fan spun up like a jet engine and the machine was unusable for anything else. Two hours in, the job was maybe a third done. I killed it. That’s not a workflow – that’s an obstacle.

The problem isn’t that the tools don’t work. They work well. The problem is that the hardware underneath them is built for studios and research labs, not for a shop that wants to polish forty minutes of jobsite footage before a client presentation. Nobody running a waterfall, pool, or landscape business is going to drop five figures on a workstation they’d use twenty times a year.

Cloud GPU rental works like renting a lift

Cloud GPUs work like equipment rental. A GPU, short for graphics processing unit, is the specific kind of chip that handles heavy video and AI work. The big tech providers have warehouses full of them, and they’ll let you use one for an hour or a day, then hand it back.

We hooked our AI video pipeline into a remote job broker. That’s a piece of software that takes a heavy task, sends it to a rented GPU in a data center somewhere, runs it, and ships the finished file back to us. The whole thing looks like a button click on our end. We pay for the compute time we actually used. For a forty-minute AI video upscaling job, that’s a few dollars, not a few thousand.

AI upscaling takes a lower-resolution video and rebuilds it at higher quality using pattern recognition. The model has seen enough video to make educated guesses about what the missing detail should look like. Frame interpolation adds smoothed frames between the original ones, so slow-motion footage looks cinematic instead of choppy. Neither one is magic, but both are real, and the results are good enough to put in front of clients.

We also do AI thumbnail generation and SEO scoring for our YouTube channel through the same setup. The video marketing work that used to take a morning now runs overnight in the cloud while nobody’s watching.

Why we test AI automation in a sandbox

The other thing we built around the same time is what I call a sandbox, and rented GPUs are part of what makes that practical. A sandbox is a separate environment where the AI can try things without touching the actual business systems. Instead of buying hardware for experiments that might not work, we can rent the compute for a test, run the job away from production, and shut it down when we’re done.

Sandbox diagram separating experimental AI automation from live business systems.
New automations get tested where mistakes cannot reach customers.

Think of it like this. You have a real kitchen where you prep food for customers. You wouldn’t test a new recipe using the same station where tomorrow’s orders are staged. You’d use a separate prep area, or come in on a Sunday when the restaurant is closed. The sandbox is that separate prep area, but for software.

When we want to try a new AI automation, whether that’s a new way to draft proposals, a new way to route incoming calls, a video model, or anything that might behave unexpectedly, we run it in the sandbox first. For heavier tests, that sandbox can use a rented GPU just like the video pipeline does. It has its own copy of the data it needs, its own services, no connection to the live CRM or the real phone system. If it does something wrong, it does something wrong in a corner nobody can see, and we are only paying for the compute while the test is running. We review the results, tweak the settings, and only then move it to production.

The reason this matters is that AI tools are genuinely useful and genuinely unpredictable in roughly equal measure. An AI assistant that can draft a solid follow-up email can also, under the wrong conditions, send one to the wrong person. The sandbox is the rule we made so that “wrong conditions” means “caught in testing,” not “already in a customer’s inbox.”

What cloud AI tools mean for a small business

For us, the practical payoff splits into two pieces.

The video side means our marketing footage actually gets used. We had a backlog of good jobsite video that was too rough to publish. The cloud GPU pipeline cleared it out over a couple of weekends without anyone sitting at a computer. The finished clips go on the website, on YouTube, in proposals. Good waterfall video sells waterfalls.

The sandbox side means we move faster on experiments without lying awake about what might go wrong. Before we had it, every new automation felt like a judgment call about risk and hardware commitment. Now the rule is simple: new things go in the sandbox, rented compute handles the heavy test, and tested things go in production. That structure made it easier to say yes to new ideas and easier to explain to Chuck what we were building and why.

Where cloud GPU jobs still need a safety net

Cloud GPU work needs a solid internet connection and a pipeline that knows what to do when a job fails midway – which happens. Our setup retries automatically, but if you’re running a one-off job with no error handling, a dropped connection means starting over.

Waterfall video frames reviewed beside an upscaling and thumbnail checklist.
Cloud processing saves time, but the finished video still gets reviewed before it goes public.

The sandbox also isn’t a substitute for actually reviewing what the AI does. It catches catastrophic failures, the kind where something clearly went wrong. It doesn’t catch subtle errors, like an AI that’s technically doing the right thing in the wrong context. A human still has to look at the output before it ships. We check the video before it goes on the website. We review the AI responses before they go live. The sandbox just means the review happens on our schedule, not after a customer already saw something we’d rather have caught.

The AI space is busy right now. There are free trials, promos, new tools, and demos everywhere. What I’ve found is that the tools we use every week pay off, and the tools we tried once and forgot are just clutter. For us, AI video cleanup and thumbnail work made sense because we already had the footage and a real place to use it. That is the test I would use before signing up for anything: do I have a real workflow for this, or am I just curious?

If you have a backlog of real work and there’s an AI tool that can help, that’s a good place to start. It’s fun to try things out and learn what’s new in the AI world, but at the end of the day AI is only valuable if it’s doing valuable work. The compute is there. You just don’t have to own it.

Comparison of owning a large AI workstation and renting cloud compute by the hour.
The hardware math did not work for occasional video projects, but hourly compute did.
Categories
Flow

AI costs for small business: keep the meter under control

Early April, we noticed something in our usage logs: one background worker had been running a processing loop through the night, making AI calls far faster than it should have. By morning it had burned through a significant chunk of our weekly budget. The rest of the platform was fine, but we were suddenly rationing.

That’s the version of the AI cost problem that doesn’t show up in the demos. Not “AI is expensive to buy” – the tooling is pretty affordable now. The problem is that AI calls are metered like water or electricity, and without the right setup, a small business owner may not know the meter is running until the bill comes.

How AI pricing becomes a metered bill

Most people’s first experience with AI pricing is a subscription like ChatGPT Plus. That is the easy version to understand: you pay a flat monthly price for the ChatGPT web app, then use it inside the limits of that plan. At the time I’m writing this, OpenAI lists ChatGPT Plus at $20/month.

Timeline showing a background AI worker stopped by a circuit breaker after retrying too often.
A runaway loop needs to fail loudly before it turns into a surprise bill.

Business automation usually works differently. When software calls an AI model through an API, that API usage is separate from the ChatGPT subscription and is billed independently. The bill is usually based on tokens. A token is a small piece of text. The text you send into the model is input tokens; the answer the model writes back is output tokens. OpenAI publishes API prices per million tokens, with separate rates for input and output.

That difference matters. Typing into ChatGPT feels like using a subscription. Wiring AI into a background worker feels more like turning on a meter. If a job sends a long customer history, a pile of email threads, or a database export, the input tokens can be large before the model writes a single word back. If the response is a long report, the output side grows too.

The problem is volume. If you have an agent that runs nightly and processes a hundred records, that’s a hundred calls. If that agent has a bug and processes the same records ten times each, that’s a thousand calls. If it runs into an error and retries in a tight loop, it can make ten thousand calls before anyone notices. At that point, the affordable AI starts looking different.

Put every AI call through one gateway

The single most useful thing we did was route all AI calls through one gateway – one piece of software that every request passes through before reaching the model. Think of it like a dispatcher at a trucking company. Nobody goes directly to the driver. Every job goes through the dispatcher, who logs it, assigns it, and tracks whether it got done.

AI request gateway routing and logging calls from several business tools.
A single gateway gives the business one place to see, route, and stop AI calls.

With a front door like this, you can see at a glance which parts of your system are making calls and how many. You can set rate limits. You can stop a runaway worker without taking down everything else. You can also apply different rules to different types of work. That’s where the next few dials come in.

Four AI cost controls that actually move the meter

Route simple tasks to cheaper models. Not every job needs the most capable AI available. If you’re classifying whether an incoming email is junk or a real lead, a smaller, faster model costs a fraction of the price and works almost as well. We push classification, labeling, and formatting work to lighter models, and save the heavier ones for things that actually need them: drafting a proposal, generating a response that represents the company, handling a complex phone inquiry.

Four AI cost-control dials for routing, batching, scheduling, and circuit breaking.
The controls that matter are boring: route wisely, batch work, schedule heavy jobs, and stop loops fast.

Batch multiple items per call. If you have twenty emails to screen, sending them one at a time means twenty calls. Sending them together in a single call with the right instructions means one. Not every task batches cleanly, but when it does, the savings are real.

Add circuit breakers. A circuit breaker is a rule that says: if this worker makes more than X calls in Y minutes, stop and alert me. It’s the equivalent of a breaker panel in an electrical system. When something goes wrong, it fails loudly and stops, rather than running quietly until the bill arrives.

The return-on-investment math, honestly

I talk a lot about the value of these tools because the value is real. A $20-a-month AI account can do things that feel ridiculous compared with what software used to cost. But that does not mean AI is automatically cheap once you wire it into a business process.

Here is the kind of math I mean. As of this edit, OpenAI lists GPT-5.5 API pricing at $5 per million input tokens and $30 per million output tokens for standard short-context calls. Suppose a useful daily review job uses 500,000 tokens each run: 360,000 input tokens and 140,000 output tokens. That is $1.80 on the input side and $4.20 on the output side, or $6 per run. Run it twice a day and it is about $12/day. Over a 30-day month, that is $360.

$360/month may be a great deal if the work is worth more than that. If the review saves several hours of office time, catches missed leads, or prevents a real operational problem, the cost is easy to justify. The question is not whether the AI bill is zero. The question is whether the job it is doing is worth more than the meter it runs.

Now flip the example. A similar 500,000-token job on a more expensive model, or one that produces much longer output, can cost a lot more. Using GPT-5.5 Pro rates from the same pricing page, a 500,000-token run split evenly between input and output would be $7.50 for input and $45.00 for output, or $52.50 per run. Run that once a day and you are at $1,575/month. If nobody reads the report, approves the suggestions, or turns the output into a decision, the value is zero. You didn’t buy automation; you bought an expensive pile of unread text.

The honest return-on-investment math is not “AI saves X per month.” It is “AI saves X per month if you run it cleanly and use the output.” A single misbehaving worker, or a perfectly functioning worker that nobody looks at, can flip a sensible budget into an ugly one faster than you would expect. Cost discipline is part of the return, not a separate accounting chore.

What AI budget controls won’t do on their own

Circuit breakers and rate limits don’t configure themselves. Getting value out of a usage dashboard requires someone who understands the system well enough to know which numbers should concern them. For a small shop, that might mean a monthly review of your AI vendor’s billing dashboard, looking for any line that jumped unexpectedly.

Worth naming too: if you’re using AI tools you didn’t build yourself (which is most small businesses), you may not have direct access to the usage data. Ask your vendors. A good AI tool for a small business should show you, at minimum, call volume per month and whether there are any anomalies. If they can’t tell you that, it’s worth asking why.

What I’d do before adding the next AI tool

Before you add any new AI feature to your business, estimate how many times it will run in a day. If it runs once per customer inquiry and you get ten a day, that’s ten calls. If it runs on every incoming email and you get a hundred emails a day, that’s a hundred calls. Write the number down. Then check whether your AI vendor’s pricing makes that sustainable at the volume you’re actually planning for – not just the volume you have today.

That five-minute exercise has saved us from a few decisions that would have looked a lot different at the month-end invoice.

Categories
Flow

How we use AI to review our small business automation

I came in one morning to find that our AI had filed 1,004 improvement tickets about our small business automation while we slept.

That number stopped me cold. A thousand suggestions – about its own performance, its own gaps, things it thought should work better. Most of them were probably fine ideas. None of them were going to get built automatically. That part is entirely up to us.

That’s the setup for this post: not “AI improves itself,” but “AI proposes, humans decide.” The distinction matters more than it sounds if you are using AI tools around real customers, schedules, email, or job records.

What our AI review system actually does

The tool is something we call the Program Improvements Manager, or PIM. Every night, it runs a review pass across the AI systems we’ve built: voice agents, email tools, the CRM integration, the scheduling app. It looks for patterns: things that failed more than once, places where a response was slow, steps that a human had to correct, areas where the output was inconsistent.

Improvement-ticket funnel narrowing raw AI suggestions into a reviewed queue.
The useful output is not the raw pile. It is the smaller queue worth a person's attention.

Then it writes up suggestions. Each one gets a rough estimate of effort and a rough estimate of impact. They get sorted into categories: reliability improvements, new capability requests, content updates, configuration changes.

By morning, we didn’t have 1,004 raw suggestions. We had 129. That was better, but it was still too many. It was not practical to sift through 129 active improvement suggestions every day and make good decisions about all of them.

That became the real lesson: the system had to be tuned for usability, not just output. A review tool is only useful if the queue is small enough that a person will actually read it. You do not want AI doing a million things if all but a few get stuck in a human review backlog.

That human is me, usually. I review the queue, decide what is worth building, and tune the system when the list starts turning into noise. Some suggestions go into our actual development backlog. Most get noted and watched. A few get dismissed. Nothing happens automatically.

The best use of AI here is not as a magic box for every shiny new idea. It is a tool to reduce work we were already doing. If it overwhelms us with a pile of crap we will never get a chance to look at, it has failed, even if every individual suggestion sounds clever.

Why human approval is the whole point

An AI that can modify its own behavior without oversight is a liability. I’m not being dramatic about that. It’s just true. The value of an AI self-review system like this is not that it fixes things on its own. The value is that it sees things I would miss, at a speed and scale I can’t match, and hands them to me in a form I can actually act on. The judgment call stays with me.

Human sorting AI improvement suggestions into build, watch, and dismiss trays.
The AI can notice patterns, but the owner decides which suggestions deserve work.

The analogy I keep coming back to is a good estimator who reviews all your past jobs and writes up a report: here’s what came in under budget, here’s what ran over, here’s a pattern I’m noticing. That’s genuinely useful. But the decisions about how to bid the next job, which crew to put on it, when to take a pass – those stay with the person who signs the contracts.

Same idea here.

Nightly backups make the automation safer

The same night the PIM runs, a set of backup jobs runs too. Every customer recording, every voice-agent transcript, every video gets quietly copied to cloud storage. Not because anything bad happened, but because “automated backups run every night” is the kind of boring sentence that prevents years of work from disappearing.

Monthly backup calendar showing uninterrupted nightly backup completion checks.
Predictable nightly backups are the kind of automation that earns trust quietly.

I don’t think about it most days. That’s the point.

A few weeks back I was looking at the backup logs and noticed they’d been running without a single gap for over a month. Thousands of files, dozens of sessions, completely automated, no one watching. That’s the kind of automation I actually trust. Not because it’s clever, but because it’s predictable.

Why AI process improvement is practical now

One reason this is practical now is that the AI tools have gotten cheap enough for normal business experiments. In the videos I’ve made about AI, I keep coming back to the same point: a lot of this is not five-figure enterprise software anymore. Sometimes it is a $20-a-month tool, or a small metered cost, doing a job that would have taken a person hours.

That does not mean everything should be automated. It means the math is finally good enough that a small company can try things, keep what works, and shut off what does not.

This only works if someone reviews the queue

An AI that writes its own improvement tickets is only as good as the person who reads them. If the queue piles up unreviewed for weeks, or if the person reviewing it doesn’t understand the systems well enough to evaluate the suggestions, you get noise. Or worse, a false sense that the system is improving itself when really it’s just generating paperwork.

This approach works for us because I’m close enough to the code and the business logic to make calls quickly. For a shop owner who doesn’t build their own tools, the right version of this might just be a monthly review session with whoever manages your software vendors. Periodic review by a person who can act on it matters more than the specific implementation.

One place to start

If you’re building any kind of automation, build the review step first. Not as an afterthought. Decide ahead of time: how will I know if this is working? How will I know if it’s quietly doing the wrong thing? The answer doesn’t have to be sophisticated. It can be a weekly email summary, a log you glance at on Mondays, a number that should stay below a threshold. Just something a human actually reads.

Categories
Flow

Why your small business emails land in spam

We spent a Friday afternoon building out a small business email campaign for Aquatic Artists – wrote decent copy, put together a clean template, hit send to a list of a few hundred contacts we’d accumulated over years of doing business. Then we waited.

Almost nothing came back. No opens worth counting, no replies. A few days later, I started getting the occasional “never got your email” from people I knew well. The emails hadn’t bounced. They’d gone straight to spam.

That’s a deflating experience. And it’s not rare. If your contractor emails, service reminders, or marketing emails keep going to spam, here is what I learned about why it happens and the fixes we put in place.

Email authentication: the part most small businesses skip

Most small businesses set up an email address, maybe connect it to a domain they bought, and assume it’s ready to go. The problem is that spam filters run a series of background checks on every message before it reaches an inbox. Three of those checks matter most:

Business email passing SPF, DKIM, and DMARC checkpoints before reaching an inbox.
SPF, DKIM, and DMARC tell receiving mail systems whether your message is allowed and trustworthy.

SPF is a record you publish for your domain that says “these are the servers allowed to send email on my behalf.” If your email goes out through a service that isn’t on that list, spam filters treat it as suspicious. Think of it like a contractor showing up to a job site without being on the authorized crew list.

DKIM is a cryptographic signature attached to your message – a way of proving it wasn’t tampered with in transit. Most email platforms add this automatically, but only if you’ve set it up correctly in your domain’s settings.

DMARC tells receivers what to do if SPF or DKIM fail: quarantine the message, reject it, or just report it. Without DMARC, even a properly signed email can end up treated inconsistently.

None of this is exciting. Setting up SPF, DKIM, and DMARC is mostly a couple of hours in your DNS settings and your email platform’s configuration panel. But it’s the foundation that everything else depends on.

Plain-text email helps deliverability

Here’s one that surprised me. If you send a marketing email that’s only HTML – a nice-looking newsletter with images and formatting, but no plain-text version alongside it – spam filters often mark it down. Real communication between people almost always has a plain-text component. A message that’s pure HTML looks like it came from a bulk-sending machine, not a person.

HTML email card paired with a simple plain-text fallback card.
Sending both versions makes the message look more like real communication and gives filters fewer reasons to object.

When we built our email template editor, we made it generate both versions automatically. Every campaign goes out with a proper HTML design and a plain-text fallback. It takes zero extra effort and removes one more reason a filter might catch your message.

Domain warming for business email

If you’ve never sent marketing email from a domain before – or haven’t sent much – spam filters are going to be cautious about you. You don’t have a reputation yet. The fix is to build one slowly: start by sending small batches to your most engaged contacts (people who actually open and click), then increase volume over several weeks. This is called domain warming, and it’s genuinely boring. There’s no shortcut.

Domain warming staircase increasing email sends gradually over several weeks.
Reputation builds slowly. Sending too much too fast is exactly what filters are watching for.

Double opt-in helps here too. When someone signs up to hear from you and then confirms that signup with a second click, you know they actually want your emails. That keeps your complaint rate low, which keeps your sender reputation healthy.

Where AI helps with email marketing

Once the plumbing was working, we added two things that make the system smarter.

First, the template editor I mentioned is drag-and-drop, roughly what you’d expect from a Mailchimp-style tool, with AI suggestions for subject lines and send times based on which days and hours your audience tends to engage. Not magic, but genuinely useful when you’re doing this as one of fifteen things on your plate.

Second, we built an inbox scanner. It’s an AI tool that reads the incoming mailbox and surfaces the actual leads and action items buried in there. Not “here’s every email you got,” but “here are the three threads that look like someone wants to talk business.” For our business, that matters more than fancy automation. That is the kind of AI I like: boring, specific, and tied to a real job that used to eat time.

What email authentication alone won’t fix

Authentication fixes are necessary but not sufficient. If your content looks spammy – all-caps subject lines, aggressive promotional language, sending to people who never asked to hear from you – you’ll still land in filters regardless of your DKIM record. And domain warming takes weeks. There’s no fast version.

The other rule we follow is simple: do not use AI as an excuse to send vague, pushy, or unwanted messages. If the email would annoy you as a customer, making the computer send it faster does not improve it. It just scales the mistake.

What I’d check first

If you’re not sure whether your domain is authenticated, use a domain checker instead of guessing. Start with Google Admin Toolbox Check MX for MX/SPF checks and DKIM selector checks, MXToolbox SuperTool for MX, blacklist, SMTP, SPF, DKIM, DMARC, MTA-STS, and TLS-RPT lookups, dmarcian Domain Checker for SPF, DKIM, and DMARC inspection, or EasyDMARC Domain Scanner for a domain health scan across SPF, DKIM, DMARC, and BIMI. Run more than one if the result matters, because each tool explains failures a little differently. You’ll see quickly whether SPF, DKIM, and DMARC are configured. That’s the starting point. Fix what’s missing, then think about content and warming. The deliverability problems tend to sort out in that order.

If you’re curious how we handle email marketing for our business, reach out. Happy to share what worked.

Categories
Flow

Crew scheduling software for real-time updates

For a long time, the crew schedule lived in a spreadsheet. It worked because everyone knew where to look, but it was still a snapshot of a moving week.

The problem wasn’t the spreadsheet itself. The problem was everything that happened after the spreadsheet changed. A job moved. A crew member was unavailable. The weather pushed a pour to Thursday. Now the version someone saw earlier in the day might be wrong, and the confusion came from people working from different copies of the plan.

If you coordinate crews, you’ve lived this. It doesn’t matter if the schedule starts in a spreadsheet, a group text thread, or one person’s head. The problem is a schedule that changes often but does not update everywhere at once.

What we built for crew scheduling

We stood up a crew scheduling app this month that covers our install crews and job assignments. At its core it’s not complicated: jobs get entered, crew members are in the system with their availability, and the app assigns people to jobs based on who’s free and what skills a job needs.

Crew scheduling diagram creating a proposed lineup that waits for human confirmation.
The app drafts the obvious assignments so the human can focus on the edge cases.

The “auto-scheduling” part means the app can suggest a crew assignment – it looks at who’s available, who’s already booked, and what each job requires, and it proposes a lineup. You still review it and confirm. It’s not the app making the final call; it’s the app doing the tedious matching work so you’re reacting to a draft instead of building the whole thing from scratch.

That distinction matters. People hear “auto-scheduling” and picture software that runs the whole operation without them. That’s not what I’m describing. The version that actually works for us is: the software handles the obvious assignments, surfaces the conflicts, and leaves the edge cases for human judgment.

I do not put much weight in average numbers for this kind of thing, because every operation runs differently. What I do know is simpler: if the schedule changes frequently and the current version is not visible to everyone who needs it, the business is going to keep paying for that with confusion and missed details.

The spreadsheet sync that made the switch painless

The main lesson from our rollout was simple: don’t throw out the old spreadsheet on day one.

Two-way sync between a spreadsheet schedule and a shared scheduling app.
Keeping the old spreadsheet in sync let the new tool prove itself before the team fully switched.

We kept our Excel spreadsheet running alongside the new app for the first few weeks. The two systems sync in both directions – a change in the app shows up in the spreadsheet, and an update in the spreadsheet (for whoever hadn’t switched to the app yet) feeds back into the system.

That two-way sync changed the dynamic of the rollout completely. People who were nervous about the new tool didn’t have to trust it immediately. They could keep doing what they were doing while the rest of us used the app, and the schedule stayed consistent across both. Over time, as the app proved itself, the spreadsheet became the backup rather than the primary. By the time we stopped updating it manually, nobody noticed.

The principle generalizes. Almost any time you’re moving a team off a tool they’re used to, the hard part isn’t the software – it’s the trust. They’ve been burned by systems that launched with fanfare and then broke at the wrong moment. The way to earn that trust is to not ask them to abandon the old system as a condition of trying the new one. Let both run. Let the new one prove itself. Then the transition happens naturally.

What the scheduling app changed day-to-day

The clearest win is that the schedule reflects changes as they happen.

Crew member checking a current schedule update from the field.
The schedule became a shared current view instead of a phone call to whoever held the latest version.

Before, the spreadsheet could be correct at 8 a.m. and stale by lunch. A job moved, availability changed, weather shifted the plan, and people were suddenly working from different versions of the week.

Now the contractor schedule is a shared live view. Crew members can check the current plan themselves. Changes are visible immediately. When a job pushes to the following week, one update propagates everywhere. The value is not that nobody asks questions anymore; it is that everyone starts from current information instead of an older spreadsheet.

Where auto-scheduling still needs a human

Auto-scheduling only knows what you put in it.

If a crew member updates their availability in the app, great – the system handles it. If someone mentions a change and nobody logs it, the schedule is wrong and the app doesn’t know. If a truck breaks down and no one updates the job status, the auto-assign will keep sending that truck out. Garbage in, garbage out – a rule that applies just as much to scheduling software as it does to everything else.

The other thing: scheduling software doesn’t fix a chaotic operation. If your jobs are poorly scoped or crew assignments change last-minute because of upstream planning problems, an app will reflect that chaos clearly. That can be useful – it surfaces problems that were previously invisible – but don’t expect the tool to solve problems that live in the process, not the calendar.

If your crew schedule changes faster than the spreadsheet

You don’t have to rebuild your whole operation to get value out of better scheduling tools. The useful first step is simple: make the current schedule visible to the people who need it, and make updates flow to one shared place quickly.

Start with two questions. Where is the current version of the schedule, and what happens when jobs or crew assignments change during the day? If the answer depends on someone remembering to reconcile a spreadsheet later, you’ve found the friction point. Even a basic app that lets more people see the latest schedule can reduce confusion before you add anything more advanced.

The spreadsheet got us by for a long time. I don’t miss trying to keep every moving part current by hand.

Categories
Flow

Website automation for Project Pages

There’s a photo on my phone of a waterfall we finished last fall. Great install. The kind of job you want on your website. I took about forty photos on-site, picked the best three, and then set them aside because getting them onto the website meant sitting down, opening three different tools, resizing images, filling in fields, writing a caption, and publishing – and I had six other things on my list.

The photos sat for two weeks.

That’s not a technology problem. That’s a friction problem. The harder you make something to do, the more often it doesn’t get done. And for a small shop, your website is your portfolio. If it doesn’t reflect your recent work, you’re leaving your best sales tool half-empty.

What publishing a Project Page used to look like

Before we built our website management system, getting a finished install onto the site went something like this: open the WordPress admin, create a new post, upload images one at a time, resize or crop as needed, write a title and description, assign categories and tags, check that the gallery template looked right, preview it, fix whatever was off, and publish. Then separately update the portfolio index.

From start to finish, about 15 to 20 minutes – on a good day, when nothing went wrong.

That may not sound like a full afternoon. But multiply it by every project we do in a year, and it adds up to a real chunk of time. More importantly, it’s the kind of task where friction wins. You do it when you have a clear desk and a focused hour. Which means it often doesn’t happen at all.

What website automation changed

We built a custom website editor that handles the whole project publishing workflow in one place. You pick the photos, the tool handles resizing and optimization, it generates a title and pulls in the project details we’ve already entered elsewhere, it sets the right template, and it publishes. The whole thing takes under a minute now.

One-place project publishing workflow producing optimized images and a review-ready page.
The automation handled the repetitive steps that used to require opening several tools.

The difference isn’t that the computer is working faster. It’s that we eliminated the switching – jumping between tools, re-entering information that already existed somewhere, hunting for the right image dimensions. The automation handles the steps that were only ever annoying busywork.

The time savings that compound most reliably for a small business are usually the boring ones. Shaving 15 minutes or more off a task you do every week. Removing the friction that caused you to skip updating your portfolio for two weeks straight. Nobody writes headlines about that, but it’s where the real time goes.

The YouTube and SEO workflow

We also built a YouTube management tool on the same principle: remove the friction from getting project content onto the channel.

The piece I find most useful is the AI thumbnail draft. When you publish a new video, the tool proposes a thumbnail based on the project photos and the title. It’s not always perfect – you still need a human eye on it before it goes live – but having a draft to react to is much faster than staring at a blank canvas and thinking about what to make. Most of the time the draft is 80% of the way there, and I’m adjusting rather than creating from scratch.

The SEO scoring layer checks the title and description against what tends to perform well in search – not in a black-box way, but by flagging specific things: title too long, description missing key terms for a Project Page, that kind of thing. Again, a guide, not an oracle. But useful enough that I actually use it instead of skipping the step because it feels like too much work.

My honest take is that you do not need to chase every AI update for this kind of work. Pick a friction point in your own operation and remove it. In our case, that meant getting good project photos out of my phone and onto the website before they got buried. Better tools help, but they help a lot more when you have already built the habit of using them.

What small-business automation still can’t do for you

Automation handles the steps that are well-defined and repeatable. It doesn’t replace judgment.

The AI thumbnail draft still needs a human look before it goes live. The SEO suggestions are starting points, not guarantees – what ranks well shifts, and a tool trained on last year’s patterns isn’t always right about this year’s. Publishing automation means nothing if the underlying content is weak or the photos are poor quality.

There’s also a real risk of automating too fast. We’ve had moments where the system published something with a formatting issue that looked fine in preview and wrong on the live page. Automation moves fast, and fast is useful only if you still have a review step before the thing is public.

The rule we follow: automate the tedious parts, keep a human eye on anything that touches the customer-facing result.

The math worth doing

If your shop does fifty Project Pages a year, and each one takes 15 to 20 minutes, that’s about 12 and a half to nearly 17 hours. Cut it to under a minute, and you’ve saved roughly 12 to 16 hours – which matters even more when you remember that those hours weren’t all in one block. They were fifteen minutes here, twenty minutes there, scattered across a year of days when you already had too much on your list.

Project-photo publishing time savings accumulating across a yearly calendar.
Small per-project savings matter because they remove the friction that kept portfolio updates from happening.

The real savings aren’t the time. They’re the jobs that actually make it onto your portfolio instead of sitting in a folder for two weeks.

If you’re managing your own contractor website and marketing, even basic tools – a photo-resize shortcut, a template that fills in the repetitive fields – can make a real difference in whether you actually do the thing or skip it. Start with the step that causes the most friction. That’s usually where the time is hiding.

Old project-page publishing checklist with upload, resize, caption, template, and preview steps.
The old workflow was not hard. It was just enough steps to keep good projects sitting unpublished.
Categories
Flow

Poolside Lighting: The Code

The Million Dollar Question: Lights Near Water?

We have all been taught our whole lives: water and electricity do not mix. So how on earth can a professional, totally up-to-code installation have lights sitting right there on the pool deck? It seems like it defies all the rules—but it does not.

There is a very specific modern exception in the electrical code, and at Aquatic Artists, we live by it. This is not about finding loopholes. It is about understanding a purpose-built, engineered pathway to creating beautiful, safe poolside lighting.

The Five-Foot Rule: Square One

Let us start with the fundamental rule of poolside electrical safety—something every single person involved in a pool project needs to know.

The National Electrical Code (NEC) says you need to keep most electrical gear at least five feet away from the water edge. The reason is simple: it creates a safety buffer designed to keep high-voltage equipment far away from wet people to prevent electric shock.

That is the default rule. But there is a really smart exception we are going to focus on.

NEC 680.22(B)(6): The Code Exception

This is where modern engineering and a smart electrical code come together. The NEC is not just a book of “no”—it is a roadmap for how to do things safely.

NEC 680.22(B)(6) is not a loophole. It is a purpose-built, engineered pathway. This exception says yes, you can do this—if you use a system with multiple layers of safety built right in.

Three Non-Negotiable Conditions

For this exception to apply, you must meet three conditions. No exceptions:

  1. The light fixture must be officially listed as not requiring grounding (UL 1838 listed)
  2. The whole system must be super low voltage—15 volts AC or less
  3. It must be powered by a listed UL 379 isolating transformer—this is the real heart of the safety system

The Magic of Isolation: Why It Works

Not all low-voltage transformers are created equal—not by a long shot. If you are working inside that five-foot zone, you need a special kind of transformer that does one thing incredibly well: it isolates the entire circuit.

A normal transformer might actually have a connection between the high-voltage side and the low-voltage side. But a UL 379 isolating transformer is built differently. The wires for the high-voltage and the low-voltage are physically and electrically separate. There is literally no direct path between them.

The Electrical Air Gap

Think of this as an electrical air gap. It totally severs the 120-volt power from your house from the low-voltage system lighting your pool. This means the low-voltage side is essentially floating—it has no connection to the earth ground.

What does that mean in the real world? Even if something goes wrong, the electricity has no path to travel through a person to the ground to cause a shock. It is an amazing built-in safety feature.

The Fixtures: Why Metal Is Actually Safe

This is where people get nervous—especially when they see lights with metal parts so close to the water. We are taught that any metal near a pool needs to be bonded to prevent stray voltage, right?

So when you see a metal light fixture sitting on the pool deck that is not bonded, it can look really wrong. But here is why it is actually perfectly safe.

UL 1838 Listed Fixtures

When a fixture has that special UL 1838 listing, it means it has been engineered and tested to be safe with a metal body without needing a safety ground. How is that possible?

  • Double insulated: At least two layers of protection between any live electrical parts and the metal you can touch
  • UL certified: Specifically listed as not requiring a ground wire
  • Current limited: The special transformer caps how much energy can flow if something goes wrong

And let us not forget the final layer of safety: the super low voltage. At 15 volts AC or less, the system is running at a level that the NEC considers to be below the serious shock hazard level for people in wet areas.

The Complete Safe System

You have got three things working for you: an isolated circuit, double-insulated lights, and extremely low voltage. It is a complete system designed for safety from the ground up.

The Final Checklist

This is what Aquatic Artists lives by:

  1. UL 1838 listed fixture that says “no grounding required”
  2. UL 379 isolating transformer
  3. Whole system runs at 15 volts AC or less
  4. Everything installed exactly like the manufacturer specifies

You nail these four points, and you have got a perfectly safe and legal installation.

Safety and Style, Hand in Hand

At Aquatic Artists, our work is all about that perfect blend of knowing the electrical code inside and out while having that creative, artistic eye. A deep understanding of the rules is what lets us safely build these incredible backyards that people dream about.

So the next time you see a pool lit up like a resort, you will know the secret. It is not magic—it is just smart engineering and following the code. Safety does not have to limit beautiful design. In fact, when you do it right, it is what makes it possible.

Categories
Flow

Salt Water vs Chlorine: The Truth About Pool Sanitization

Salt Water Pool = Chlorine-Free Pool? Think Again.

So you are thinking about getting a pool or maybe upgrading the one you have, and you keep hearing about salt water this and salt water that. It can get super confusing, right? There are so many myths floating around.

Today we are going to clear the water on this whole debate: salt water versus good old-fashioned chlorine.

The Biggest Misconception

Let me ask you a question straight up: when you hear “salt water pool,” what is the first thing you think? Your gut reaction is probably that it is a chlorine-free pool. Right? I mean, it is in the name.

Spoiler alert: it is not chlorine-free. Not even a little bit.

Honestly, “salt water pool” is probably one of the most misleading names out there. A salt water pool is a chlorine pool. The big difference—the big twist—is not about getting rid of chlorine. It is about making it in a smarter way.

How Salt Water Chlorine Generators Work

It all comes down to a really clever piece of tech called a salt water chlorine generator, or SCG for short. Think of this thing as the heart of the whole system.

It takes regular old salt (sodium chloride)—just a pure version of what is on your dinner table—and uses a tiny bit of electricity to create fresh, pure chlorine on demand right in your own pool.

The Process, Simplified

  1. You dissolve some special pool-grade salt right into the water
  2. As that slightly salty water gets pumped through the generator, it passes through something called a cell
  3. Inside that cell, a process called electrolysis zaps the salt, splitting it apart and creating brand new chlorine

It is literally like having your own little chlorine factory working 24/7 to keep your pool perfectly clean.

Busting the Saltiness Myth

If you are dumping all this salt in your pool, does that mean your backyard is going to feel like a trip to the beach? Are you going to get that stinging eye, super salty taste experience?

The answer is a huge NO. It is not even close.

The Numbers Tell the Story

  • Ocean water: About 35,000 parts per million (ppm) of salt
  • Salt water pool: Just 3,000 ppm
  • Your own tears: Actually three times saltier than a salt water pool!

Here is the kicker: most people cannot even taste salt in water until it hits about 3,500 ppm. Pool operators keep salt water systems running just below that level on purpose. So for most people, you will not taste any salt at all—you just feel this soft, fresh water on your skin.

Salt Does Not Sanitize

Here is the other myth we have to bust for good: the salt itself is not what cleans your pool. It has no sanitizing power.

Think of it like this: salt is the fuel, and the chlorine generator is the engine. The engine uses the fuel to create the power (in this case, chlorine), which is what actually does all the heavy lifting and keeps your pool sparkling clean.

Why People Love Salt Water Pools

So if it is not about being chlorine-free, and it is not like swimming in the ocean, why do so many people just rave about their salt water pools?

It really all comes down to the experience:

  • Softer water: The number one thing you will hear is that the water just feels softer, almost silky on your skin
  • Gentler on eyes and hair: Because the chlorine is being made constantly and consistently, you do not get out feeling all dry and itchy
  • No harsh pool smell: That smell is not actually chlorine—it is a byproduct called chloramines, which salt systems minimize
  • No chemical handling: Say goodbye to buying, hauling, or handling heavy buckets of chlorine tablets or jugs of liquid chlorine

Once you get used to that soft feel of a salt water pool, going back to a traditionally chlorinated one can feel… well, pretty harsh. That comfort factor is a massive deal for people.

Which System Is Right for You?

Look, it really boils down to your priorities.

Choose Salt Water If:

  • That softer, gentler swim experience is number one for you
  • You hate the idea of handling chlorine
  • You are okay with a bigger investment upfront for way more convenience down the road

Choose Traditional Chlorine If:

  • A lower initial cost is your top priority
  • You really do not mind the weekly routine of testing your water and adding chemicals yourself

Cost Comparison

Your upfront cost for salt water is definitely higher because you have got to buy that generator. But your ongoing costs are much lower—just a few bags of inexpensive salt per year.

With traditional chlorine, the setup is cheaper, but you are signing up for years of buying pricey chlorine tablets or liquid.

The one big maintenance item to remember for salt systems is that the generator cell will need to be replaced every few years—and that is a pretty significant expense to plan for.

The Bottom Line

Now you know the real story. The question you have got to ask yourself is: what is more important for your perfect backyard oasis? Is it saving money on day one, or is it investing in years of daily comfort and convenience?

Whether you choose salt or traditional chlorine, nothing takes a pool to the next level like an amazing water feature. If you are in New Jersey, Pennsylvania, Delaware, or Maryland, the team at Aquatic Artists are masters at designing incredible custom waterfalls and grottoes that look amazing with any pool system.

Categories
Flow

Pool Bonding

The Invisible Danger: Why Pool Bonding Matters

At Aquatic Artists, we truly believe that safety is not just some item on a checklist—it is the absolute foundation of everything we build. And that all starts with understanding why bonding is non-negotiable.

Your backyard has pumps, lights, and all sorts of electrical equipment running. Tiny, undetectable amounts of voltage can leak into the ground, the water, or even metal parts like a ladder. This is what the National Electrical Code (NEC) calls voltage gradients—and it is a very real hazard.

Without bonding, if you touch that ladder while standing on wet concrete, you could literally become the easiest path for that electricity to travel. That is exactly the danger we are here to prevent.

Bonding vs. Grounding: What is the Difference?

This is probably one of the biggest points of confusion, so let us clear it up:

  • Grounding is for when something goes catastrophically wrong. It gives a huge surge of electricity a path to the earth to trip a breaker.
  • Bonding is different—it is a preventative measure. It connects everything metallic together (the ladder, the light, the pump) so they are all on the same electrical team.

If there is no difference in voltage between them, there is no way you can get a shock. For pools, bonding is your number one line of defense.

The Equipotential Grid: Your Pool’s Safety Bubble

The equipotential bonding grid is basically a web of heavy-duty bare copper wire—we are talking #8 gauge, thick stuff. Its entire job is to physically link up all the metal parts in and around your pool, putting them all at the exact same electrical potential.

Think of it this way: its mission is to create an invisible safety bubble. Inside this bubble, every single conductive surface—the water, the handrail, the wet deck—is at the same voltage. You can touch all of them at once, and because there is no difference, there is no path for electricity to travel through you.

It is an incredibly simple concept that has life-saving results.

The NEC Bonding Checklist (Section 680.26)

The National Electrical Code gives us a clear checklist of what must be connected to the safety bubble:

1. Pool Structure

  • Concrete pools: All steel rebar inside the shell must be connected
  • Fiberglass pools: A copper grid must be installed around the pool
  • The deck surface must be bonded in a 3-foot perimeter all the way around the pool

2. Metal Parts You Can Touch

  • Anchors for ladders and handrails
  • Metal drain covers or fittings 4 inches or larger
  • Metal frames for diving boards or slides
  • Metal housing (niche) for underwater lights

Rule of thumb: If it is metal and it is part of the pool, it gets connected.

3. The 5-Foot Zone

The safety bubble extends beyond the water. Any fixed metal part within 5 feet horizontally of the inside edge of the pool must be tied into the bonding grid, including:

  • Metal fences
  • Aluminum window frames
  • Metal downspouts

4. Equipment and Water

  • Metal cases for pumps and heaters (exception for double-insulated equipment)
  • The pool water itself—bonded using a special metal fitting with at least 9 square inches of surface touching the water

Pool Lighting: The Rules

Pool lighting rules are extremely specific because you have electricity and water right next to each other—there is zero room for error.

120-Volt Lights

The metal housing must be bonded to the grid. Period. No exceptions.

Low-Voltage Lights (The Exception)

Certain approved low-voltage lights do not need to be bonded—but only if they meet ALL three conditions:

  1. The light must be officially listed as not needing a ground
  2. It must operate at very low voltage (around 15 volts)
  3. It must be powered by a special listed isolating pool transformer

Important: This is not a loophole—it is a completely separate engineered safety system. The safety comes from the system design: that special transformer isolates the power, and the voltage is so low it simply cannot become a shock hazard.

You cannot just grab a standard landscape light and hope for the best. At Aquatic Artists, this is a zero-tolerance issue for us. We only install systems that are specifically designed and listed for this critical application.

The 5 Golden Rules for Pool Safety

Proper bonding is not an add-on or an upgrade—it is the invisible framework of safety that has to be there from day one. Remember these five key points:

  1. Bonding equalizes voltage to prevent shock
  2. #8 copper wire is the backbone of your safety bubble
  3. Everything within the 5-foot zone gets connected
  4. Low-voltage lights are a strict exception, not a shortcut
  5. Never assume—always check the latest code and talk to a qualified professional

Is Your Pool’s Safety Bubble Complete?

Proper electrical bonding is the silent, unseen guardian of your pool. Now that you know the rules of the game, take a second to consider: is your pool’s safety bubble complete?

If you have questions about pool bonding or want to ensure your pool meets current electrical codes, contact Aquatic Artists today.

Categories
Flow

New Jersey Launches Water Safety Strategy

New Jersey Launches Water Safety Strategy

Here at Aquatic Artists, we’re passionate about creating beautiful water features, but even more so, we’re dedicated to ensuring everyone can enjoy the water safely. That’s why we’re thrilled to highlight a monumental step forward for water safety in our home state of New Jersey.

On June 17, 2025, New Jersey launched its first-ever state-specific Water Safety Strategy at the Salvation Army Kroc Center in Camden. This comprehensive plan makes New Jersey only the third state in the US to implement such a strategy, solidifying its position as a leader in water safety initiatives.

Six Pillars of Progress

The New Jersey Water Safety Strategy is built upon six essential pillars, each crucial to creating a safer aquatic environment for all residents and visitors:

  • Data Consolidation: Gathering and analyzing water-related incident data to identify trends and areas for improvement.
  • Public Awareness: Educating the public about water safety risks and preventative measures.
  • Drowning Prevention: Implementing programs and initiatives to reduce the incidence of drowning.
  • Lifeguard Training: Enhancing the training and certification of lifeguards to ensure they are equipped to respond effectively.
  • Sustainable Funding: Securing dedicated funding sources to support ongoing water safety efforts.
  • Collaboration: Fostering partnerships between government agencies, non-profit organizations, and community stakeholders.

These pillars represent a holistic approach to water safety, addressing everything from data collection to public education and emergency response. By strengthening each of these areas, New Jersey is paving the way for a future where everyone can enjoy the water with confidence and peace of mind.

Why Water Safety Matters

Water-related incidents can have devastating consequences. Drowning remains a leading cause of unintentional injury death, particularly among children. By prioritizing water safety, New Jersey is taking proactive steps to protect its citizens and prevent tragedies.

As a waterfall building company, Aquatic Artists understands the allure and power of water. We believe that everyone deserves the opportunity to experience the joy and relaxation that water features can bring. But that enjoyment must be balanced with a commitment to safety.

We applaud New Jersey for taking this vital step and are proud to support the state’s Water Safety Strategy. We encourage everyone to learn more about water safety and take the necessary precautions to protect themselves and their loved ones. Learn more and get involved at the NESPA and NJSSA websites.

Aquatic Artists’ Commitment

Aquatic Artists is committed to promoting safe water enjoyment through responsible design, construction, and education. We incorporate safety features into all of our water features and provide our clients with comprehensive guidance on water safety best practices. We are dedicated to working with our community to raise awareness about water safety and help prevent accidents.

Visit the NESPA website to learn more about the New Jersey Water Safety Strategy and how you can get involved!

In Summary

New Jersey’s launch of its first-ever state-specific Water Safety Strategy is a significant milestone in promoting safer water enjoyment. Built on six essential pillars—data consolidation, public awareness, drowning prevention, lifeguard training, sustainable funding, and collaboration—this strategy aims to reduce water-related incidents and fatalities. Aquatic Artists fully supports this initiative and encourages everyone to prioritize water safety.

Categories
Ponds Standalone

Havasu – Manalapan, NJ

Aquatic Artists designed and built this amazing multiple pond and waterfall project with many unique waterfalls in Manalapan, NJ. The project had two separate ponds that combined the natural beauty of a pond and enhanced it with a more formal representation. Water flowing down multiple levels added the ultimate tranquility to this backyard oasis.

Categories
Flow

May is Water Safety Month – Make Every Swim a Safe One!

May is National Water Safety Month! We want to take a moment to reaffirm what’s at the heart of everything we do: safety.

At Aquatic Artists we believe that every pool should be a place of fun, enjoyment, and most importantly – safety. That’s why we follow industry best practices, promote responsible pool ownership, and support year-round water safety awareness.

We’re proud members of the Northeast Spa & Pool Association (NESPA), which through the NESPA Foundation, actively supports organizations like:

2025-05-01 NESPA Water Safety Badge

These nonprofit partnerships work tirelessly to provide swim lessons for children, promote

lifesaving water safety education, and make a real difference in communities just like ours.

How You Can Help:

  • Talk to your family about water safety
  • Make sure your pool is secure and properly maintained
  • Support organizations bringing swim lessons to those in need

Wishing you a safe and enjoyable start to the season!

Categories
Flow

Genesis Waterfall Kits: The Origin of Natural Stone Waterfall Kits

Genesis Waterfall Kits. Natural stone waterfall kits displayed on a swimming pool

At Aquatic Artists, we have spent over 20 years perfecting the art of building breathtaking water features. Now, we’re thrilled to introduce a major innovation: Genesis Waterfall Kits — the first natural stone waterfall kits designed to be installed easily, affordably, and beautifully.

If you’re a homeowner dreaming of a backyard waterfall or a contractor looking for a profitable and hassle-free product, Genesis Waterfall Kits are the solution you’ve been waiting for.

Why We Created Genesis Waterfall Kits

As our reputation grew, we received more and more calls from homeowners and contractors who wanted the beauty of a natural waterfall — but at a lower price point. Traditionally, custom waterfalls start at around $10,000, making them out of reach for many.

We asked ourselves:
What if we could create high-quality Natural Stone Waterfall Kits that could be sold for $5,000 to $6,000 — installed by two people in just a few hours, with no specialized equipment?

After years of research, design, and testing, Genesis Waterfall Kits became a reality.

What Sets Genesis Waterfall Kits Apart?

Unlike traditional fiberglass or cast concrete kits that fade, leak, and look manufactured, Genesis Waterfall Kits are built from real natural stone and designed by master project managers. Each kit features:

Guth A - Mullica Hill, NJ - A swimming pool with a waterfall in the middle of it surrounded by grass and trees

  • Authentic natural stone for unmatched beauty and durability
  • Pre-assembled and tested for flawless water flow and zero leaks
  • Video and photo documentation so customers can select the exact kit they want
  • Palletized shipping available nationwide
  • Simple installation — no special skills, no heavy equipment required
  • Low maintenance — built to withstand the elements without fading or cracking

Every Genesis Waterfall Kit is assigned a unique kit number and individually staged, tested, and recorded, ensuring complete transparency and customer satisfaction.

Two Styles of Genesis Waterfall Kits

We designed Genesis Waterfall Kits to meet the needs of any outdoor space:

  • Genesis Natural Waterfall Kits: Crafted with real boulders for a natural, organic look that complements pools and natural landscapes.

    Genesis M -  - A water feature in a swimming pool surrounded by plants and rocks

  • Genesis Formal Waterfall Kits: Featuring lightweight marine-grade aluminum frames finished with luxurious stone veneers for a sleek, modern aesthetic.

    Dune A - Brigantine, NJ - A natural stone waterfall with an LED waterfall and fire bowls next to a pool.

Both styles can transform your backyard into a serene oasis and deliver the tranquil sound of a waterfall.

Genesis Waterfall Kits are engineered to be frictionless from the ordering process through installation. They are at an attractive price point that makes them accessible to many homeowners.

Standalone Natural Stone Waterfall Kits

Don’t have a pool? No problem. Genesis Standalone Waterfall Kits come complete with everything needed: a hidden basin, a submersible pump, plumbing, and easy-to-follow instructions. Simply bury the basin, connect the pump to a standard GFCI outlet, and enjoy your own natural stone waterfall in any backyard.

These standalone Natural Stone Waterfall Kits are perfect for patios, gardens, courtyards, or anywhere you want the peaceful sound of cascading water.

Why Choose Genesis Waterfall Kits?

  • 100% Real Stone: Authentic beauty that fiberglass and concrete can’t match
  • Nationwide Shipping: Delivered directly to your door
  • Proven Designs: Built and tested by Aquatic Artists’ master craftsmen
  • Simple and Fast Installation: No need for heavy machinery
  • Unmatched Durability: Built to last for decades

If you want more information Contact Us or visit www.genesiswaterfalls.com.