App for Informal workers in Zambia and Africa region
# WorkLink
**Trusted work. Secure pay. A permanent digital work identity for Africa's informal workforce.**
WorkLink is a marketplace connecting Zambia's informal workers — bricklayers, electricians, cleaners, drivers, tailors — with households and businesses, through verified identities, AI-powered matching, escrow payments via mobile money, and a Digital Work Passport that workers own forever.
This repository contains the **Phase 1 codebase** from PRD v1.0:
| PRD feature | Where it lives |
|---|---|
| Phone + OTP registration (< 1 min) | `app/lib/screens/phone_auth_screen.dart` |
| Worker profiles, skills, availability, GPS | `supabase/migrations/001_schema.sql`, worker screens |
| AI Profile Generator (Claude API) | `supabase/functions/generate-profile/` |
| Job posting | `app/lib/screens/employer_screens.dart` |
| AI Matching Engine (9 ranking factors) | `match_workers()` in `supabase/migrations/003_functions.sql` |
| One-click hiring | `JobService.inviteWorker` |
| Secure in-app chat (realtime) | `app/lib/screens/chat_screen.dart` |
| Escrow payments (MTN MoMo / Airtel / Zamtel / bank) | `escrow_transactions` + `PaymentService` |
| Dual-confirmation completion | `job_applications` completion flags |
| Ratings → Trust Score | `on_rating_insert()` trigger |
| Digital Work Passport (auto-stamped on payout) | `on_escrow_released()` trigger |
| Verification levels L1–L5 + badges | `verification_level` enum, `badges` tables |
| Zambia Data Protection Act posture | Row Level Security in `002_rls.sql` |
## Architecture
```
┌────────────────────────┐
│ Flutter app (app/) │ Android first, iOS Phase 2
│ screens → services → │
└───────────┬────────────┘
│ supabase_flutter (Auth, PostgREST, Realtime, Storage)
┌───────────▼────────────┐
│ Supabase │
│ Postgres + PostGIS │ ← schema, RLS, matching RPC, escrow triggers
│ Edge Functions (Deno) │ ← generate-profile (Claude API)
│ Auth (phone OTP) │
└───────────┬────────────┘
│ webhooks (pro …