Pool service management platform

Know what every stop actually earns.

Brushler runs your routes, records the work in full — readings, dosages, checklist, photos, time on site — then shows you the margin on every single visit. Not a guess at the end of the month. The number, per stop.

iOS, Android and web · QuickBooks Online integration available · Your data exportable at any time

Today's route in Brushler with technicians, stops and live statuses.
A completed service record showing work time, checklist, chemical readings, dosages and pool photos.
Route profitability analysis with revenue, technician pay, chemical cost and margin.
Clipboard and memory
A record of every visit
Texting photos to customers
Branded service emails
A spreadsheet you dread
Margin per stop and route
Retyping into QuickBooks
Invoices built from the work
Every screen, no mockups

This is the actual app.

Try it right here

Swipe the stop, the way your techs do.

That’s a working dashboard beside this, not a picture of one. Grab the highlighted stop and pull it: left opens the full walkthrough of every screen in the app, right gets you booked in. Or just use these:

4:285G+24
DashboardJul 26, 2026
Add Refresh Push Pools
July 2026
Mon20Tue21Wed22 Thu23Fri24Sat25 Sun26
2/5Brock Skimmer
Al Kaline
COMPLETED
1201 E Palm Ln, Tempe, AZ 85281
Wade Poole
COMPLETED
740 S Ash Ave, Tempe, AZ 85281
3
Your route
READY
Left is web tour, right is to get started
4
Sandy Filter
est 5:38 pmUNSTARTED
1580 W Baseline Rd, Tempe, AZ 85281
5
Chip N. Tile
UNSTARTED
135 W Knox Rd, Chandler, AZ 85135
Customers Notes Dashboard Settings
Routing

Stop driving the long way round.

Every stop on the map, numbered in the order they'll be hit. Optimize from wherever the truck actually is right now — not from the depot at 6am, which is a route nobody drives. Hand a route to a covering tech and it still makes sense.

LiveReorder and re-optimize mid-route
Turn-by-turnStraight into Apple or Google Maps
RecurringWeekly patterns with skip dates
Route map with numbered stops and an optimize-from-this-stop action.
Who actually feels it

Two very different jobs, one system.

Software that only pleases the office gets quietly ignored in the field. Software that only pleases the field never tells you whether you made any money. This is built for both ends of the same company.

For the tech in the truck

The bar is simple: it has to be faster than the clipboard it replaced, or they'll go back to the clipboard.

  • Fewer taps than paper. Readings are tap targets, not a keyboard. A full stop closes in seconds, not minutes.
  • Works with no signal. Behind a house, under a canopy, in a dead zone — it keeps going and syncs later. Nothing is ever retyped at the end of the day.
  • No end-of-day paperwork. The stop was the paperwork. They finish the route and they're finished.
  • Protection when it's their word against a customer's. Timestamps, checklist, readings and photos, all captured as it happened.
  • A route they can cover cold. Gate codes, dog names, equipment notes and last month's readings, on the stop.

For the business

The bar is different: it has to tell you things you can act on, and it has to make the money side smaller.

  • Know which routes actually pay. Margin per stop after tech pay, chemicals and parts — not revenue with the costs somewhere else.
  • Bill everything you earned. Work orders and quotes flow into invoices, so the repairs nobody logged stop evaporating.
  • Get paid sooner. Invoices land in QuickBooks the day the work happened, and unpaid accounts surface on their own.
  • Price from evidence. Real minutes per pool and real chemical cost turn the annual price conversation into arithmetic.
  • Stop depending on one person's memory. When a tech leaves, the route knowledge stays.
  • An asset, not just a book. Documented service history is what a buyer pays a multiple for.
Route analysis showing revenue, technician pay, chemical cost and profit margin per route.
Reports and billing: billed, collected, receivables due and profit for the month.
Dig-in list: uninvoiced customers, uninvoiced work orders, supplies to deliver and service status.
Theoretical against completed net profit, with margin percentage and service count.
Profit broken out into revenue, technician pay, chemicals and shopping items.
A shopping item captured with quantity, cost and customer price at the stop.
Work order invoices ready to build in QuickBooks, with line items and totals.
Service status by customer showing amount due, amount paid and invoice counts.
Reports, billing and the full picture

Nothing slips through the cracks.

Every visit, part, work order and invoice lands in one system, so the month closes itself. Billed against collected against still owed. Work you have already done surfaced while you can still bill it. Supplies bought but not yet dropped off, tracked until they are.

Underneath it are the numbers that let you grow on purpose — revenue, technician pay, chemical cost and parts, per stop and per route, theoretical against what actually happened. You add a truck because a route earns it, not because the phone kept ringing.

Nothing uninvoicedVisits and work orders stay visible until they’re billed
Every dollar tracedRevenue, tech pay, chemicals and parts, per stop
Scales quietlyMore techs and routes without more admin
Built for back yards

No signal is not an outage.

Half the pools in this business sit behind a house, under a canopy, in a dead zone. Brushler keeps working — stops, readings, dosages, photos, notes — and syncs the moment there's a bar again. The tech never sees a spinner and never loses an entry.

You can also switch offline mode on deliberately before a route you know is bad, and queue the whole day.

QueuedWork saved locally, synced later
Photos tooUploaded when signal returns
VisibleSync status you can actually check
Sync screen showing connected status, synced data, photo uploads and offline mode controls.
Billing and records

The parts you can’t afford to get wrong.

Two things in this business don’t tolerate a casual vendor: the money, and the record of what was actually done. Neither one runs on trust here. They run on constraints — and most of them you can check yourself.

Your books stay in QuickBooks

An invoice you send is created in QuickBooks Online first — its QuickBooks ID is its identity — and QuickBooks’ own totals and balance are read back onto the record. Brushler never overrules your accounting system’s arithmetic. Payment status arrives on signature-verified notifications and is kept in its own field, so a sync can’t paper over a cash payment you took at the pool.

Nobody gets billed twice

A billing run skips any customer whose period already carries a live invoice, and every invoice goes to QuickBooks with a deterministic key — so a run that dies halfway retries onto the original instead of raising a second one. If one customer fails, the invoices already created stay created, and the re-run picks up where it stopped.

A finished visit can’t be quietly rewritten

Corrections are appended, never overwritten: who edited it, when, and the before and after of every field, kept in that visit’s history. Times, technician and customer can’t be edited at all. And nothing is deleted — a log filed in error is voided with a written reason and stays on file. That is what makes it evidence in a dispute instead of your word against theirs.

One visit per stop, enforced by the database

Double-tap Finish, or let a queued offline sync replay a completion, and you still get exactly one record — a unique index in Postgres refuses the duplicate rather than relying on the app to remember. Voiding a visit releases the slot, so a stop can be deliberately redone without stacking a second record on top.

Another company’s book is unreachable

Separation is enforced by PostgreSQL row-level security, not only by application code, and the app connects with a database role that cannot bypass those policies. Every request is pinned to one company before a single query runs. If a table ever lost its policy, the server refuses to start rather than serve a page that might leak.

Nothing here is a trap

Most companies start with one route and keep their current software running for a cycle. Your customers and your complete service history download as CSV from Settings whenever you want — no ticket, no queue, no one to ask. The terms say plainly that we never take ownership of your data.

Brushler, LLC is an Arizona company on the public record — AZCC file 25098774 — and the person who built this software runs a pool route with it. The terms and privacy policy are published in full, not summarised.

The rest of it

Everything else it does.

The flows above are the daily loop. This is the rest of the software — the parts you set up once and then stop thinking about.

Multiple bodies of water

Pool, spa, water feature — serviced, measured and dosed separately at the same address, on the same stop, with their own readings history and their own chemical cost.

Billing cycles that match how you actually bill

Monthly, per-stop, calendar month or four-week anchored. Upfront or end-of-month. Prorate the final bill or don't. Set it per customer when one insists on being different.

Service defaults

Readings, dosages, checklist items, rates and photo requirements defined once, inherited by every route.

Roles and permissions

Technician, manager, admin — with per-capability control over who edits routes, corrects logs, or sees money.

Supply lists and shopping

Parts requested from the stop, tracked to purchased and delivered, and costed into the job's margin.

Notes that stay put

Per customer, per stop, per work order — the gate code, the dog's name, which neighbour has the key.

Notifications you control

Work order created, updated, completed, cancelled. Service reminders. Billing runs. Each one individually switchable.

Import from your old software

Customers and service history from Excel or CSV, with validation and a dry run before anything commits.

Export whenever you like

Full CSV of customers and chronological service logs, on demand. Your data stays yours, and leaving is a download.

Skip dates and overrides

Holidays, vacations, one-off moves. Change a week without breaking the recurring pattern behind it.

Tech pay built in

Per-stop pay tracked alongside revenue, so labour is inside the margin rather than in a separate spreadsheet.

Side by side

What you get here that you don't get there.

Pool software mostly agrees on the basics — routes, stops, invoices. These are the places where Brushler is genuinely a different product, not a differently-priced one.

 BrushlerTypical alternative
Profit per stop and per routeAfter tech pay, chemicals and parts Built in, on every routeRevenue reporting; true cost usually lives in your accountant's file
Complete service recordTime, checklist, readings, dosages and photos as one artifact Every visit, alwaysAvailable, often split across screens or higher plans
Offline in the fieldIncluding photo capture and upload Full offline queue and syncVaries; frequently read-only or partial
QuickBooks OnlineInvoices, item mapping, deposits Integration availableIntegration available
SupportWhen something needs answering Direct line to the team that builds itTiered queue, plan-dependent
Data portabilityGetting your book back out Full CSV export on demand, no request neededExport on request, sometimes chargeable
Questions

The things you'd ask on a phone call.

Are these screenshots real?

Every screen on this page is the running product, captured from a live account — not a mockup or a render. The data in them is a demo company, so no real customer details are shown.

How do companies usually start?

With one route rather than the whole book, and often with their current software still running alongside for a cycle. Your data exports to CSV whenever you want it, so moving on is always a download and never a negotiation.

Can I move my customers over from Skimmer or Pool Brain?

Yes. Export customers and service history from your current software as Excel or CSV and import them with a validation pass and a dry run. You'll see exactly what's going to land before it lands.

Does it work with QuickBooks?

QuickBooks Online — invoices, item mapping, tax codes and deposit handling. You connect it once from settings. Desktop isn't supported.

What happens with no cell service?

The app keeps working. Stops, readings, dosages, notes and photos queue locally and sync when signal returns. You can also switch offline mode on deliberately before a route you know is bad.

What does it cost?

Pricing depends on how many pools you service, and we'd rather quote it against your actual book than publish a number that's wrong for you. Ask on the walkthrough and you'll get it in plain terms, in writing.

You’re a newer company. What happens to my business if Brushler goes away?

You should never be in a position where that question can hurt you, and the design reflects it. Your invoices, payments and balances live in your own QuickBooks account, which you keep either way — Brushler writes to it, it isn’t stored here instead of there. Your customers and your full service history download as CSV from Settings at any time, and taking that download once a month is sensible practice with any vendor, us included. Most companies also keep their existing software running through the first cycle, so the fallback is the thing they were already using.

Is my data safe from other companies using it?

Tenant isolation is enforced by the database with row-level security, not only by application code — so a bug in a screen can't leak another company's book. Photos are stored separately and served through authenticated links.

Book a walkthrough

See it on your own routes.

Tell us how you’re set up and we’ll show you the parts that matter for a book your size — not a generic demo. Most walkthroughs take about twenty minutes.

The tour is every screen in the app, in the order the work happens — no sign-up, no email gate.

Prefer email? contact@brushler.com · Brushler, LLC · Arizona