Demo: a pool water test log
A fixed sample. Every number below was computed by the same deterministic checker that runs on your own readings.
5 readings over 3 day(s) · 4/5 inside the CDC range
| Tested at | Water | pH | Free Cl | By |
|---|
| 2026-09-28 07:10 | pool | 7.4 | 2.2 | A. Ruiz |
| 2026-09-28 17:05 | pool | 7.6 | 1.8 | A. Ruiz |
| 2026-09-29 07:20 | pool | 8.1 | 0.6 | M. Okada |
| 2026-09-29 18:40 | pool | 7.5 | 2.1 | M. Okada |
| 2026-09-30 19:15 | pool | 7.4 | 1.9 | A. Ruiz |
Averages and gaps
| Computed | Value |
| pH average (min-max) | 7.6 (7.4-8.1) |
| Free chlorine average | 1.72 ppm (min 0.6) |
| Longest gap between tests | 24.58 h |
What the checker flagged
- chlorine_below_cdc_min (flag) — Reading 2: free chlorine 1.8 ppm is below the 2 ppm the CDC gives for pools when cyanuric acid is used.
- ph_out_of_cdc_range (flag) — Reading 3: pH 8.1 is outside the 7-7.8 range the CDC gives (above 8.0 chlorine kills germs less well).
- chlorine_below_cdc_min (flag) — Reading 3: free chlorine 0.6 ppm is below the 2 ppm the CDC gives for pools when cyanuric acid is used.
- chlorine_below_cdc_min (flag) — Reading 5: free chlorine 1.9 ppm is below the 2 ppm the CDC gives for pools when cyanuric acid is used.
- test_gap_over_12h (flag) — The gap between 2026-09-28T17:05 and 2026-09-29T07:20 is 14.25 hours. The CDC page asks for chlorine and pH to be tested at least twice per day, so a gap over 12 hours is a missed test.
- test_gap_over_12h (flag) — The gap between 2026-09-29T18:40 and 2026-09-30T19:15 is 24.58 hours. The CDC page asks for chlorine and pH to be tested at least twice per day, so a gap over 12 hours is a missed test.
Print it
Open the A4 log sheet → (prints on one sheet; includes an operator signature line).
Check your own readings
POST https://pool-log.rowb.app/api/check with a readings array - no account needed for a few checks a day.
Only the pH range, the minimum chlorine and bromine levels, the 10 ppm test-bleach warning and the twice-a-day testing interval come from the CDC pages quoted in SOURCE. Everything else here is either arithmetic (a date or a number is valid or it is not) or explicitly labelled this service’s own sanity check.