In development · coming to iPhone and iPad

Your tank, in numbers
that tell you what to do.

Log a water test and One Fish Two Fish tells you whether it matters — grading ammonia on the fraction that is actually toxic at your pH and temperature, not the number printed on the test card.

  • Freshwater
  • No account, ever
  • Works with no signal
  • Unlimited tanks

What it does

Six things, done properly.

No feed, no social tab, no premium tier dangling half the app behind a paywall. It keeps the record of your tank and it tells you when something needs doing.

Water tests you enter by colour

pH, ammonia, nitrite, nitrate and temperature — set with a slider that runs through the same reagent colours as your liquid test kit, so you match what is in the vial instead of translating it into a number first.

Volume that measures the water

Six tank shapes — rectangle, cube, bowfront, cylinder, hexagon, corner. It subtracts the glass and the space below the waterline, because dosing and water changes depend on the litres in the tank, not the litres on the box.

A diary of everything you touch

Water changes, top-ups, feeding, dosing, filter media, maintenance, new livestock, plants, health scares, notes. Twelve entry types with the right units attached, and filters so you can see just the water history or just the livestock.

Reminders paced from your history

If your log says you change water every eleven days, the reminder comes at eleven days. A fixed weekly nag gets ignored within a month; one that matches how you actually keep the tank does not.

Direction, not just today

A tank sitting at pH 7.9 for a year is fine. One that drops 0.4 in a day is an emergency. It reads the history for the moves that matter — pH swings, temperature jumps, nitrate creep, ammonia appearing in a tank that was clean last week.

Your tap water sets the floor

Test what comes out of the tap once and it becomes the baseline. If your supply already runs 25 ppm nitrate, no amount of water changing gets you to 20 — so the app says that, instead of flagging the same failure forever.

The bit most apps get wrong

0.25 ppm of ammonia is either nothing or an emergency.

A liquid test kit reads total ammonia — the harmless ionised NH₄⁺ plus the toxic un-ionised NH₃. Only the second one burns gills, and the split between them swings enormously with pH and temperature.

One Fish Two Fish already has your pH and your temperature from the same test, so it works out the free fraction and grades on that. Same reading, two tanks, two entirely different answers.

  • Dissociation constant after Emerson et al. (1975), freshwater.
  • Long-term harm starts around 0.02 ppm free NH₃; below 0.002 is effectively nil.
  • The advice comes with a litre figure for your tank, not a generic “do a water change”.

Your test kit reads

0.25 ppm total ammonia

pH 6.5 · 24 °C

0.0004 ppm free

watch

pH 8.2 · 28 °C

0.0250 ppm free

act today

Sixty times the toxic ammonia, from the identical number on the chart. An app that grades the raw reading cannot tell these two tanks apart.

Community tropical Planted Soft water / Amazon Discus Rift Lake cichlid Livebearer Shrimp — Neocaridina Shrimp — Caridina Betta Goldfish / coldwater Axolotl Quarantine / hospital

Set up in about a minute

Pick what lives in it. The targets follow.

Twelve freshwater profiles, each carrying sensible starting thresholds — a discus tank wants 29 °C and nitrate under 10; a Rift Lake tank wants pH 7.8 to 8.6 and tolerates 30. Choosing one seeds the numbers so you are not staring at empty fields on day one.

Every value stays editable afterwards. The profile is a starting point, not a rule — your tank is the authority, and once you have logged a few tests the app grades against your settings, not the preset.

Privacy

There is no server to leak.

This is not a marketing position that survives until the first funding round. The app has no networking code in it. Nothing leaves the phone because there is nowhere for it to go.

No account

No sign-up, no email, no password, no “continue with” anything. Open it and it works.

No analytics

No SDK counting your taps, no crash reporter shipping your data off, no advertising identifier.

No internet needed

Every reading, diary entry and setting is stored in the app's own storage on your device.

Delete means delete

Removing the app removes the data with it. There is no copy anywhere else to ask us about.

The flip side is worth saying plainly: because there is no cloud, there is no cloud backup. Your tank history rides along in your iPhone or iCloud device backup like any other app's data. Read the full privacy policy.

Questions

Before you ask.

When can I get it?

It is in development and not on the App Store yet. Leave your email above and you get exactly one message on the day it goes live.

Does it do marine or reef tanks?

No — freshwater only, deliberately. Salinity, alkalinity, calcium and magnesium are a different job, and the ammonia chemistry the app relies on changes in salt water. Doing freshwater properly beats doing both badly.

Do I need a particular test kit?

No. The sliders run through the reagent colours a standard liquid kit produces, so matching a vial is quick — but you can type any value from any kit, strip or meter.

How many tanks can I keep in it?

As many as you like. Each one has its own profile, thresholds, tap water baseline, test history, diary and reminder schedule.

Will it be free?

Pricing is not settled yet. What is settled: no advertising, no subscription to see your own tank history, and no feature that reads your data to sell you something.

Is this medical advice for my fish?

It is a well-informed second opinion, not a vet. The thresholds come from published freshwater aquaculture figures and the advice is the conventional response to them — but a sick tank can have causes no water test shows.

Know when it lands.

One email, on launch day. That is the whole arrangement.