A water-intake tracker: you log what you drink, it fills an animated character, and it nudges you when you are behind for the day.
Build me a water-intake tracker in the shape Waterllama has: log a drink, see something happen, get a nudge when I am behind. Read this first, because it is unusually honest for a technical prompt: the product being replaced costs a few euros once, and what you are paying for is illustration and animation — a character that reacts, drinks that look like drinks. That is design work, not engineering, and if you cannot do it or commission it, the version you build will be a counter with a progress bar. A counter with a progress bar is genuinely useful and nobody opens it twice a day. Decide which you want before starting. STACK - A PWA that works entirely offline, installable, with widgets where the platform allows — or native for the health integration and the watch - Local storage first: IndexedDB or SQLite on device - An optional sync server: Node 20+ with Fastify and SQLite - Caddy in front THE DATA MODEL - drinks: id, name, icon, volume_ml, hydration_factor, colour, position, is_custom — a coffee hydrates less than water, and a beer negatively; the factor is what makes the total meaningful - entries: id, drink_id, volume_ml, hydrated_ml, local_date, at, source — one row per drink, and the local date is the key - goals: id, base_ml, weight_kg, activity_adjust_ml, climate_adjust_ml, effective_from — appended, so changing your goal does not restate last month - reminders: id, kind, from_local_time, to_local_time, interval_minutes, is_smart, is_active - Totals computed from entries at query time. Never stored THE INTERACTION - One screen. The day's progress, and a row of drinks to tap. One tap logs the default size, a long press picks another - Under three seconds from picking up the phone to logged, or it will not happen eight times a day - Undo the last entry, prominently, because a mis-tap is common and a wrong total is discouraging - Backfill an earlier time, because people log in batches THE GOAL - A sensible default from body weight, with adjustments for activity and heat. State the formula and its source rather than inventing a number - Adjustable by hand, always. This is not medical advice and the interface should not pretend otherwise - A note in the README: extreme over-drinking is genuinely dangerous, so cap the goal at something sane and do not gamify exceeding it. A tracker that rewards more and more water is a tracker with a real hazard in it THE PART THAT IS DESIGN, NOT CODE - Something has to happen when you log a drink. A character filling, a level rising, a small animation — that is why the application gets opened rather than ignored - Build it as an SVG or canvas scene driven by one number between zero and one, so the illustration can be replaced without touching the logic - Respect `prefers-reduced-motion` completely, with a still representation that still reads at a glance - Commission the artwork or use a permissively licensed set, and credit it. Do not copy the original's character — that is somebody's work REMINDERS - Between chosen hours, at an interval, on the days you want - Smart mode: skip a reminder if you have already drunk recently, and space them by how far behind the goal you are. A fixed reminder every hour is one people switch off in a week - Never after the goal is reached - At most one an hour, and silent overnight HEALTH INTEGRATION - Write intake to the platform's health store so it appears alongside everything else, and read back anything logged by another application so the total is not wrong - Read workouts to adjust the day's goal upward - Read-only where it can be, on device, never uploaded. Health data is the most sensitive thing on a phone and there is no reason for it to leave WIDGETS AND THE WATCH - A home screen widget that logs a glass without opening the application. This is where a tracker like this is actually used, and without it the tool is much weaker - A watch complication with the day's progress and a tap to log - If your platform will not allow these, say so in the README, because it is most of what the paid application delivers WHAT IT SHOWS - Today, with the goal and what remains - A week and a month as a simple chart, and the average - Streaks of days at goal, gently — never a notification that scolds a missed day - Everything computed at query time SYNC AND ESCAPE - Optional, end-to-end encrypted, and entirely unnecessary for the application to work - Export every entry as CSV in two taps - No analytics in the application. Not one event OPERATIONS - If there is a server: .env with DATABASE_PATH, BASE_URL, SESSION_SECRET; migrations on boot; nightly backup of ciphertext WHAT MATTERS MOST The one-tap log and the widget. Get logging under three seconds and put it on the home screen, then decide honestly whether you can make it pleasant to look at — because that, not the arithmetic, is what the few euros were buying. Give me the app, the sync server if you want one, the animation driven by a single progress value, and a README with build steps, the artwork licensing, and the safety note about over-drinking.
What you lose
- Character animation and illustration that turn a counter into something people actually open
- Apple Health writing, so intake shows up alongside everything else
- Widgets, watch support and reminders that adapt to what you have already logged
If you would rather not build
- Any open-source habit tracker with a numeric goal
- Apple Health, which already stores water intake
- A widget and a tally, which is genuinely enough
What it costs
as published on their pricing page
| Plan | Billed monthly | Billed yearly | Last read |
|---|---|---|---|
| — | $2.50/mo | — | — |
Their pricing page is where these came from. Seeing a different price? Tell us.
The escape hatch
open source · no votes, no paid placement
Loop Habit Tracker
$0Handles measurable habits with a numeric target, not only yes-or-no ones.
iSoron/uhabitsfree · open source
Why this verdict
our own opinion · changed only by a person
93/100
Verdict yes at 93, among the highest here. It is a counter with a nice picture. The pacing rule for reminders is the only design decision that matters.
History
tracked since 10 Aug 2026 · nothing is ever overwritten
Questions about Waterllama
answered from the record above
Is Waterllama free?
No — the plan we track is $2.50 a month. Around $29.99 a year for the full version; the figure shown is that annual price divided by twelve.
Can you replace Waterllama by building your own?
YES. Replaceable in one session with an AI coding agent. Replacement score 93 out of 100, build time one session. Read what you lose before you decide.
How much does Waterllama cost?
$2.50 a month on Premium — $30 a year. Recorded 10 Aug 2026.
What do you lose by replacing Waterllama?
Character animation and illustration that turn a counter into something people actually open; Apple Health writing, so intake shows up alongside everything else; Widgets, watch support and reminders that adapt to what you have already logged. If any of those carry weight for you, keep paying.
Is there an open-source alternative to Waterllama?
Yes: Loop Habit Tracker, Habitica. The prompt on this page is for when you want it your way instead.
Related entries
same category first, most replaced first
Every week, something stops being worth paying for.
New verdicts, prices that moved, entries added. One email a week. Unsubscribe in one click. Nothing is being sent yet — your address is kept here, and the first issue is the first thing it is used for.
free forever · no tracking pixel · stored here, never passed to anyone

