Case study · 2024 · 4–5 months
UI/UX Design | On-demand Laundry Service | Two connected iOS apps

My role
UI/UX Designer
Timeline
4–5 months · 2024
Team
1 Designer
1 PM
2 Frontend
2 Backend
1 QA
Platform
iOS
Introduction
The client
iPro Wash is an on-demand laundry platform. Customers book a pickup, tell the service exactly how they want their clothes cared for, pay in the app and follow the order until it is back at their door. Behind every order is a Laundry Pro, an independent operator who picks up, washes, folds and delivers, using a separate app to manage their work and earnings.
My role
I was the only designer on the project, working with a PM, four developers and a QA. I owned the product end to end: competitor research, user flows, sketches, wireframes, stylescapes, the design system and every high-fidelity screen for both apps. I then stayed close to the team through development and the App Store launch.
Impact
Both apps shipped and the customer app is live on the App Store. Because both apps were built from one design system, developers worked from a single set of decisions, and new screens could be designed in hours instead of days.
connected apps, designed from one system
screens across the customer and Laundry Pro apps
months from a blank page to the App Store
designer, owning research through to launch
01 — The problem
Washing, drying and folding quietly eats hours every week. Outsourcing it should be an easy win, but people hesitate: their clothes are personal, and once the bag leaves the door they lose control. iPro Wash needed a product that removes the chore without asking customers to give up that control.
Time
It eats the one free day
Laundry takes hours every week, usually on the weekend, the only time busy people have for themselves.
Trust
"Will they wash it the right way?"
Wrong detergent, the wrong temperature, a shrunk favourite shirt. People worry their care preferences will be ignored.
Visibility
"Where are my clothes right now?"
After pickup there is silence. Without updates, customers chase support, or simply never book again.
The challenge
02 — Who it's for
Every order has two people on it: the customer who hands over the bag, and the Laundry Pro who does the work. If either side breaks, the order breaks. So I designed for both from day one.
Customer app
Busy professionals, families, students and seniors who would rather spend their time on anything but laundry.
What they need
• Book a pickup in under a minute
• Be sure their care instructions are followed
• Know where their laundry is at every step
What frustrates them
• Vague pickup and delivery windows
• Repeating the same preferences every order
• No updates once the bag is gone
Laundry Pro app
Independent operators who pick up, wash, fold and deliver, often juggling several orders a day.
What they need
• See new orders and accept them quickly
• Know each customer's preferences before washing
• Track items, deliveries and earnings in one place
What frustrates them
• Missing or unclear care instructions
• Orders scattered across chats and notes
• No clear view of what they have earned
03 — Research & strategy
There was no existing product to audit and no brand to follow. I started by studying how established on-demand laundry apps handle booking, care preferences and order tracking, mapping where each one helped and where it left customers guessing.

What the research told me
Insight 01
Preferences get buried
Most apps asked for care instructions in a free-text note at checkout. It was easy for customers to skip and easy for operators to miss.
Insight 02
Tracking stops at pickup
Status updates were vague, often a single "In progress", and rarely showed what was actually happening to the clothes.
Insight 03
Two sides, two languages
Customer and operator apps described the same steps in different words, which made support conversations confusing for everyone.
How I worked
Competitor research
User flows
Sketches
Wireframes
Stylescapes
Design system
High-fidelity UI
Dev handoff & QA
04 — Mapping the service
Before drawing a single screen, I mapped one order from doorstep to doorstep, side by side for both users. Every moment where one person acts, the other needs to know about it. This map became the backbone of both apps.
Step 1
Book
Customer
Picks a pickup slot and sets care preferences.
Laundry Pro
Gets a new order request and accepts it.
Step 2
Pickup
Customer
Sees "Pro on the way", then "Picked up".
Laundry Pro
Confirms pickup and counts the items.
Step 3
Wash
Customer
Sees "Washing" with the item count.
Laundry Pro
Follows the saved preference checklist.
Step 4
Deliver
Customer
Gets "Out for delivery" and a delivery window.
Laundry Pro
Marks the order delivered.
Step 5
Repeat
Customer
Rates the service and rebooks in one tap.
Laundry Pro
Sees the order added to their earnings.

05 — Key decisions
Each of these started as a real tension, between speed and control, or between two users who needed different things. Here is what I weighed and why I chose what I did.
The problem
Care instructions decide whether a customer trusts the service, yet most apps hid them in an optional note that Pros often missed.
Options I weighed
A free-text note at checkout (fast, but easy to skip), a one-time profile setting (out of sight, easily outdated), or structured choices built into the booking flow.
What I chose
A dedicated preferences step inside booking (detergent, softener, wash temperature, folding and special instructions), pre-filled from the last order so repeat customers just confirm.
Why it worked
It's impossible to miss, it gives Pros a clear checklist instead of a paragraph to interpret, and it adds almost no time for returning customers.
The problem
Designing the customer and Pro apps separately would have produced two different stories about the same order, and confused everyone when something went wrong.
Options I weighed
Design the customer app first and adapt the Pro app later (faster to start), or define the shared order model first and design both apps on top of it.
What I chose
One order lifecycle with shared status names, colours and icons. Each app shows its own side of the same moment: when a Pro taps "Picked up", the customer sees "Picked up" too.
Why it worked
Customers and Pros talk about the order in the same words, developers reuse the same logic and components, and support can follow any order at a glance.
The problem
The moment of highest anxiety is right after handover. Silence there turns into support tickets, and into customers who don't come back.
Options I weighed
Push notifications only (cheap to build, but easy to miss and impossible to look back at), or a status timeline inside the order backed by notifications.
What I chose
A clear order timeline (Booked, Picked up, Washing, Out for delivery, Delivered) with times and item counts, plus a notification at each key change.
Why it worked
Customers can answer "where are my clothes?" themselves at any time, which builds the trust the whole service depends on.
06 — Visual direction
The only brief was "the client loves pink". Pink can easily feel childish or loud, so I explored three stylescapes (soft and airy, bold and playful, clean and clinical) and landed on a fresh, friendly pink balanced with plenty of white space, so the app feels clean and caring rather than cute.

07 — Design system
Two apps with one designer only works with a strong system. I built shared foundations and components in Figma with variables, so both apps stay consistent and developers build each pattern once.
Colour
Blush Pink
#FB8DA9
Muted Teal
#53C5C3
Charcoal Slate
#36454F
Cloud Grey
#EFF0F1
Canvas
#F8F8F8
Headings
Elegant and slightly rounded, giving titles a friendly, premium feel.
Body
Geometric and very legible at small sizes, ideal for order details and forms.
Components
Buttons, inputs and selectors, order cards, status chips, the tracking timeline, navigation, empty states and confirmation screens, each with its full set of states, shared across both apps.

08 — Final designs
Two apps, one experience. The customer app makes booking and tracking effortless; the Laundry Pro app turns every order into a clear, step-by-step job.
Customer app

Home and quick rebook
The active order comes first; repeat customers rebook in one tap.

Booking and preferences
Pickup slot, care preferences and payment in one clear flow.

Order tracking
Every stage, with times and item counts, from pickup to delivery.
Laundry Pro app

Order inbox
New requests with pickup time, distance and size, ready to accept.

Preference checklist
Each customer's care instructions as a checklist, plus item tracking.

Completed orders
Every finished order in one list, with the date and weight of each.
09 — Outcome
iPro Wash went from an idea with no brand to a working two-sided product on the App Store in under five months. The shared design system gave the team a foundation for every feature that came after launch.
on the App Store, with both the customer and Laundry Pro experiences in use.
shared design system and component library powering both apps.
free-text guesswork: every care preference reaches the Pro as a clear checklist.
"Shreya turned a loose idea into a product our developers could actually build: two apps that finally speak the same language."
Project Manager, 4TYSIX
10 — Looking back
Make tracking even clearer
I would add live delivery ETAs and a clearer "what happens next" line at each stage, so customers never have to interpret a status.
Rethink home screen priorities
The home screen tried to do too much. Today I'd test a version that leads only with the active order and one-tap rebooking.
Tighten the profile
Saved addresses, payment and preferences grew organically. I'd restructure the profile hierarchy around what people change most often.
Learnings
Design the service, not just the app
The best screens came from mapping the whole order first. A two-sided product is only as good as the hand-offs between its users.
Ambiguity is part of the brief
With no brand and no flows, structure had to come from me: research, then flows, then wireframes, then a visual system, then high fidelity.
Systems buy you speed
Investing early in components and variables meant the second app took a fraction of the time of the first.
Enjoyed this case study?
© 2024 iPro Wash. All rights reserved. Designed by Shreya Pandya.


