Every screen from first install to money paid — the customer's phone and the worker's phone side by side, moving together. Where only one side is involved, the other dims so you can see who's actually holding the product at each moment.
Use Play to watch it run, or arrow keys to step.
You see every line item and tap Agree. After that it cannot change unless you approve it.
Government ID and police verification. You get a door code to confirm it's really them.
Report within 48 hours and we send someone again at no cost to you.
| Visit charge | ₹100 |
| Tap / mixer repair | ₹300–500 |
| Pipe leak | ₹400–700 |
| Parts | at cost + bill |
Product invariants, not policies. Each exists because breaking it re-opens a specific fear on one side of the ledger.
Labour lines are prefilled from the provider's own published rate card. He can't type an arbitrary number — the rates he set in onboarding become the ceiling he agreed to publicly.
Exceeding his own published rate is flagged to the customer in amber. Not blocked — sometimes a job really is harder — but never silent.
Agreement is timestamped and immutable. Both sides see the same locked number and time. This artefact resolves every later dispute in seconds.
Scope growth is a change request, never an edit. Photo and reason required, old total shown against new, and declining leaves the original agreement fully intact and payable.
Parts above ₹200 need a bill photo before the job closes. Parts are where nearly every services dispute actually lives — labour rarely is.
Payment reliability is visible to providers before they accept. Reputation must run both ways, or one side is defenceless on a cash job.
Payout speed is a published promise with a penalty. Same day by 9pm, ₹100 to him if you're late. Providers value this above commission.
Never charge the customer a platform fee on top of the provider's price. The moment going around you is cheaper, every other protection stops mattering.
Deliberately not corporate blue — every app in this category uses trust-blue, which is why none are memorable. A palette per emotional register: warm for welcome, indigo for security, deep teal for money. Users learn the language without reading a word.
Inter for UI, Bricolage Grotesque for display only, Noto Sans Malayalam for Malayalam. Body starts at 16px, not 14. All three free and self-hostable.
Real photographs for service categories in production. Line icons are ambiguous to someone not reading the label.
Never say "confirmed" before a human accepts. One broken promise here poisons every message you send afterwards.
48px minimum touch targets — not 44. Cheap digitisers are imprecise and hands are often wet or dirty.
Never expose a raw phone number. Masked calling from day one — retrofitting after numbers are swapped is pointless.
Every string through i18n from commit one, even with one language live. Retrofitting this is brutal.
No dark patterns. Pre-ticked consent and buried cancellation are unethical with low-literacy users and non-compliant under the DPDP Act.
Offline-tolerant forms. A half-filled request must survive a dropped connection — the most common failure on Indian networks.
No background location tracking. Ping only while en route, every 20–30s. Battery, trust and privacy law all agree.