Before Zovle · 001
Wheelness
A vehicle-care platform for gated communities in Bengaluru, where verified cleaners work residents’ parking spots and every wash comes back with photo proof.

- Role dashboards
- 5
- Cleanings logged
- 5,000+
- On-time completion
- 98%
- Litres water saved
- 20,000+
The situation
Car care in gated communities ran on cash, memory and WhatsApp. Residents paid a cleaner and hoped; nobody could say which cars were actually washed, or when. Cleaners worked basement parking with no mobile signal, and communities that already had a trusted cleaner had no way to give them a system.
What we built
One platform, five roles. Customers subscribe to cleaning plans or buy vendor services. Cleaners get an offline-first task board ordered by each car’s availability and parking location, with before-and-after photo proof. Vendors list their own services. Communities onboard their own cleaners, and admins run the whole operation from one dashboard.
What changed
Over five thousand cleanings logged with timestamped photo proof, at a 98% on-time rate. Communities bring their existing cleaners onto the platform and their residents are onboarded automatically over WhatsApp.
Five dashboards, one system
Each role sees only its own data, enforced on the server. The same wash is a subscription to the customer, a queued task to the cleaner, a payout line to the admin.
- Customers buy plans and services, set the car’s availability and parking spot, and audit every wash from a photo timeline.
- Cleaners get the day’s tasks in the right order, mark them done, and upload before-and-after photos, with or without signal.
- Vendors list custom services (puncture repair, garage work, wash stations) and sell them through the marketplace once their KYC clears.
- Community admins bring the community’s own trusted cleaner onto the platform and onboard residents from an uploaded customer list.
- Wheelness admins run operations: KYC review, pricing and commissions, financial reporting, payouts, and audit logs across every community.
Works in a basement with no signal
Basement parking has no mobile signal, so the cleaner app assumes it has none. The day’s queue loads before the cleaner goes underground, ordered by each car’s availability window and parking location. Tasks marked done, skipped or unavailable are logged locally, and the before-and-after photos queue with them. When signal returns, everything syncs, including the photos.
Customers see the proof in their dashboard the same day, and carry-over logic rolls unfinished tasks forward so nothing drops out of the queue.
A whole community onboards over WhatsApp
Any cleaner or vendor can join by submitting KYC, which we review before they can take work. A community can also bring its own existing cleaner. Once that cleaner is verified, the community uploads its customer list and every resident gets a WhatsApp message that walks them into Wheelness.
Marketplace, money and a single source of truth
Vendors list their services (tyre puncture repair, garage services, wash stations) at their own prices, and customers buy through the platform. Plans start at ₹299 a month, prices are upfront, and payments run on Razorpay with signed webhook verification. An order is only ever confirmed by the payment gateway, never by the browser.
The admin dashboard covers configurable pricing and commissions, financial reporting, payout tracking, KYC review queues and an audit log of who changed what. Anything that needs a person appears as a “needs attention” card.
The fine print
A full-stack Next.js 16 monolith over a normalised Neon PostgreSQL schema. Row-level security is enforced at the database connection itself: an AsyncLocalStorage wrapper scopes every query to the current tenant, so a customer, cleaner, vendor, community admin and platform admin can share one database and never see each other’s rows.
- Next.js 16
- React 19
- TypeScript
- PostgreSQL · Neon
- Postgres RLS
- Supabase Auth
- Razorpay
- MSG91 WhatsApp
- Cloudflare R2
- Resend
- Gemini