PoolLevels

Pool water chemistry

Your pool water, actually calculated.

PoolLevels takes your test readings and works out the saturation index the way a water chemist would, then tells you the one thing to add and exactly how much of it. No colour wheel. No guessing. No trip to the store to be told what you already measured at home.

In testing now. App Store soon.

The index, not a guess

Real carbonate chemistry

The saturation index from pH, total alkalinity, calcium hardness, cyanuric acid and water temperature, using the Plummer and Busenberg carbonate equilibria and Davies activity coefficients. Cyanuric acid is not quietly treated as zero: leaving it out moved a real sample by 0.18 and flipped its verdict from corrosive to balanced, so a missing reading suppresses the verdict instead.

One thing to add

A dose you can measure

Sized for your pool's actual gallons, rounded to a precision you can pour, with the arithmetic shown so you can check it. Always half first, circulate, retest, then the rest. It is easy to add more and very hard to take any out.

It stays on your phone

No account, no tracking

There is no sign in, no analytics, no advertising and no third party trackers. Your readings, your pool and your strip photos are stored on the device and nowhere else. The app makes no network requests of its own.

Worked example 20,000 gal · plaster · chlorine
pH7.8
Alkalinity110
Calcium388
Cyanuric46
Temp F84
+0.54 Scaling

Add 52 fl oz of muriatic acid.

That drops pH roughly 0.4 to 0.5 from 7.8, and alkalinity about 10 ppm with it.

26 fl oz per 10,000 gal per 10 ppm × (20,000 ÷ 10,000 = 2) × (10 ÷ 10 = 1) = 52 fl oz

Always add acid to water, never water to acid.

Dissolved solids are assumed at 1,000 ppm for a chlorine pool, not measured. A store printout that reports total dissolved solids can move this index by around 0.1, and the app says so on screen.

About reading the strip from a photo

The camera can capture a strip and the app records the pad colours, but turning those colours into numbers is still being measured against laboratory references and is switched off in the released app. Until it can be shown to read a strip reliably, you type the numbers and the chemistry does the rest. When that changes, this paragraph changes with it.