Kholi
Hand over your room
Leaving a flat in India usually means posting in WhatsApp groups, fielding dozens of calls and brokers, and paying rent on an empty room until someone moves in. Kholi gives the person leaving one clean page for the room, and lets the flatmates who stay choose who replaces them.
- Role
- Solo: product, design, engineering
- Timeline
- Sep – Oct 2026
- Platform
- Mobile web
- Status
- Live
How it works
- 1
Create a room page
Photos, rent, deposit, move-in date, current flatmates and house rules, in about two minutes. Already wrote a WhatsApp post? Paste it and the form fills itself.
- 2
Share one link
The link unfurls with a proper preview in WhatsApp. Kholi writes the group post and lists flat groups near the room, so one tap copies the post and opens the group.
- 3
Get real applicants
Instead of forty "is it available?" calls, every seeker arrives as a structured application: job, move-in date, lifestyle, with move-in fit and house-rule clashes flagged.
- 4
Decide together
Flatmates vote from their own link with no sign-up. Shortlist, message the applicant on WhatsApp, and mark the room filled.
Product decisions
A website, not an app
The link gets shared in WhatsApp groups, so it has to open instantly with nothing to install. Mobile-first web now; a PWA only if people come back often.
No account to look or apply
Seekers never sign up. The person leaving confirms their email with a six-digit code, and their private manage link is the key. Codes beat magic links here: a magic link opens inside the mail app’s browser, so the session lands in the wrong place.
Verify the number that matters
Applicants confirm their WhatsApp number with a one-time code from the WhatsApp Cloud API. It’s the number the leaver will message anyway, it needs no DLT registration the way SMS does in India, and it costs about ₹0.12 a code. It switches on as soon as the WhatsApp Business template is approved. The leaver’s own number never appears on the public page.
Pages for rooms that aren’t on Kholi yet
For outreach, a public “replacement needed” post can become a page before its owner signs up, with guardrails because they never asked: text only, not indexed, clearly marked unclaimed, applications held until they claim it, removable by anyone, and deleted after seven days.
Engineering
Photos never pass through the server
They’re resized and compressed in the browser (1600px JPEG, around 250 KB), then uploaded straight to Supabase Storage with one-time signed URLs. That keeps uploads clear of Vercel’s 4.5 MB request limit.
Paste a post, get a form
A rule-based parser in the browser reads a pasted WhatsApp or Facebook post into the listing form for free, with an optional AI pass through any OpenAI-compatible API.
The idea behind Smart pasteData the browser can’t touch
Every read and write goes through server actions. Row-level security is on with no public policies, so the browser can’t query tables directly. Spam guards: one application per phone per listing, plus code limits per phone and per IP.
Promo video
A 52-second vertical video for Reels, Shorts and WhatsApp Status, made in Remotion so the phone screens are the real app rebuilt in React. The music and sound effects are generated in code, and every cut lands on the beat.
Stack
- Next.js 15
- App Router and server actions
- React 19 · TypeScript
- UI
- Tailwind CSS v4
- Styling and theme tokens
- Supabase
- Postgres and photo storage
- Resend
- Email sign-in codes
- WhatsApp Cloud API
- Phone verification
- Vercel
- Hosting and analytics
- Remotion
- Promo video
What’s next
- Get the first ten rooms filled through a Kholi link, starting in Pune
- Browse rooms by area
- A verified badge through a work email
- Switch on WhatsApp verification for every applicant
Leaving your flat?
Hand over your room in one link.





