Inspiration

Students and young renters in India hand over large deposits and often lose part of them at move-out, over damage that was already there. Around ₹1.26 lakh crore of deposits sit with landlords across six cities, and 11% of Chennai tenants never got theirs back (NoBroker Rent Report 2026). The fight is always one person's word against the other's. I wanted proof that both sides trust.

What it does

  • Move-in record: the tenant records each room on their phone and says what's broken, in Hindi or English. The video is fingerprinted with SHA-256 as soon as it uploads.
  • AI condition report: Wapas pulls frames, transcribes the voice note, and lists every issue with its photo, timestamp, severity and source (AI, voice or tenant). The tenant can edit issues or add missed ones.
  • Landlord sign-off: the landlord opens a WhatsApp link with no app and no login, then taps Agree or Dispute. Agree locks the record.
  • Move-out verdict: the same rooms are recorded again. AI stamps every issue as pre-existing, worsened, new or fixed, and prices only what's fair from a repair rate card.
  • Evidence report: a printable report, a read-only share link, and a public page where anyone can check that a video matches its fingerprint.

How I built it

  • Frontend: Next.js and React with TypeScript and plain CSS, deployed on Vercel.
  • Backend: FastAPI in Python with SQLite, deployed on Render. Video processing runs as background jobs.
  • Media: ffmpeg samples a frame every 2 seconds (20 at most, at 1024 px) and pulls 16 kHz audio.
  • Speech: Groq Whisper large-v3, with a Hinglish hint prompt.
  • Vision: Gemini 3.8 Flash with a Pydantic response schema, so the output is always valid JSON.
  • Trust layer: my own validation drops any AI match that breaks the rules, and a rule matcher covers anything the AI skipped.

Challenges I ran into

  • Model access: the Gemini model I started with wasn't available to new API keys. I moved to Gemini 3.8 Flash and removed settings Gemini 3 no longer supports.
  • AI mistakes: the AI sometimes paired the wrong issues. I added a validation layer so it can't invent a match.
  • Free hosting: the free server sleeps and loses its data on restart. I added a "waking up the server" banner, a one-click sample inspection, and support for persistent storage.
  • Hinglish voice notes: mixed Hindi-English speech needed a prompt hint to transcribe well.

Accomplishments that I'm proud of

  • The full flow works live, from recording to sign-off to verdict to a verifiable report.
  • A landlord can sign in seconds, with nothing to install.
  • The stamp-style verdict UI makes a legal-feeling document easy to read at a glance.

What I learned

  • How to get structured, reliable output from a vision model.
  • How to design for two parties who don't trust each other.
  • How to ship a real product inside free-tier limits.

What's next for Wapas

  • Phone OTP login and permanent storage: a database and cloud storage for videos.
  • Razorpay checkout for the ₹149 move-out pack.
  • City-wise repair rates from real local quotes. Today's rate card uses sample values.
  • A Hindi interface and a one-tap refund demand letter.
  • A dashboard for PG owners at ₹15 per bed per month.

Built With

Share this project:

Updates

Submission history