Sofi Laundry is a full-stack service ordering platform built for Sofi Hotel’s laundry operation in Doha, Qatar. What began as an in-house hotel service is now a public-facing platform: one that needed to feel effortless for customers, give the operations team complete control, and run reliably on shared hosting without compromise.
No customer accounts, no shopping carts, no unnecessary steps. Just a clean path from intent to confirmed order.
The Ordering Experience
The platform’s order flow is a six-step interactive component that guides customers through the entire journey without a page reload. It opens with tier selection: Normal, Express, or Premium. That choice isn’t cosmetic; it adjusts every price downstream across both package bundles and custom item selections.
Customers who know what they need can choose a fixed package. Those with specific requirements use the Custom Order Builder, a live pricing calculator spanning fourteen garment types that updates totals in real time. No guesswork, no surprises.
Pricing is never trusted from the client. The server recomputes on every interaction and again on submission, so the number a customer sees is always the number they pay.
Delivery and Collection
Step five branches on one question: does the customer want collection and delivery, or will they drop off at Sofi themselves?
For pickup and delivery orders, an interactive Leaflet map loads inline and lets customers pin their location with structured address fields. Coordinates are validated against Qatar’s geographic bounding box before the order is written to the database.
Self-service orders skip the map and reference the hotel’s address from a central settings store. Both paths converge on the same confirmation flow, with status labels that adapt to the fulfillment mode: “Out for delivery” for pickup orders, “Ready for collection” for drop-offs.
Admin Panel
Behind the public experience is an admin panel built for the operations team. Staff can monitor incoming orders, track status progressions, manage packages and pricing, and run the day-to-day without touching code.
Order status transitions are logged with a full audit trail, giving the team visibility from submission to completion. Promotions, banners, and site-wide settings are all manageable from the same interface.
Privacy
There are no customer accounts on this platform, by design. Customers never register, never log in, and never manage a profile. Behind the scenes, a customer record is maintained on each checkout keyed by email, giving the operations team what they need for analytics and PDPL compliance without placing any burden on people placing orders.
Anonymisation is built into the data model. When a customer requests deletion, their PII is overwritten in place. The order history stays intact for operational records, but the personal data is gone.