AD.
INITIALIZING_SYSTEM
000%
AD.
PROJECT 03Mobile Application (Flutter) · 2025

Water Reminder App

A native Flutter hydration tracker published on Google Play Store featuring personalized intake goals, smart push notifications, and local analytics.

RoleMobile Developer (Co-Creator)
Timeline5 weeks
Core StackFlutter, Dart, Riverpod
Live Site ↗GitHub ↗
Water Reminder App - Screenshot and interface preview
100%

Offline capable

60fps

Fluid UI performance

4.8

Store rating

// The Objective

Problem & Context

Co-developed with Sahil Vaghasiya and published to the Google Play Store, the Water Reminder App is a native cross-platform mobile application designed to help users build sustainable hydration habits. It pairs clean, friendly micro-interactions with an intelligent intake calculation algorithm tailored to user weight, activity level, and climate.

The Core Bottleneck:

Ensuring reliable background push reminders across aggressive Android battery optimization modes, maintaining instantaneous offline data persistence without cloud dependencies, and delivering 60 FPS charts on entry-level Android devices.

// The Solution

Engineering Strategy

Engineered a reactive mobile architecture in Flutter and Dart using Riverpod for predictable state management. Implemented an offline-first SQLite database (sqflite) for logging hydration events, scheduled local notifications with exact alarms via flutter_local_notifications, and visualized multi-range historical data using FL Chart.

Built in Flutter 3 using Dart. Utilizes Riverpod for dependency injection and state handling. Local persistence is powered by SQLite (sqflite) with custom migrations and SharedPreferences for user settings. Background notifications are orchestrated via flutter_local_notifications with timezone awareness.

// Decisions

Architectural & Technical Choices

DECISION 01

Implemented an offline-first architecture with SQLite so all logging, streak tracking, and chart generation work 100% without internet.

DECISION 02

Configured Flutter Local Notifications with exact scheduling to wake the app reliably across OEM battery-saver restrictions.

DECISION 03

Designed custom circular progress gauges (percent_indicator) with fluid water-fill animations and cheerful milestone feedback.

DECISION 04

Co-architected clean separation between presentation, domain, and data layers to enable rapid Play Store iterative releases.

// Problem Solving

Engineering Challenges Overcome

⚠️ Challenge: Android background process termination dropping scheduled water reminder alarms.

✓ Solution: Implemented exact alarm scheduling with flutter_timezone synchronization and boot-completed broadcast receivers to restore reminders upon device restart.

⚠️ Challenge: Visualizing dense hydration history and time-of-day breakdowns without UI frame drops.

✓ Solution: Optimized FL Chart datasets with pre-aggregated SQL queries and indexed timestamps, ensuring smooth 60 FPS transitions.

// Capabilities

Shipped Product Features

Daily hydration progress ring with real-time glass counters and milestone celebrations
Customizable daily goal calculator based on weight, gender, and activity factors
Timed local notification engine with smart interval reminders and silent sleep hours
Interactive historical statistics: day, week, month, and year views with intake time-of-day pie charts
Hydration streak tracker and calories saved calculation
Published live on Google Play Store
Technologies & Frameworks
FlutterDartRiverpodSQLiteLocal NotificationsFL ChartAndroid
← Previous Case StudyTesca Visa Workflow CRMNext Case Study →Hanumante Exports