Shipped · Operating · 600+ users

Laundroswipe — the laundry marketplace I actually shipped.

A two-sided marketplace built at VIT Chennai that connects students to laundry vendors. 600+ active users, operating live. Built solo over a summer, then kept alive through three semester-end crunches. The real education didn't come from the code — it came from the week the supply side broke.

Users
600+
Role
Solo founder
Status
Operating
Stack
Next.js · Supabase
See it live Ask me anything ↗

Students had laundry. Vendors had idle machines. The gap was trust.

VIT Chennai has thousands of residential students. The existing flow was a WhatsApp mess — vendors texting in scribbled timings, students unsure whether their clothes would survive, prices quoted ad-hoc. No pickup windows. No status. No receipts. The result: half the student body washed clothes in a sink.

On the vendor side, the problem was different. Machines sat idle for six hours a day because they had no way to announce availability. The demand was there — they just couldn't see it. Both sides wanted the same thing: a predictable handshake.

A marketplace that did one handshake really well.

I shipped the narrowest possible v1: students see vendors with open pickup slots, tap to book, vendor confirms, done. No ratings, no chat, no in-app payment. The handshake was the only atom.

The first 30 vendors got onboarded door-to-door, in person, because cold signups didn't convert. Students came in via posters taped to hostel doors and a referral loop that rewarded supply-side invites more than demand-side ones — because every new vendor created capacity for 20 students, but every new student only created demand for one vendor.

"Every new vendor created capacity for 20 students. Every new student created demand for one vendor. The asymmetry is everything."

Numbers, unvarnished.

600+
Active users
across two semesters
47.2%
Week-4 retention
on students who booked at least once
~18h
From pickup booked
to clothes delivered back

The launch week was not smooth. Three vendors dropped out before the first weekend because I'd forgotten that washing machines at hostel accommodation shut off at 10 PM — my booking UI let students pick 11 PM slots. One stayed up fixing it live. The vendors who came back the next Monday still work with Laundroswipe today.

Boring infra, chosen on purpose.

Frontend
Next.js 14 App Router · React · TypeScript · Tailwind
Backend
Supabase Postgres with RLS · Auth · Realtime subscriptions for vendor-side availability pings
Hosting
Vercel for the app · Cloudflare DNS and WAF in front
Payments
Razorpay UPI, later replaced with cash-on-delivery because student bank accounts declined UPI mandates inconsistently
Ops
WhatsApp Business API for vendor confirmations · Notion for vendor onboarding

Five things I'd tell the me of July last year.

01
Supply-side liquidity beats demand-side polish.
I spent two weeks on a beautiful student-facing onboarding animation. Meanwhile only six vendors were live, so 80% of student searches returned nothing. The animation didn't matter. The sixth vendor did.
02
Ship the narrowest thing that proves the handshake.
I almost shipped ratings, chat, and loyalty points in v1. The only thing that mattered was: does a student booking actually result in clean clothes? Everything else was a distraction until that one thing was rock-solid.
03
Onboard supply in person, demand with posters.
Cold Google Form signups converted at under 5%. Knocking on vendor doors converted at 62%. Trust is cheaper to build face-to-face; scale comes later.
04
Cash-on-delivery isn't a failure.
UPI failed 12% of the time. Cash failed 0%. I'd rather have a clunky-but-working payment flow than a clean UI on a broken transaction. Payment shame is real — ignore it and fix what actually breaks.
05
The real metric was vendor Monday retention.
Users coming back mattered less than vendors coming back. If the vendor didn't relist on Monday, the whole weekend's demand died. I didn't instrument this until week 8 and lost three vendors before I did.
06
Your launch week will break. Be on WhatsApp, not in a dashboard.
I rewrote the booking UI at 2 AM on day three because of the 10 PM cutoff bug. If I'd been analysing Mixpanel charts I would have missed it. When you've got 20 users, you talk to them. Dashboards are for when you have 2,000.

Building something with real users?

If Laundroswipe's playbook could apply to what you're shipping, say hi. 15 minutes, zero pitch.