Logo Lanfrica

Feranmidevelops/vindicate

Domaine:

socioeconomic

Type de record:

software
Créateur:
Fer
Hôte:
Legitimate presence as deterrence — companion booking + document-only debt recovery for Nigeria # Vindicate **Legitimate presence as deterrence.** Someone is with you, and nothing happens *because* they are with you. Two product lines, built thin: - **Accompany** — hourly-rate companion booking for the moments Nigerians already improvise a "follow me" for: bank cash withdrawals, marketplace meetups with strangers, apartment inspections, night transit, unfamiliar areas. Map + card-stack discovery, PIN-handshake session start, live tracking, Paystack collection and payout, SOS. - **Recover** — document-only debt recovery: case intake, evidence vault, tiered demand letters with delivery receipts, and a Magistrate Court small-claims filing pack. No agents, no visits, ever. ## What makes it interesting to build - **Verification is the product.** Independent providers only, so a tiered pipeline (NIN + liveness, BVN match, guarantors, police character certificate) is the load-bearing system, not a checkbox. - **The booking state machine lives in Postgres.** Every transition is a `SECURITY DEFINER` RPC validated against a transitions table; the app never writes `bookings.state`. The valid-transition matrix is data, so the test suite enumerates it. - **Safety features shaped by local infrastructure.** A dead-man's switch that distinguishes "provider in trouble" from "Lagos power cut killed the phone" is a real distributed-systems problem. - **Abuse resistance by schema.** Service categories are a closed enum; there is no free-text "what do you want them to do" field, so confrontational jobs are unrepresentable, not just prohibited. ## Stack Next.js (App Router, TS) · Supabase (Postgres + PostGIS, RLS, RPCs) · Paystack · Vercel ## Docs - v1 build plan — scope, schema, phases, legal checklist - Decision log — why it's built the way it is ## Status Phase 0 in progress: schema, RLS, and state-machine RPC skeleton.