Skip to content

Three systems, one morning view.

Pool Ninjas runs recurring pool service across several US states. Field visits lived in one app, customer conversations in another, invoicing in a third, and every morning a service manager opened all three and assembled the picture by hand. That picture now assembles itself. This is how the business works, what we built, and what it changed.

Client
Pool Ninjas
Where
Several US states
Work
Recurring pool service

The business

A recurring pool-service company sells the same thing every month: a technician arrives, tests the water, corrects the chemistry, logs what was done, and leaves. Routes are planned weeks ahead, customers are billed on a cycle, and almost all of the profit sits in retention. Winning a new account costs real money. Losing a quiet one costs more, because nobody notices until the payment stops.

Three systems ran that business, and each was good at its own job. The field app held visits, chemical readings and work orders. The communications platform held calls, texts, emails and lead status. The accounting system held invoices, payments and balances. None of them was the problem.

The problem was that nothing joined them. The same customer existed three times under three different identifiers, and no single screen could show a pool, a conversation and an invoice side by side. So every morning a service manager opened all three, read across them, and assembled the day by hand.

That manual read was slow, but the real cost was what it missed. An account only looked at risk once something obvious broke: a complaint, a failed payment, a cancellation. By the time the three systems agreed that a customer was unhappy, the customer had already decided.

SystemWhat it heldWhat it could not answer
Field appVisits, chemical readings, work ordersWhether the customer is happy, or paying
CommunicationsCalls, texts, emails, lead statusWhether the pool is actually being kept well
AccountingInvoices, payments, balancesWhy a customer stopped paying
The three systems as they stood. Each was complete on its own terms; the questions that mattered fell between them.

What we built

One reporting layer on top of the three systems, reading from all of them and writing to none. Nobody changed how they work: technicians still log visits where they always have, the office still invoices where it always has. Four pieces, in the order they were needed.

01One customer, one record

The first job was identity. The same household appeared as a service address in the field app, a contact in the communications platform and a billing account in the books, with no shared key between them. We matched them on the fields that actually agreed, kept the matches reviewable, and left the unmatched ones visible rather than guessing.

What came out of it is a single customer page: the pool and its visit history, the full thread of calls and messages, and the invoices and balance, on one screen and in one scroll. The morning question stopped being three questions.

Read-only, on purpose. A reporting layer that also writes back becomes a fourth system to reconcile.

02The money, in view

With customers joined, revenue could finally be read the way the business is actually run: monthly revenue against the same month last year, retention traced over eighteen months rather than guessed at, and income split by service line so the recurring base is not flattered by one-off work.

None of these are new numbers. They were always in the accounting system. What changed is that they now sit next to the visits and the conversations that explain them, so a dip in a month has somewhere to be traced to.

03The pool’s condition, scored

Every visit already produced chemical readings. On their own each reading is a number on a form; in sequence they are a trend, and a trend is something to act on. We kept the readings per visit, drew the trend per pool, and reduced it to a composite health score.

The score exists for one reason: to put a pool on a list before the customer calls. A pool drifting for three weeks is a phone call waiting to happen, and it is far cheaper to send a technician than to win the account back.

04Signals, not a chatbot

The last piece reads the conversations. Every inbound message is scored for sentiment and urgency, and the ones that need a person today are surfaced as a priority list rather than left to whoever happens to open the inbox first.

Every prompt, every model choice and every scoring threshold is configurable per business and visible to the people relying on it. That was a condition of building it at all: a score nobody can inspect is a score nobody should act on.

Not a chatbot. Nothing here answers a customer. It decides what a person should look at first.

What it changed

The morning collapsed. Three applications became one view, and reading the state of the business went from more than half an hour of cross-referencing to roughly thirty seconds of looking. That time came back to the service managers every working day.

The more valuable change is in what now arrives unasked. At-risk accounts surface in minutes instead of surfacing weeks later as a cancellation, pools on a bad trend appear on a list while they are still fixable, and none of it depends on anyone maintaining a spreadsheet. The data is live, so the report is never stale and never wrong in the way a hand-built one quietly is.

3 → 1
applications consolidated into a single morning view
30 sec
to read the picture, down from 30+ minutes
minutes
to surface an at-risk account, not weeks
100%
live data, with no spreadsheet to maintain
Measured against the manual morning routine this replaced.

“I highly recommend Costanera. They’ve worked to integrate QuickBooks, GoHighLevel, and an industry-specific CRM all together into an interactive reporting environment for us built with Airtable. We use this to make sure operational, financial, and customer experience metrics are moving in the right direction for our home service company. They’re great with APIs and scraping, great at listening and contributing creative ideas to create more business value. They’re very responsive and are a pleasure to work with. I feel lucky to have found them.”

John Nelson, President, Pool Ninjas

The dashboards themselves, screen by screen, are on the dashboards case study.

Run a service business
on one view.

Thirty minutes, an honest read on whether this is worth building for the operation, and a written summary either way.

Request a call

No deck, no pitch. A working conversation.