Africa's First Hybrid Social Network
# ConnectLite
**Connecting everyone, even without internet.**
ConnectLite is an offline-first social & dating platform for Africa. Smartphone
users get a full web app; feature-phone users get the same social ecosystem —
dating, friendship, communities — via **USSD** and **SMS**, powered by
Africa's Talking.
> Built for the *Dating and Social Networks Solutions Hackathon*.
## Status: all 11 build phases implemented
| Phase | Scope | Status |
|---|---|---|
| 1 | Foundation — config, custom User, JWT auth, base frontend | ✅ |
| 2 | Profiles + configurable compatibility-scoring matching engine | ✅ |
| 3 | Africa's Talking SMS + idempotent webhooks, notifications, communities, messaging | ✅ |
| 4 | USSD flow (registration, discovery, matches, communities, profile, airtime, help) | ✅ |
| 5 | Airtime gifting + referral/community rewards, abuse prevention | ✅ |
| 6 | Voice — demo-mode verification (live AT call flow deliberately unimplemented, see below) | ✅ |
| 7 | Frontend — all 14 screens, design system, mobile-first responsive layout | ✅ |
| 8 | Integration pass — found & fixed a webhook-namespacing bug, Docker networking fixes | ✅ |
| 9 | QA — static/consistency checks only, see honesty note below | ⚠️ partial |
| 10 | Documentation | ✅ |
| 11 | Demo script | ✅ |
**⚠️ Honesty note:** this codebase was built in a sandboxed environment with
no network access — no `pip install`, `npm install`, Docker daemon, or live
database were available. Every file was hand-written and syntax-checked, but
**none of it has been executed**. Treat your first `pytest` run and
`docker compose up` as real QA. See `docs/development.md` for the bugs
already caught by static review and what's still unverified.
## Tech stack
- **Backend:** Python, Django, Django REST Framework, PostgreSQL, JWT (SimpleJWT)
- **Frontend:** React, Vite, Tailwind CSS
- **External services:** Africa's Talking (SMS, USSD, Airtime, Voice)
- **Infra:** Docker Compose (dev), nginx-served production frontend build …