cover photo

PROJECT

Innself -

Vismay ChandraAUTHORACTIVE
Varsha Shubhashri.MCOORDINATORACTIVE
work cover photo
This Report is yet to be approved by a Coordinator.

InnSelf: A Smart On-Demand Home Services Platform with Real-Time Technician Bidding

MARVEL UVCE — Level 3 Project | Vismay V Chandra

šŸ“ŗ Watch the working demo Ā· šŸ’» GitHub repository


1. Problem Statement

Home services today lack pricing transparency — fixed-price platforms leave no room for fair, competitive quotes, and customers often overpay. Matching is also inefficient: customers struggle to find nearby, available technicians quickly, especially in urgent situations, while skilled technicians miss jobs due to limited visibility.

Affects: urban households, working professionals, families with limited time, and local technicians without access to a broader customer base.

2. Target Audience

Urban households Ā· working professionals Ā· families needing quick, reliable service Ā· local technicians seeking visibility and more job opportunities.

3. Impact

  • Better pricing via competitive bidding instead of one fixed number
  • Faster technician matching, less time wasted searching
  • More job opportunities for technicians, beyond word-of-mouth
  • Higher technician earnings — they set their own competitive price

4. Solution Overview

InnSelf is a mobile marketplace connecting homeowners with local service professionals (plumbers, electricians, cleaners, etc.) through real-time bidding. A customer posts a job, qualified nearby technicians bid, and the customer picks the best offer by price, rating, and distance — an auction model that rewards competitive pricing and speed.

5. Scope

Services: Plumbing, Electrical, AC servicing, Carpentry, Cleaning, Appliance repair, Painting, Pest Control, Other. Platform: Android app (Flutter) + Supabase backend + in-app admin console. Geography: Hyperlocal, GPS-radius based — no city hardcoded, launch city not yet chosen. Excluded: large construction/interior design, non-household services, insurance/complex disputes, equipment rental/logistics.

6. What's Been Built

Not a prototype — every item below is working in the shipped app.

Core loop: email/password auth with full password-reset flow Ā· customer/technician profiles with skills & service radius Ā· job posting with photos Ā· live bidding Ā· full status lifecycle (open → accepted → en route → in progress → completed) Ā· two-way reviews Ā· technician earnings wallet.

Trust & safety: government ID verification (PAN/Voter ID/Driving Licence — Aadhaar deliberately excluded, since collecting it needs UIDAI authorisation InnSelf doesn't have, and masking the number alone wouldn't hide it in the uploaded photo) Ā· verified badge Ā· report & block (enforced at the database level, not just hidden client-side) Ā· admin console for KYC, disputes, and reports.

Location: real GPS distance matching within a technician's radius Ā· reverse geocoding with a permission-disclosure dialog before the OS prompt Ā· saved addresses Ā· auto-expiry of stale job posts with one-tap repost.

Coordination: in-app chat Ā· live "on my way" status with ETA Ā· push notifications Ā· a one-time 4-digit completion code (read by the customer, entered by the technician) that a job cannot be marked "done" without.

Operations: cancel/reschedule with a required reason Ā· historical price guidance from real accepted bids Ā· direct rebooking of a trusted technician.

Compliance: privacy policy, terms, account deletion — all live Ā· location disclosure Ā· signed release build ready for Play Console.

7. Demo & Screenshots

Working demo (video): youtube.com/watch?v=Oi5fmY-tomg

Source code: github.com/VismayVChandra/innselfpro

Screenshots (customer app):

Home feedPost a job — with price guidance
Home screenPost job with price guidance
Live job progressCompletion code
Job progress timelineCompletion code screen
In-app chatJob expiry & repost
Chat screenActivity screen with expired jobs
Payment & reviewProfile — with reward points
Payment and review screenProfile screen with points row
Reward points detail
Points balance and history screen

8. Trust & Safety Layer

Enforced server-side, not just in the UI: verification status and reward points are database-guarded so a user cannot self-edit them; blocking is a Row-Level Security rule on the messages table itself, not a client-side filter.

9. Reward Points System

Built beyond the original proposal. Points are earned automatically, server-side, never client-editable:

ActionEarnerPoints
On-time arrivalTechnician+20
Job completedTechnician+30
Prompt payment (24h)Customer+15
Review leftCustomer+10

Spend: 50 points boosts a bid or job to the top of the relevant list, highlighted. Deliberately non-monetary — no cash/discount conversion, since InnSelf takes no commission yet and a cash conversion adds payment-regulation complexity.

10. Technology Stack

LayerTechnology
FrontendFlutter (Android native)
BackendSupabase (Postgres, RLS, Realtime, Storage, Edge Functions)
PaymentsRazorpay
Push notificationsFirebase Cloud Messaging
Legal pagesGitHub Pages

A lean, fully managed stack — no custom server to provision or patch.

11. Competitor Analysis

PlatformPricing modelLimitation
Urban CompanyFixed pricingNo price negotiation
TaskRabbitService-fee basedAdds cost on top of quote
ThumbtackPay-per-leadTechnicians pay just to be seen
HandyStandardised servicesLimited technician choice
InnSelfReal-time biddingTransparent, competitive, hyperlocal

12. System Workflow & Design

Post job → nearby technicians notified & bid → customer compares and accepts → technician goes "on my way" with ETA → live chat → technician starts job → customer reads completion code, technician enters it → job closes → customer pays via Razorpay → both sides review each other.

Real challenges solved: RLS recursion between jobs/bids policies (fixed with SECURITY DEFINER helper functions) Ā· trigger-only state transitions needing one-off backfills for pre-existing rows Ā· Supabase's PKCE deep-link flow for password reset, routed through a hosted page since email clients don't reliably forward raw redirects to custom URL schemes.

13. Revenue Model

Planned: 10–20% commission per completed job.

Amount
Service cost₹1,000
Commission (15%)₹150
Technician receives₹850

Future streams: paid featured listings, subscriptions for professionals, in-app ads, surge pricing.

Current reality: no commission is taken yet — free at launch to build trust and adoption first.

14. Payment System

Razorpay handles in-app payment collection (UPI/card/wallet) once a job is confirmed complete via the one-time code. Not yet built: escrow-style holding and automatic commission-split payout to technicians (see Section 17).

15. Timeline & Cost

Timeline (6–8 weeks): UI/UX + frontend (wk 1-2) → backend/DB (wk 3-4) → bidding system (wk 5-6) → testing (wk 6-7) → deployment (wk 7-8).

Cost: Development ₹0 (self-built) Ā· Play Store ₹3,000 (actual ~₹2,000) Ā· Domain ₹500-1,000 (not yet bought, using free GitHub Pages) Ā· Hosting ₹0 free tier Ā· OTP ₹500-1,000 (avoided — email/password used instead) Ā· Misc ₹1,000. Total: ₹5,000–₹7,000. Monthly: ₹0–₹500.

16. Current Status & Roadmap

Status: Feature-complete and submission-ready — signed release build done, legal pages live, Play Console submission underway.

Roadmap: AdMob advertising Ā· commission/escrow payments Ā· deeper reward system Ā· iOS release.

17. Known Gaps — What's Not Yet Done

Honest gaps versus the original proposal:

  • iOS app — Android only today; Flutter reduces the lift but real iOS-specific work remains (push certs, deep links, device testing).
  • Commission/escrow payments — the biggest gap. Razorpay collects payment, but no commission is deducted and there's no automated technician payout yet. Solvable via Razorpay's Route product (linked accounts + held transfers released on completion), but needs technician bank onboarding and is a real feature, not a small patch.
  • General user management in admin — only KYC/disputes/reports exist, not a full user list with suspend/ban.
  • Subscriptions & surge pricing — correctly still "future," as proposed.
  • Custom domain — not purchased; using free GitHub Pages.

Built differently, by choice: email/password instead of OTP (avoids SMS cost/dependency); non-monetary points-based boosts instead of paid featured listings.

18. Conclusion

InnSelf is a working Android app, not just a proposal — combining real-time bidding, verified trust, live tracking, and secure payments into one product that's already feature-complete for launch. What remains is honestly scoped: full iOS support and the commission/escrow layer the business model depends on.


Vismay V Chandra — MARVEL UVCE, Level 3 Project

UVCE,
K. R Circle,
Bengaluru 01