Where vetted movers log in, see the leads matched to them with customer details hidden, buy a lead (atomic wallet debit, max 3 buyers), then get the contact info. This is a first look — nothing here is built yet. Question is at the bottom.
Mover enters phone → 6-digit OTP via SMS. Session = their company.
Phone + OTPLeads matched to me I haven't bought. Route, move type, size, date, price.
PII hiddenFull requirement, what it costs, how many seats left (of 3) — name/phone still hidden.
PII hiddenOne tap → wallet debit + seat claimed, atomically. Rejects if sold out / low balance.
unlocks ↓Name, phone, email now shown. Lead moves to "My purchased leads".
PII revealedCurrent balance + history of debits/top-ups (read-only view of the Transactions ledger).
Read-only: cities served, move/shifting types, KYC status, accepting-leads toggle.
The SMS "new lead" alert already exists server-side; portal just deep-links into it.
This fork decides how much we build now. Everything downstream (login screen, what's editable, KYC) hangs off it.
Why I lean here: matches the "vetted network" model — only approved movers buy leads. Smallest first slice, no KYC-intake/anti-abuse UI needed yet. Self-signup can come later as its own flow.
Trade-off: bigger build, and lets unvetted accounts in the door. Better suited once the vetted core is proven and you want to scale acquisition.
mockup.csoul.cloud/as-leads-portal/ · noindex · throwaway design exploration, not the app.