ia.

UpBuoy.

Pool-service operations software, built as our own product: the office dispatches optimized routes, techs work from native apps, and every stop closes with photo proof and an invoice.

A pool route runs on trust.

A pool-service company juggles recurring visits across dozens of properties, techs who need a sane driving order, chemical readings that have to be right, and customers who want proof the visit happened. That work usually lives in a paper binder, a whiteboard, and a group text, and it leaks jobs, chemicals, and invoices.

One system, office to truck.

UpBuoy is a multi-tenant platform where every part of the operation reads from the same record:

Routes that route themselves

A route optimizer with three algorithms (nearest neighbor, genetic, and 2-opt over a real distance matrix) turns a customer list into an efficient day, and a nightly job generates the recurring stops.

Native field apps

A SwiftUI iOS app and an Android app, in English and Spanish, give techs their route, per-stop checklists, readings, photos, and payments without touching the office.

Photo-verified service

Every visit closes with photos. Uploads compress themselves (1920px, tuned JPEG), and a nightly sweep keeps two storage buckets lean; the photo backlog shrank by more than half.

Billing and payments

Quotes, invoices, and payments on Stripe, including Connect for multi-party payouts, with public no-login views so a customer can open an invoice straight from a text.

Customer comms

Email through Resend and SMS through Twilio, logged against the customer record with tags and history, so the office sees every conversation in one place.

Water chemistry

A Langelier Saturation Index calculator, dosing math across a 14-chemical catalog, and a guided walkthrough with simulated test instruments for training.

How we built it.

The platform runs on a hardened Postgres backend, roughly 38 tables with tenant isolation enforced on every one of them, signed authentication throughout, and a public API behind per-key credentials. The field apps are fully native, sharing one backend with the office. AI earns its place in two spots: a receipt scanner for expenses and an import assistant that maps any spreadsheet's columns onto the schema, so switching from a competitor does not mean a week of retyping.

Results.

One operation, three platforms: the office on the web, techs on iOS and Android. Routes come out of an optimizer instead of a whiteboard, every stop ends with photo proof and a chemistry log, and billing runs on the same record the tech closed, so the invoice never disagrees with the visit.

Visit the live site →
  • Ongoing
  • Office: Kailua-Kona, HI
  • Stack: Next.js · Postgres · SwiftUI · Stripe · Vercel