DOMLAV — Fullstack On-Demand Laundry Service App (Next.js + Node.js + MongoDB)

A fullstack on-demand laundry and dry cleaning service application serving customers across Morocco. Built by senior fullstack developer Hamza Miloud Amar with Next.js, Node.js, Express, MongoDB, and Firebase.

DOMLAV — fullstack laundry service web application built with Next.js, Node.js, Express, and MongoDB by developer Hamza Miloud Amar

Overview

DOMLAV is a fullstack on-demand laundry and dry cleaning service application I developed as a senior fullstack developer for a Moroccan startup. The platform connects customers needing laundry services with professional cleaners and delivery drivers, handling everything from order placement and scheduling to real-time tracking and payment processing.

The Problem

Traditional laundry services in Morocco are fragmented and inconvenient:

  • Customers waste time dropping off and picking up laundry
  • Quality inconsistency — No way to verify cleaner reputation before trying
  • No transparency — Unclear pricing, timing, and handling processes
  • Cash-only payments — Inconvenient and insecure
  • No tracking — Customers don't know when laundry will be ready

My Role

As the lead senior fullstack developer, I was responsible for:

  • Complete system architecture and database design
  • Frontend development with Next.js and Pillar UI
  • Backend API development with Node.js and Express
  • MongoDB database modeling and optimization
  • Firebase integration for authentication and real-time features
  • Real-time order tracking system implementation
  • Payment gateway integration
  • Deployment and DevOps configuration

Technical Architecture

LayerTechnologyPurpose
FrontendNext.js 14 (App Router)SSR for SEO, dynamic routing, image optimization
UI LibraryPillar UICustom accessible component system
StylingCSS Modules + CSS VariablesMaintainable, themeable styles
BackendExpress.jsREST API for business logic
DatabaseMongoDBFlexible schema for orders, users, services
ORMMongooseSchema validation and query building
AuthFirebase AuthenticationSecure user auth with phone OTP
Real-timeFirebase Cloud MessagingPush notifications for order updates
StorageFirebase StorageOrder photos, receipts, profile images
PaymentsStripeSecure online payment processing
MapsGoogle Maps APIPickup/delivery location and route tracking
DeploymentVercel + RailwayFrontend and backend separation

User Journeys

Customer Flow

  1. Register/Login — Phone number with OTP verification
  2. Select Service — Wash & fold, dry cleaning, ironing, specialty items
  3. Schedule Pickup — Date, time window, and address selection
  4. Prepare Laundry — Bag items, attach provided QR code label
  5. Driver Pickup — Real-time tracking of driver arrival
  6. Processing — Track cleaning status (received → washing → drying → ironing → ready)
  7. Delivery — Scheduled drop-off with real-time driver tracking
  8. Rate & Pay — Review service quality, automatic payment processing

Driver Flow

  1. Accept Order — View available pickups in assigned zone
  2. Navigate to Pickup — GPS directions to customer address
  3. Scan QR Code — Verify correct order, update status
  4. Deliver to Facility — Drop off at cleaning partner location
  5. Pickup Clean Laundry — Collect completed orders
  6. Deliver to Customer — Final drop-off, confirm delivery

Cleaner/Partner Flow

  1. Receive Orders — View incoming laundry batches
  2. Update Status — Mark items as washing, drying, ironing, ready
  3. Quality Check — Photo documentation before packaging
  4. Hand to Driver — Confirm transfer with QR scan

Key Features

Customer Features

  • Service Selection — Multiple service types with transparent pricing
  • Smart Scheduling — Pickup and delivery time slots with availability
  • Real-Time Tracking — Live driver location and ETA on map
  • Order History — Past orders with reorder functionality
  • Subscription Plans — Weekly/monthly laundry packages with discounts
  • Referral Program — Earn credits by inviting friends

Driver Features

  • Route Optimization — Efficient multi-stop pickup and delivery routes
  • Earnings Dashboard — Daily/weekly earnings with breakdown
  • Rating System — Customer feedback on delivery service
  • Offline Support — Queue updates when connectivity is poor

Admin Features

  • Order Management — Full overview of all active and completed orders
  • Driver Dispatch — Assign orders, monitor routes, handle exceptions
  • Cleaner Partners — Manage partner network, quality standards, payments
  • Analytics — Revenue, customer retention, peak times, popular services
  • Customer Support — Issue tracking, refunds, dispute resolution

Real-Time Features

  • Live Driver Tracking — Customers see driver on map approaching
  • Push Notifications — Status updates, promotions, delivery alerts
  • In-App Chat — Customer support and driver communication
  • Live Order Status — Real-time updates as laundry progresses

Challenges & Solutions

Challenge 1: Real-Time Order Tracking

Customers expect Uber-like tracking for laundry. I implemented:

  • Firebase Realtime Database for live location updates
  • Geofencing to trigger status changes automatically
  • Optimized location polling — Battery-efficient tracking for drivers
  • Fallback SMS — Status updates via text when app is closed

Challenge 2: Handling Different Service Types

Laundry, dry cleaning, and ironing have different workflows. I designed:

  • Flexible order schema in MongoDB for variable service pipelines
  • Status machine — Each service type has its own state transitions
  • Price calculation engine — Weight, item count, fabric type, urgency

Challenge 3: Driver-Cleaner Coordination

Multiple stakeholders need seamless handoffs. I built:

  • QR code system — Each order bag has unique QR for scanning
  • Photo verification — Drivers photograph bags at pickup/delivery
  • Digital signatures — Customer confirmation on delivery
  • Dispute resolution — Photo evidence for damage/loss claims

Challenge 4: Payment Trust

Moroccan customers are cautious about online payments. I addressed:

  • Cash on delivery option — For customers preferring physical payment
  • Transparent pricing — Full cost breakdown before confirmation
  • Secure Stripe integration — PCI-compliant payment processing
  • Receipt automation — Digital receipts sent immediately after payment

Results & Impact

  • Active service across multiple Moroccan cities
  • Customer satisfaction — 4.7/5 average rating
  • Driver network — 50+ active delivery partners
  • Cleaner partners — 15+ verified cleaning facilities
  • Order volume — 500+ orders per month and growing
  • Reduc src: ed no-shows — Real-time tracking decreased missed pickups by 80% alt: DOMLAV — fullstack laundry service web application built with Next.js, Node.js, Express, and MongoDB by developer Hamza Miloud Amar

Testimonial

"Hamza built us a complete logistics platform that handles the complexity of coordinating customers, drivers, and cleaners. The real-time tracking and automated workflows have transformed our operations."DOMLAV Founder

Lessons Learned

Building DOMLAV taught me that on-demand service apps are logistics platforms first, consumer apps second. The customer-facing UI is important, but the operational dashboard, driver tools, and real-time coordination systems are what make or break the business.

Future Plans

  • AI-powered scheduling — Predict demand and optimize driver routes
  • Fabric recognition — Photo-based item identification and pricing
  • Eco-friendly options — Green cleaning partner network
  • B2B expansion — Hotel and restaurant laundry services

Need a fullstack on-demand service platform? Contact me to discuss your project.

Experienced Frontend Developer | Passionate about building elegant, accessible, and UX-friendly Design Systems with React | Skilled in React Next Remix | CSS enthusiast | Lover of Clean & Maintainable CSS | Always learning and growing.

Let's Connect

Connect With Me On Social Media

I appreciate your visit to my website. If you find my work interesting and would like to know more about me, please consider following me on social media. Thank you!

© 2026 Hamza Miloud Amar. All Rights Reserved