Tubig Plus App

A progressive web app for on-demand water and ice delivery, built with Next.js and Supabase. It connects local water stations to nearby homes, with real-time order tracking, flexible payment options, and offline support so it works even on shaky connections.

RoleFull-stack Developer
Year2026
ClientPersonal Project
Stack
Next.js 16 (App Router)/React 19/TypeScript/Tailwind CSS v4/shadcn/ui/Supabase/next-pwa
01

The problem.

Getting clean drinking water in many Filipino neighborhoods still means hauling heavy gallons home from the nearest refilling station every few days. It is tiring, takes time, and is even harder for anyone without a car. The strange part is that trusted local water stations are usually just around the corner, they simply do not offer delivery. People wanted their water and ice brought to the door without the hassle, and there was no simple way to make that happen.

02

What I built.

TubigPlus is a delivery app that bridges that gap. People pick the water or ice they want, choose ASAP or scheduled delivery, pay how they like, and watch the order make its way to them.

Mobile-first PWA, pick water or ice, ASAP or scheduled, COD/GCash/Maya, with offline-safe order tracking

Things I'm proud of:

Tech stack: Next.js 16 and React 19 run the app, Supabase stores orders and handles accounts, Tailwind v4 with shadcn/ui shapes the interface, and next-pwa makes it installable and offline-ready.

Key decisions

Mobile-first PWA: The app installs straight to the home screen and keeps working offline, with a fallback page so a dropped signal does not break the experience

Real-time order tracking: Orders move through clear stages from confirmed to out for delivery, so people always know what is happening without calling anyone

Flexible ordering: No minimum order, free delivery past a set amount, and familiar payment choices like Cash on Delivery, GCash, and Maya

03

What I learned.

This one taught me to design for real conditions, not perfect ones. Building the offline flow and the tracking states pushed me to think about what a user sees when things go wrong, not just when they go right. I also learned how much trust matters in a delivery product, small touches like clear status updates and honest delivery times do a lot of the work. If I came back to it, I'd add a combined cart for water and ice and live driver location.