The only pool app that reads the test strip from the photo

Proof at every pool.
Read by AI.

Routes, photo proof, chemistry, money and the truck — one app runs the whole pool business. Your technicians see today's route, tap a house, take a photo. The AI confirms the service, catches anything suspicious and reads the strip for them. Your route, ready every morning.

English · Português · EspañolWorks without signalBuilt in Boca Raton, FL
Register service
Silva — 1240 NW 7th Ave
Photo
required · one per service
[test strip next to the bottle chart]
AI READ · 4 OF 5
Retake photo
What service?
Chemical test
Cleaning
Filter
Salt
Shock
Water chemistry POOL
LAST
TODAY
Free chlorine ppmAI
2.5
3.0
pHAI
7.6
7.2
Alkalinity ppmAI
70
60
CYA ppmCHECK
70
80?
Salt ppm
3200
AI = read from the photo. Tap any box to correct. Salt is not on the strip.
View history
Chemicals added
pH ↓ · muriatic acid
16 oz
Add chemical
Submit
Submit waits while a CHECK box is open — one tap fixes it.
Real test strip photographed at the pool
AI read · 4 of 5
Free chlorine · 3 ppm
pH · 7.2
Alkalinity · 60 ppm
Stabilizer · 80? · CHECK
photo hash · unique ✓
08:41 · server time
Real screen · real strip photo from the field
Only here

What the others
don't have.

Six things you will not find in Skimmer or Pool Service Software — and the reason a pool company built its own app.

01

The AI reads the test strip

Point the camera at the strip; chlorine, pH, alkalinity and CYA fill in with a confidence score. Nobody else does this inside a route app.

Others: values typed by hand.
02

Photo required, checked by AI

No photo, no visit. The AI confirms the service type and flags duplicates, end-of-day dumps and fake timestamps — time verified on the server.

Others: photos are optional and just stored.
03

The truck is on the books

Base → first stop → … → last → base. Miles, gallons and dollars per route, per day, per week, per month, per technician.

Others: miles at best, never the cost.
04

Chemical cost per pool

Every product logged at the pool, priced the day it was added. The pools that cost 2× the average are shown for a price review.

Others: a dosing log, no cost.
05

QuickBooks stays the truth

Balances, invoices and payments stay in QuickBooks. ZapRoute prepares the invoice lines. No second billing system to reconcile.

Others: their own billing, their own fees.
06

Trilingual, zero training

English, Portuguese and Spanish on every screen. The technician opens the app and the day is already there.

Others: English, plus a training call.
Not a route app

The whole business,
on one screen.

Money, chemistry, fuel, photos and the office desk — the same login the technician uses, with the numbers only the owner sees.

Click any screen to see it full size.

app.zaprouteapp.com/dashboard
Owner dashboard: month revenue, outstanding, past due, active pools, photos today, today's routes, miles and fuel

Owner dashboard

Month revenue, average ticket, active pools, photos today, routes in progress, miles and fuel for the week, filters due, salt. Owner only.

app.zaprouteapp.com/balances
Balances: outstanding, past due and paid-up with aging buckets

Balances

Outstanding, past due and paid-up in one table with aging buckets — or, in QuickBooks mode, the same table read straight from QuickBooks.

app.zaprouteapp.com/chemical-costs
Chemical costs: this month, per pool, biggest line, by product

Chemical costs

By product, by technician, by pool — week, month or year. Every product priced the day it was added, so you see what each pool really costs.

app.zaprouteapp.com/ready-to-invoice
ZapRoute
Dashboard
Operation
Live routes
Office desk
5
Week
2
Clients
Clients
Announcements
Client emails
Billing
Balances
4
Ready to invoice
Reports
Reports
Miles & fuel
Chemical costs
Chemistry report
Company
Users
Water chemistry
Billing settings
AM
Amanda
Office
Ready to invoice
QuickBooks · synced 12 min ago
October 2026
October service + what ZapRoute did in September · suggested invoice date Sep 28 · terms from QuickBooks (Net 30)
Print list
Ready to invoice
$14,730
78 payers · 79 invoices
Monthly service
$13,980
from each pool's monthly value
Extras from visits & repairs
$750
9 salt · 2 filters · 1 repair on the monthly · 1 separate
Skipped
3
1 prepaid · 1 already invoiced · 1 not matched
Payer · lines in the order they go on the invoice
Where it goes
Qty
Amount
MI
Miller
2 pools · one invoice with a line per pool
1 invoice · $394.50Open customer in QuickBooks
Pool Service
Pools Cleaning Service · 456 Ocean Dr
1
$180
Pool Service
Pools Cleaning Service · 460 Ocean Dr
1
$150
Salt
1 bag - September 13
from the visit (Enrico) Photo
Ignore
1
$17
Pool Filter
Approved - September 2
filter cleaning · from the visit (Enrico) Photo
Ignore
1
$60
Repair
Pump capacitor - Approved Sep 2 - Done Sep 9
repair order · value of the order Photo
Monthly invoice
Separate invoice
1
$25
Discount
One week discount - suspended Sep 15–21
from the suspension already on file
1
−$37.50
RO
Rodriguez
2001 Camino Real
2 invoices · $2,371Open customer in QuickBooks
Pool Service
Pools Cleaning Service
1
$220
Repair
Pump replacement - Approved Sep 3 - Done Sep 9
separate invoice dated Sep 9 · value of the order Photo
Monthly invoice
Separate invoice
1
$2,151
SH
Silverspring HOA
Company · 6 pools · one invoice, one line per pool
1 invoice · $1,114Open customer in QuickBooks
Pool Service
Pools Cleaning Service · 6 pools ($180 each)
6
$1,080
Salt
2 bags - September 19 · Clubhouse pool
from the visit (Enrico) Photo
Ignore
2
$34
KA
Kaplan
77 Bayview Ln · $200/mo
PREPAIDPrepaid until Dec 2026 — skipped until January
NG
Nguyen
1188 Sandpiper Cove · $160/mo
ALREADY INVOICEDInvoice #1071 · Sep 26 · $160Open in QuickBooks
PC
Palm Cove Condos
Company · 3 pools · $560/mo
NOT MATCHEDMatch customer
Showing 6 of 78 · type these into QuickBooks as you do today. Extras use the item names QuickBooks already has (Salt, Pool Filter…).
Send to QuickBooks
Coming in the next step — with a preview and your confirmation, never automatic.

Ready to invoice

Every payer laid out like the invoice: the monthly line, salt and filters with date and photo, repairs on the monthly bill or on their own. Prepaid and already-invoiced greyed out.

app.zaprouteapp.com/live-routes
ZapRoute
Dashboard
Live routes
Office desk9
Week
Clients
Announcements
Client emails
Balances
Ready to invoice
Reports
Miles & fuel
Chemical costs
Chemistry report
Users
Billing settings
AM
Amanda
Office
Live routes
Tuesday, Sep 1 · updated 11:02 · refreshes as photos arrive
Reassign homesRefresh
6
routes today
49 / 83
homes done
3
photos pending
412 mi
driven so far · $85.90
2
suspicious photos
Enrico12 of 18
last activity 10:481 photo pending
Chris9 of 14
last activity 10:52
Marco6 of 12
last activity 10:31
Amanda P.11 of 11
last activity 10:20route done
Julio4 of 15
last activity 10:44late start 08:40
Dave7 of 13
last activity 10:451 problem reported
Enrico · 12 of 1838.2 mi · about 1h50 · ~$7.40
Johnson
10:21 · Cleaning · Chemical test · FC 3.0 · pH 7.6
AI 0.93
Miller
10:48 · Cleaning · Salt 2 bags
AI 0.98
12
Palm Cove Condos · pool 1
Cleaning
photo pending · 14 min
13
Rodriguez
last test Aug 27 · FC 3.0 · pH 7.5
14
Thompson
filter change due in 18 days
15
Garcia
16
Silverspring HOA — Clubhouse
gate code 2288
17
Kaplan

Live routes

Six technicians at once: who is where, what was done, which photo is still on the phone waiting for signal — and the selected route with the last chemistry reading beside each house.

app.zaprouteapp.com/chemistry-report
ZapRoute
Dashboard
OPERATION
Live routes
Office desk 4
Week
CLIENTS
Clients
Announcements
Client emails
REPORTS
Reports
Miles & fuel
Chemical costs
Chemistry report NEW
COMPANY
Users
Settings
Water chemistry
Chemistry report
CLIENT
Silva — 1240 NW 7th Ave
FROM
Aug 20, 2026
TO
Sep 3, 2026
Show
Aug 20 – Sep 3 · Enrico
5 visits
3 chemical tests
1 out of range
1 to check
2 read by AI
Print / PDF
Wednesday, Sep 3
Enrico · 2 photos
pH HIGH
09:42 · Chemical test
09:58 · Cleaning
WATER CHEMISTRY · 09:42 AI 0.91
Free chlorine3.0 ppm
pH8.0HIGH
Alkalinity90 ppm
CYA50 ppm
Salt by hand3,200 ppm
CHEMICALS ADDED
pH ↓ · muriatic acid16 oz
Green dot = inside the range in force that day. HIGH / LOW in amber. AI = read from the strip photo, with the confidence.
Monday, Aug 31
Enrico · 1 photo
No chemical test
10:12 · Cleaning
No readings this day.
CHEMICALS ADDED
Chlorine ↑ · tablets3
Thursday, Aug 27
Enrico · 2 photos
1 to check
09:35 · Chemical test
09:51 · Cleaning
WATER CHEMISTRY · 09:35 CHECK 0.62
Free chlorine2.5 ppm
pH7.6
Alkalinity90 ppm
CYA40?CHECK
Salt by hand3,200 ppm
CHEMICALS ADDED
Chlorine ↑ · liquid½ gal
Fix reading
One client, one period, every day separated: the photos of the day with their TIME on the left, the test of the day with the results on the right. Days with no test say so. "Fix reading" opens the same Edit the office already has. Owner, supervisor and office see this screen; the technician does not.

Chemistry report

One client, one period, every visit: the photos, the readings with the AI confidence, what was out of range and what was added. Print or PDF for the customer.

The technician's day

From the first stop
to the closeout.

Zero training. The technician opens the app and the day is already there — in the language they chose.

Click any screen to see it full size.

Today's route: progress, miles, minutes and fuel, then each house with what is due

Today's route

Miles, minutes and fuel before the first stop. Each house shows what is due — salt, filter, chem test — and turns green when the photo is in.

Register service screen: one photo per service

Register service

One photo per service — cleaning, salt, filter, test. Add another, submit, next house.

Week
SUN
MON
TUE
today
WED
THU
FRI
SAT
Tuesday · 58 homes · 6 technicians
Search by client or address
ENEnrico18
Johnson Residence
400 N Federal Hwy, Boca Raton, FL
• salt · 2 bags
Silva Family
1801 N Ocean Blvd, Boca Raton, FL
Thompson
22 Sanctuary Ln, Boca Raton, FL
🔧 filter due in 18 days
Silverspring HOA — Clubhouse
1188 Sandpiper Cove, Boca Raton, FL
💬 note: gate code changed
+ 14 more homes
CHChris14
MAMarco12
JUJulio15

The week

58 homes, 6 technicians, by day. Search any client, leave a note on any home.

Client card with pools, last visits and monthly value

Client card

Pools, last visits with the AI reading, filter and salt. Values only the owner sees.

Live routes
6
routes today
49 / 83
homes done
3
photos pending
Tuesday, Sep 1 · updated 11:02
Enrico12 of 18
🕑 last activity 10:481 photo pending
Chris9 of 14
🕑 last activity 10:52
Marco6 of 12
🕑 last activity 10:31
Amanda P.11 of 11
🕑 last activity 10:20route done
Julio4 of 15
🕑 last activity 10:44late start 08:40
Dave7 of 13
🕑 last activity 10:451 problem reported

Live routes

Six routes at once: progress, last activity, photos pending, late starts.

Office desk: suspicious photos, filters due, declined visits, pending notes, chemistry alerts

Office desk

What needs attention today: suspicious photos, filters due, chemistry alerts, declined visits, notes from the field.

Routes & the truck

Every mile,
every gallon,
every dollar.

Set your base and your truck once (mpg and fuel price). The route is measured base → first stop → … → last stop → base, and the cost shows up on the route, the day, the week, the month and the technician.

  • Learned order: the sequence the technician really drives is saved.
  • One-button optimization with the miles saved — apply, undo, or fine-tune by hand.
  • Fuel cost per route, per day, per week, per month, per technician.
Route map with numbered pins and the real driving path
Optimize route: today's order, one button, revert
Miles and fuel per technician, per week and per month
The AI

The camera is
the timesheet.

No photo, no visit. Every stop needs a picture before it counts — and the AI looks at every one of them.

Confirms the service

Cleaning, chemical test, filter, salt, shock, repair — the AI tells the photo type and the visit gets its stamp.

Catches the tricks

Repeated photos, batch uploads at the end of the day, fake timestamps. Time is verified on the server, not on the phone.

Reads the strip, never decides alone

Every value the AI fills is shown to the technician before Submit. Anything uncertain is marked CHECK; one tap confirms it. The photo stays as the proof.

Register service
Silva Family
1801 N Ocean Blvd, Boca Raton, FL 33432
Photorequired · one per service
08:41 · at the pool
Retake photo
Reading the strip…
Takes a few seconds. You can keep going — the values fill in by themselves.
What service?
Chemical testCleaningFilterSaltShock
Free chlorine ppm
pH
Alkalinity ppm
CYA ppm
Submit
Suspicious photos
Tuesday, Sep 1 · 2 flagged by the AI · nothing reaches the customer until you decide
Kaplan · 2240 Palm Isle Way
Julio · 09:14 · Pool cleaned
Aug 25 · 09:12
Sep 1 · 09:14
same photo as Aug 25 · hash matchAI cleaning 0.97
Ask technicianMark as valid
Nguyen · 310 SE 7th St
Dave · 16:52 · 4 photos
4 photos uploaded in 40 sphone time 09:20 · server 16:52GPS 3.1 mi from the pool
Pool cleaned · Salt 1 bag · Filter wash · Chemical test — all stamped at the end of the day.
Ask technicianVoid visit
This week
412 photos checked98.5% clean
Flagged6
Confirmed valid by the office4
Pricing
$59/ month

up to 40 pools serviced

$99 up to 99 pools.
Then $1 per pool.

  • You pay for the pools you serviced last month or keep active today — whichever is higher.
  • Every feature on every step. Unlimited technicians and users.
  • 30 days free. No card. Cancel anytime.
EN

Your route, ready every morning.

Every screen, every message, every email — in the language each user picks.

PT

Sua rota, pronta toda manhã.

Cada tela, cada mensagem, cada e-mail — no idioma que cada usuário escolhe.

ES

Tu ruta, lista cada mañana.

Cada pantalla, cada mensaje, cada correo — en el idioma que cada usuario elige.

Tomorrow's route can
already be in the app.

Sign up, add your pools (or import a CSV), and the technicians get their route in the morning.

Start free · 30 days, no card