03
Mobile first web app

Milkow Delivery CRM.

Milkow is a full-stack Customer Relationship Management (CRM) and route management application designed specifically for the unique, fast-paced operational needs of daily milk delivery businesses. Built on a robust tech stack, it acts as a mobile-first Progressive Web App (PWA) bridging the gap between chaotic physical logistics and digital precision.

Role
Product Designer & Developer
Duration
16 Weeks
Platform
Mobile first web app
Milkow Delivery CRM Hero
01Context

This case study details the end-to-end UX research, design, and engineering process used to transform a legacy paper-based industry into a streamlined digital experience. The process began with direct immersion into the users' environment, conducting 'ride-alongs' with delivery drivers during their 4:00 AM morning shifts to understand constraints like one-handed operation, low light, and network unreliability.

02Problem Framing

The daily milk delivery industry operates with chaotic physical logistics and paper-based tracking. Drivers operate under severe environmental constraints (one hand, gloves, low/high light, poor network), while franchise owners struggle with irregular cash flow and inventory leakage.

Root Cause

Traditional logistics apps are overkill (requiring barcode scanning and signatures), while basic apps fail due to tiny buttons, multiple taps, and freezing when networks drop. Rigid billing cycles fail because customers pay ad-hoc, and end-of-shift physical stock reconciliation rarely matches paper ledgers.

03Research Insights
01

The 'Three-Second' Rule

If logging a delivery takes more than three seconds, the driver abandons the app in favor of remembering it later, leading to massive data inaccuracy.

The UI must be instant. State mutations need to be staged locally, and background syncing is required to hide network latency.

02

Irregular Cash Flow & Ad-hoc Payments

Customers don't follow strict daily, weekly, or monthly payment schedules. They pay randomly (ad-hoc), making rigid billing cycles useless.

The billing system needs to act as a Unified Running Ledger. Any delivery debits the ledger, and any payment credits it.

03

Environmental Constraints Dictate Design

Drivers operate outdoors, often in blinding high sunlight, making standard subtle grays and low-contrast modern UI trends fail miserably.

The UI requires a stark black-and-white theme and extremely padded button hitboxes to accommodate gloved, walking users.

04Design Decisions
D01

Decimal-Based Route Ordering

Options Considered

SQL linked list vs. String-based sorting vs. Decimal-based system

What I Chose

Decimal-based system for the delivery_order column with a visual Drag-and-Drop interface.

Rationale

We needed a way to dynamically insert new customers between existing ones. A linked list proved overly complex and fragile during bulk updates. String-based sorting had length limits. A decimal-based system provides ample numerical room to insert records without triggering massive, system-wide database recalculations.

Trade-off

Requires careful management of the decimal precision over time, but avoids immediate re-indexing performance hits.

D02

Optimistic UI & Offline-First Execution

Options Considered

Traditional request-response model vs. Optimistic UI with Background Syncing

What I Chose

Optimistic UI where state mutations are staged in local storage and synced silently.

Rationale

To solve 'The Three-Second Rule', we couldn't wait for network requests. When a driver taps a delivery checkbox, the UI updates instantly. A custom syncBatchDeliveries() function batches interactions and pushes them to the backend when the network is restored.

Trade-off

Increases front-end complexity to handle conflict resolution and failed sync states.

D03

Impersonation Mode for Superadmin

Options Considered

Standard admin panel vs. Impersonation Mode

What I Chose

Impersonation Mode that safely hijacks the activeFranchiseId.

Rationale

Superadmins need to troubleshoot franchise-specific issues without compromising strict Row Level Security (RLS) that isolates tenant data. Impersonation allows them to instantly view the exact dashboard and UI state that the franchisee sees, enabling rapid, safe debugging.

Trade-off

Requires strict auditing and logging to ensure the feature isn't abused for unauthorized data access.

D04

Unified Running Ledger for Billing

Options Considered

Traditional 30-day invoicing vs. Unified Running Ledger

What I Chose

Unified Running Ledger where deliveries are debits and ad-hoc payments are credits.

Rationale

Franchise owners struggled with generating invoices for customers who paid random amounts in advance. Redesigning the system to act as a running ledger natively solved the unpredictable payment frequency problem.

Trade-off

Requires educating users to move away from the concept of a 'monthly bill' to a continuous balance.

05Outcomes

By aligning technical architecture directly with physical, real-world user research, Milkow achieved significant operational improvements, demonstrating how physical context dictates every layer of the product.

Measurable Impact

Interaction Time Per Stop

< 1 Second

Achieved through Optimistic UI and high-contrast targets

Balance Drift

Eliminated

Real-time inventory deduction instantly updates balances

Manual Ledger Reconciliation

Eliminated

Automated daily bill generation replaced manual work

06Achievements
01

Lightning-Fast Route Execution

Reduced the time spent interacting with the app per stop to under one second by combining Optimistic UI with fat-finger friendly touch targets.

02

Elimination of Balance Drift

Implemented real-time inventory deduction the moment a delivery is marked complete, ensuring immediate accuracy without waiting for end-of-shift batching.

03

Frictionless Collections

Integrated dynamic high-resolution UPI QR code generation on an HTML5 Canvas, allowing admins to instantly share pre-filled payment requests via WhatsApp.

04

End-Customer Empowerment

Designed a minimalist Public View Bill Portal allowing customers to securely view their outstanding ledgers via phone number, drastically reducing support calls.

07Reflection

What I'd do differently

Milkow serves as a prime example of how deeply understanding the physical context of the user (sunlight, network drops, ad-hoc payments) dictates every layer of the product, from the SQL schema to the CSS color palette.

UX DesignEngineeringPWANext.jsSupabaseOffline-FirstLogistics

Project Gallery

Gallery 1
Gallery 2
Gallery 3
Privacy Policy

© 2026 Shihab Saleem. All rights reserved.