The Problem: Excel Sheets Running a Delivery Business

In early 2026, a mid-sized logistics company based in Lucknow approached us with a common but painful problem. They were managing 80–120 daily deliveries across the Lucknow metropolitan area using a combination of WhatsApp group chats, Excel spreadsheets, and manual phone calls between dispatchers and drivers.

The result? Delivery errors averaging 18–22 per week, no real-time visibility for customers, and three full-time dispatchers spending their entire day on the phone.

"Our dispatchers were spending 6 hours a day just answering 'where is my delivery?' calls. We knew we needed software but thought it would take months and cost ₹10+ lakhs." — Founder, Lucknow Logistics Company

Our Approach: Scope First, Build Second

Before writing a single line of code, we spent 3 days on discovery. This is non-negotiable for us — unclear scope is the #1 reason projects go over budget and over time.

We mapped out exactly three core problems to solve:

  • Real-time delivery status visible to customers and dispatchers simultaneously
  • Driver app (mobile-responsive web) for status updates without a native app
  • Admin dashboard for daily manifest management, route assignment, and reporting

Everything else — AI route optimisation, customer accounts, invoicing — went into a Phase 2 backlog. This discipline is what kept us at 7 weeks instead of 6 months.

Tech Stack Selection

We chose the MERN stack for three specific reasons relevant to this project:

  • MongoDB — Delivery records are document-like (nested address, items, timestamps, status history) — perfect for MongoDB's flexible schema. SQL would have required complex joins.
  • Socket.io on Node.js — Real-time status updates required WebSockets. Node's event loop handles 1000+ concurrent connections without thread overhead.
  • React — The driver app needed to work on any Android/iOS browser without a Play Store submission. React PWA with a service worker solved this instantly.
⚛️ React 18 🔗 Node.js 20 ⚡ Express.js 🍃 MongoDB Atlas 🔌 Socket.io 🗺️ Google Maps API 🔒 JWT Auth 💅 Tailwind CSS ☁️ AWS EC2 + S3 📱 PWA
Dashboard Screenshot

Replace this with a real screenshot of your admin dashboard. Export a PNG from your browser and save to /case-studies/img/logistics-dashboard.png

Build Timeline — Week by Week

Week 1–2

Discovery, Architecture & Database Design

Requirements workshop (3 sessions), MongoDB schema design (6 collections: users, deliveries, routes, drivers, customers, audit_log), REST API contract definition, wireframes approved by client.

Week 3–4

Backend: API + Real-Time Engine

Node/Express REST API (23 endpoints), JWT authentication (3 roles: admin, dispatcher, driver), Socket.io integration for real-time status push, Google Maps Distance Matrix API integration for ETA calculation.

Week 5–6

React Frontend: Admin Dashboard + Driver PWA

Admin dashboard (delivery manifest, real-time map, reporting), driver mobile PWA (offline-capable, geolocation updates), customer SMS status link (no login required).

Week 7

Testing, Load Testing & Production Deployment

Manual QA (48 test cases), Socket.io load test (500 concurrent connections), AWS EC2 deployment with PM2, MongoDB Atlas M10 cluster, SSL + domain config. Go-live on Day 49.

Driver Mobile App

Replace with driver PWA screenshot — mobile view showing delivery list, status update buttons, and map. Save to /case-studies/img/logistics-driver-app.png

The Challenges We Solved Mid-Build

Challenge 1: Real-Time on a Budget

Socket.io with 80+ drivers simultaneously updating location every 30 seconds creates significant WebSocket connection overhead. On a standard ₹3,000/month VPS, this caused memory issues at week 5.

Solution: We implemented connection pooling with Redis adapter for Socket.io and switched to AWS EC2 t3.small (₹2,600/month). This handled 200+ concurrent connections with headroom.

Challenge 2: Driver Adoption

Drivers refused to install an app. Our solution: a PWA with an SMS link sent automatically when the driver is assigned a route. Zero installation — opens in any browser, works offline for status updates.

Results — 6 Weeks Post-Launch

Measurable Results

40%
Reduction in delivery errors (from 20/week to 12/week)
3→1
Dispatchers needed (from 3 to 1 for same delivery volume)
85%
Drop in "where is my delivery?" calls to dispatch
+22%
Deliveries per day (same driver count, better routing)

"We went live in 7 weeks exactly as promised. The dashboard is something my dispatcher actually uses — not something that sits unused. The ROI was obvious within the first month." — Founder, Lucknow Logistics Company

What We'd Do Differently

In hindsight, we should have built the MongoDB geospatial indexing from week 1 (we added it in week 6 when route proximity queries became slow). This is now standard in our MERN project template.

We also underestimated driver training time by 3 days — driver-facing UI now gets dedicated UX testing sessions in our standard process.

Project Cost Breakdown

Total fixed price: ₹2,40,000 — paid in 3 milestones:

  • 30% (₹72,000) — on project kickoff and wireframe approval
  • 40% (₹96,000) — on backend API completion and demo (Week 4)
  • 30% (₹72,000) — on production deployment and handover

Monthly infrastructure cost (client's own AWS account): ₹4,500/month (EC2 t3.small + MongoDB Atlas M10 + data transfer).

Want a Similar Application for Your Business?

If you're managing operations through WhatsApp, Excel, or disconnected tools — there's a high chance a custom web application will pay for itself within 3–6 months through operational savings alone.

We're currently taking on 2 new MERN stack projects per quarter. Book a free 30-minute consultation and we'll tell you honestly whether a custom app makes sense for your situation.

Book Free Consultation MERN Stack Services

Related Reading