workaboutcontactblogs
Django · Next.js · Full Stack

LaundryChowk

ClientPersonal Project
RoleFull Stack Developer
Year2024
Laundry Chowk

Laundry Chowk is a full-stack laundry service platform built from scratch a Django REST backend powering a Next.js customer app, an operator CMS, and a real-time order tracking system. The project covers the complete service lifecycle from booking to delivery, with a photo-on-pickup accountability system and automated notifications at every state transition.

Local laundry businesses in urban Nepal operate entirely by phone calls and verbal confirmations. Customers can't track orders, operators struggle with scheduling conflicts, and disputes over lost items are common with no digital paper trail. The platform needed to digitize the full operation without requiring extensive technical training from operators.

  • Built a Django REST API backend with JWT authentication, an order state machine, and a service pricing engine.
  • Designed a Next.js customer app with real-time order tracking via WebSocket connections.
  • Created an operator CMS for managing pickups, deliveries, and item inventories.
  • Implemented a photo-on-pickup manifest system for item accountability.
  • Built an automated notification pipeline via email and SMS at every order state transition.

From Phone Calls to Platform

Laundry Chowk began as a frustration project after losing a shirt at a local laundry with no recourse because there was no record of it ever arriving. The idea was simple: give small laundry businesses the operational infrastructure that larger services take for granted, without the enterprise price tag or integration complexity.

Laundry service operations

The platform manages the complete laundry lifecycle pickup scheduling through to delivery confirmation.

Clean laundry output
Order tracking dashboard

Operator dashboard and real-time order state tracking every item accounted for at every stage.

Order State Machine

The backend uses a state machine pattern for order lifecycle management. Orders move through defined states Pending → Picked Up → In Wash → Ready → Out for Delivery → Delivered and each transition triggers webhooks for the notification system. Invalid state transitions are rejected at the API level, making the system predictable for both operators and customers.

Django REST Backend

The Django REST Framework backend handles authentication, order management, item inventory, and the pricing engine. Service pricing is configurable per operator weight-based, item-count-based, or fixed rates per item category. The pricing engine applies operator rules at booking time and locks the price, preventing post-booking disputes.

Django REST API architecture
Operator CMS interface
WebSocket real-time tracking
Next.js customer app

Operator CMS, WebSocket-powered live tracking, and the Next.js customer-facing application.

Photo-on-Pickup Accountability

The most impactful feature for customer trust was the photo manifest system. When a rider picks up laundry, they photograph each item before it leaves the customer receives a visual inventory and digitally signs off on it. Any dispute about a lost or damaged item references this timestamped record. It turned the most common complaint into a solved problem.

Mobile item photo capture
Urban delivery routing

Item photo manifest on pickup and the urban delivery routing system for same-day turnaround.

Open source documentation

Open Source Release

Laundry Chowk was released on GitHub with full documentation, a local development setup guide, and one-click deploy scripts for DigitalOcean and Railway. The goal was to make the codebase accessible to small business owners and developers working with similar service businesses in emerging markets.

Laundry Chowk successfully demonstrated the full-stack concept and was released as open-source. Two small laundry businesses in Kathmandu have since adapted the codebase as their operational backbone.

DjangoNext.jsWebSocketREST APIPostgreSQLTypeScript