Project 001
Wheelness.
Vehicle operations platform
A vehicle-care platform for gated communities in Bengaluru, where verified cleaners work residents' parking spots and every wash comes back with photo proof.

- Year
- 2026 – present
- Place
- Bengaluru, India
- Role
- Design + build + run
- Type
- Web platform · PWA
- 5
- Role dashboards
- 5,000+
- Cleanings logged
- 98%
- On-time completion
- 20,000+
- Litres water saved
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. The business runs on its dashboards, not on anyone's memory.
Five dashboards, one system
Every role sees only its own world, enforced server-side. 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 kills mobile data, 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. The moment signal returns, everything syncs. Images included.
Customers see the proof in their dashboard the same day, and carry-over logic rolls unfinished tasks forward so the queue stays honest.
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. No door-knocking, no forms on clipboards. The community that signed on Monday is running on the platform by the weekend.
Marketplace, money and a single source of truth
Vendors list what they actually offer (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 closes the loop: configurable pricing and commissions, financial reporting, payout tracking, KYC review queues and an audit log of who changed what. When something needs a human, it surfaces as a "needs attention" card instead of hiding in a table.
The fine print
A full-stack Next.js 16 monolith over a normalised Neon PostgreSQL schema of 30+ tables. 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. Roughly 80,000 lines of typed production code.
- Next.js 16
- React 19
- TypeScript
- PostgreSQL · Neon
- Postgres RLS
- Supabase Auth
- Razorpay
- MSG91 WhatsApp
- Cloudflare R2
- Resend
- Gemini
Want something
like this?
Thirty minutes, no slides, no obligation. Tell us what you are trying to build and we will tell you honestly what it would take.