A few years ago, my evenings looked the same almost every day. I’d get home after the last stop on the route, eat dinner, and then sit down with a laptop for another hour or two — going through emails, checking which pools had low chlorine, texting techs about call-backs, updating a spreadsheet that was already three versions behind reality.
None of that was “running a pool business.” It was the tax I paid for running one.
Today we service around 150 pools a week with a team of five techs out of McKinney, Texas, and my evenings look completely different. The chemical alerts go out the moment a tech submits a reading. The techs get pinged automatically if something needs a follow-up. The spreadsheet updates itself. I’m not claiming I built something fancy — I’m a pool guy who got tired of being a part-time data-entry clerk, and started fixing one annoying problem at a time.
The problem wasn’t the pools. It was everything around the pools.
If you run a route — solo or with a crew — you already know the actual pool work isn’t what eats your day. It’s:
• Reading every tech’s service notes to catch the one pool with a chemistry problem
• Remembering which clients are on salt vs. chlorine, so you don’t recommend the wrong fix
• Making sure a low-chlorine reading doesn’t slip through because nobody followed up
• Keeping customer records up to date without overwriting the notes you added by hand
• Repeating the same information to your team, every day, in two languages
None of that requires a person to think hard. It requires a person to not forget, over and over, every single day. That’s exactly the kind of work computers are good at and humans are bad at.
Where I started
I didn’t set out to “build a system.” I started by asking: what’s the one thing that, if I automated it, would save me the most stress?
For us, it was chemical alerts. A tech finishes a visit, the readings come in, and within seconds the office knows if pH, chlorine, alkalinity, cyanuric acid, or filter pressure is out of range — color-coded by urgency, with a clear note if backwash is needed. If the tech already added the right product during the visit, the system recognizes that and skips the redundant warning. If they didn’t, it flags it so nothing gets missed before the next visit.
That one change alone cut out a huge amount of the “let me scroll back through 40 emails” work I used to do every night.
What automating actually changed
A few concrete things shifted once the admin side stopped depending on memory:
Fewer repeat visits. Problems get caught and routed to the right tech the same day, not three days later when the customer calls annoyed.
Less duplicate work. Customer records update from the source data automatically, but the manual notes I care about — treatment type, special instructions — never get wiped out by a sync. That balance took some trial and error to get right.
A bilingual team that’s actually in sync. Two of my techs are more comfortable in English, the rest in Portuguese. Instead of me translating things informally (and inevitably forgetting someone), alerts and notifications now go out in each person’s preferred language automatically.
My evenings are mine again. That’s the part that’s hard to put a number on, but it’s the one that matters most.
What I’d tell someone starting this
You don’t need to automate everything on day one — that’s overwhelming and you’ll quit. Start with whatever currently makes you say “ugh” out loud the most. For most of us, that’s chemical issues falling through the cracks, or chasing down which customer info is current.
Also: don’t assume automation means replacing judgment. The system doesn’t decide whether a pool is fine — it just makes sure the right person sees the right information at the right time, instead of buried in an inbox. The decisions are still yours. You just stop having to remember to make them.
I’m still building on this — recently added handling for chemical inventory tracking and expanded the alert system to better support technicians who prefer different languages. It’s an ongoing project, not a finished product, and I expect it’ll keep evolving as the business does.
If you’re drowning in the same after-hours admin work I used to be, my honest advice is: pick one annoying, repetitive task this week and figure out how to make it happen without you. Then do it again next month. It adds up faster than you’d think.
Julio Almeida owns and operates 9Pool Service in McKinney, TX, servicing approximately 150 pools weekly.
