Inspiration

Every hydration app I tried felt like a spreadsheet. I wanted tracking water to feel like a toy you actually want to open, because the best tracker is the one you keep using.

What it does

Water is a hydration tracker for iPhone and Android with a playful animated water surface. As you log drinks, the water level rises and sloshes with realistic physics. Logging takes one tap, you follow a daily goal, browse history in a calendar view, and get gentle reminders when you fall behind.

How I built it

It is built with Expo and React Native in TypeScript. The water surface is a custom Skia shader so the liquid moves smoothly at 60fps on both platforms. There are no accounts and no servers, everything lives on the device.

Challenges I ran into

Making a shader driven liquid feel physical without draining the battery took real tuning. Keeping the animation buttery on lower end Android devices while matching iPhone quality was the main constraint.

Accomplishments that I'm proud of

The core loop is genuinely fun. Logging is one tap, the calendar makes progress obvious at a glance, and the whole thing works offline with no data collection.

What I learned

Delight beats features for a habit app. People stick with the app because opening it is pleasant, not because it has more settings.

What's next for Water

Widgets, Apple Health and Google Fit sync, and more container sizes and themes.

Share this project:

Updates