9 FT The deep end

One screen for the whole facility

Nine areas, one account, one set of permissions. Every screenshot below is the real product running on the demo tenant — two sites, three pools, six staff, a month of worked-in records. Everything here works today, and everything here is on every plan; see pricing.

Replaces the clipboard on the pump-room wall

Chemical logs

A reading is a measured value, at one pool, at a recorded time, by a named employee. Set how many readings each pool owes per day and the dashboard carries a compliance percentage you can hand over without preparing anything first.

The Aqua Mage reading tasks grid for one site's week, showing how many chemical readings were logged against the number expected for each pool and chemical, with a missed slot flagged in red
Grain
One pool, not one site. New York asks for records of each swimming pool separately, so a main pool and a wading pool keep separate logs.
Targets
Expected readings per chemical type, per pool, per day. That is what makes the compliance figure mean something rather than count rows.
Inventory
On-hand amounts with minimum stock levels and reorder dates, adjusted as shipments arrive and each change kept in history.
Alerting
A nightly check notifies once when a chemical falls below its minimum, then re-arms when stock recovers, so it cannot nag.
Retention
Twelve months stays queryable per pool and filterable by date window — not archived off where a records request cannot reach it.
What New York actually requires

Replaces the laminated checklist taped beside the pump

Maintenance and assets

Tasks carry a cadence, and what is due is worked out from what was actually logged rather than typed in by somebody. Overdue work appears on its own, overnight, waiting to be completed.

Aqua Mage maintenance schedule as a card per daily task, each showing its cadence, when it was last performed and when it is next due, with one task flagged overdue
Schedule
A shared catalogue of maintenance tasks with your own cadence on top. You can switch off a task you do not do; you cannot delete one out from under everyone.
Due dates
Last-performed and next-due are derived from logged activity, never entered by hand, so the schedule cannot quietly go stale.
Generation
A nightly job opens a pending activity for anything due or overdue that does not already have one open.
Assets
Lockers with their own type catalogue, and warranties recorded per pool.

Replaces the binder of emergency contacts nobody has opened since May

Staff management

The people, the jobs they are qualified to do, the pools they work, and when they are free. Positions are the piece that makes the scheduler's certification check possible at all.

An Aqua Mage employee's schedule tab, listing the shifts assigned to them with pool and position, their time off requests, and the weekly availability windows they can be offered shifts in
Positions
Each declares the certification types it requires, so eligibility is data the system can check rather than something a supervisor has to remember.
Scoping
Staff see the pools they are assigned to. Assigning someone to a pool implies the site, so half-filled assignment data never hides a guard by accident.
Availability
Per-weekday windows for when someone can work, kept separately from when they are willing to be phoned.
Notifications
An email and SMS toggle per person, per kind of message. Somebody who wants texts for swaps and email for everything else can have that.

Replaces the certificate template in Word, mail-merged once a season

Courses and certificates

Run learn-to-swim and in-house training end to end — roster, pass or fail, and a certificate you laid out yourself, generated as a PDF and emailed when the course finishes.

The Aqua Mage certificate designer mid-edit, with a name field selected and drag handles showing over a certificate background carrying a facility logo
Designer
Position the fields, the background and your logo once per course type. Everything issued from that course uses it.
Delivery
PDFs are generated server-side and emailed as attachments, for every passing student at once or one at a time.
Verification
Every certificate carries a code anyone can check at a public link without an account — a parent, an employer, an inspector. Each check is recorded.
Approval
Courses can require sign-off before they run, and an instructor may only create courses for certifications they hold themselves.

Replaces the dry-erase board rewritten every Sunday night

Shift scheduling

Build the week from recurring templates, then let the scheduler assign it. Open shifts go out as text messages your staff reply to, and approved time off removes people from consideration rather than just marking them unavailable.

The Aqua Mage upcoming shifts list across two sites, each row carrying the date, site, pool, position, assigned employee, time and status, with next week ready to generate and publish
Assignment
Stable matching — every guard gets the best shift still available to them, and no pair of guards would rather trade with each other.
Eligibility
A certification must be valid on the shift's own date, not today. Which certifications a shift requires comes from its position.
Limits
Weekly availability windows, approved time off, and a 40-hour cap. A guard can drop a held shift for a better one only if the hours still fit.
Order
Fairness first — whoever has the fewest hours so far gets first choice — then seniority by hire date.
Swaps
The system texts the covering coworker, who replies YES or NO from the lock screen. Unanswered requests expire on their own.
Cadence
Optional nightly generation, opted into per site: daily, weekly or bi-weekly, one to four weeks ahead, with auto-fill immediately after.

Replaces the shoebox of certification cards

Certification tracking

Every certification carries a type, an issuing company and an expiry date. Reminders go out well before it lapses, and the scheduler stops offering shifts the person is no longer qualified for.

Aqua Mage certification list showing each employee's certification type, issuing company, issue date and expiry date, with one lifeguard certification highlighted as expiring
Reminders
Ninety, sixty, thirty and seven days before expiry, and once more after it lapses.
Delivery
Each threshold sends once per certification, so a missed nightly run catches up without sending the same warning twice.
Enforcement
An expired certification removes that person from the shifts whose position requires it — the warning is not the only consequence.
Reach
Reminders go to the certification holder. Managers see expiries on the certification list and in the expiration report.

Replaces the incident forms in the office drawer

Incident reporting

A scraped knee and a rescue are not the same paperwork, so they are not the same record. Both are filed at the pool where they happened, and both carry who is responsible for what happens next.

Aqua Mage incident list of eight pool incidents, each with its category, severity, status, the employee who reported it and whether a follow-up is owed
Incidents
Safety, maintenance, equipment, chemical or other, with severity, status, reporter, assignee, witnesses, actions taken and a follow-up date.
Rescues
A separate record: the guard, the pool and the area within it, the save performed, whether EMS was called, and whether a manager still owes a follow-up.
Separation
Distinct permission sets. Logging a cracked tile does not grant anyone access to rescue reports.
How the code treats incident records

Replaces the spreadsheet somebody rebuilds before every board meeting

Reports

Five reports drawn from the records above, each over a date range you choose and each scoped to the pools you are responsible for.

An Aqua Mage staffing coverage report over a three-week range, showing total, filled, open and cancelled shifts with a fill rate for each of two sites
Staffing
Coverage by location — open, filled and cancelled shifts over a range.
Compliance
Certifications expiring within a chosen number of days.
Safety
Incident summary by severity, category and pool.
Operations
Chemical usage — additions and subtractions with running inventory.
Training
Course enrollment and completion counts.
Building the case for a purchase

Replaces the one person who remembers everything

Roles and audit

Keep that person — just stop them being the only copy. Five roles to start from, editable into whatever shape your facility actually works in, and a record of every change with a name against it.

The Aqua Mage role editor with the Manager role expanded, its permissions grouped into scope, pools, chemicals, maintenance, incidents, saves, scheduling, courses and in-service
Permissions
Around forty keys, grouped and labelled, distinguishing what someone may do to their own records from what they may do to everyone's.
Roles
Five seeded roles — admin, manager, lifeguard, instructor, other — as starting bundles you can re-cut. Built-in roles cannot be deleted.
Audit
Every change, who made it and when, searchable and newest-first. The same trail feeds the activity feed on the dashboard.
Messages
Rewrite what reminders, invites and alerts actually say. Placeholders are checked when you save, so a template can never reference a value the system does not have.
12 FT After hours

What runs while nobody is logged in

Six jobs, every night, for each account. Most of what is above keeps working on the week your head guard is short-staffed and nobody opens a laptop.

  • Shift generation Next week's shifts, built from your templates
  • Maintenance A pending entry for every task now due
  • Certifications Expiry reminders at ninety, sixty, thirty and seven days
  • Stock alerts A notice when a chemical drops below its minimum
  • Swap expiry Coverage requests nobody answered are closed out
  • Code expiry Certificate verification codes past their life are retired

Everything above works today, and the week's schedule now goes out by email as well. What comes next — text alerts for schedule changes as well as swaps, and the deck on your phone — is laid out on the roadmap.

Feature bounties

Need something that isn't here?

You can sponsor it. A funded feature moves up the queue and still ships to everyone on every plan when it lands — no feature tiers, no private forks. That goes for things on the roadmap and things that aren't on it at all. Tell us what you're after and we'll scope it honestly, including when the answer is that it's a bad idea.

Talk to us about a bounty

Get your facility in order

Thirty days, the full platform, no credit card. Setup takes about three minutes — start with your email and we'll take it from there.

No card required · Cancel any time