WACourse is a WhatsApp-native course delivery platform for trainers, coaches, and educators across Africa and emerging markets.
# WACourse 🟢
### WhatsApp-Scale Course Delivery Platform
**Deliver training to an entire country — one WhatsApp message at a time.**
---
## What Is This?
WACourse is a production-ready platform that lets a single trainer deliver structured, AI-powered courses to **1,000,000+ learners** via WhatsApp — with zero app downloads required.
Built for emerging markets (Nigeria-first), it works on any smartphone, any data plan, and supports English, Pidgin, Hausa, Yoruba, and Igbo.
---
## Architecture at a Glance
```
WhatsApp Cloud API → Nginx → FastAPI → Redis Queue → Celery Workers
↓
PostgreSQL (learner state)
↓
Claude AI (feedback, FAQ, re-engagement)
↓
Paystack/Flutterwave (payments)
↓
Cloudflare R2 (media + certificates)
```
---
## Feature List
| Category | Feature |
|---|---|
| **Delivery** | Drip-fed lessons, auto-scheduling, media (image/audio/video/PDF) |
| **Engagement** | MCQ quizzes, AI quiz feedback, re-engagement sequences |
| **AI** | 24/7 FAQ bot, lesson generator, quiz generator, Pidgin translator |
| **Payments** | Paystack (NGN), Flutterwave (Pan-Africa), Stripe (International) |
| **Scale** | 1M+ learners, Redis queuing, batched broadcasts, rate limiting |
| **Certificates** | Auto-generated PDF certificates delivered via WhatsApp |
| **Analytics** | Enrollment trends, drop-off heatmap, quiz accuracy, revenue |
| **Compliance** | NDPR-aligned, opt-in/opt-out, WhatsApp policy compliant |
---
## Project Structure
```
wacourse/
├── backend/
│ ├── app/
│ │ ├── main.py # FastAPI application entry point
│ │ ├── config.py # Environment configuration
│ │ ├── database.py # Async PostgreSQL connection
│ │ ├── models/ # SQLAlchemy ORM models
│ │ │ └── __init__.py # All models: Learner, Course, Lesson,
│ │ │ # Enrollment, Payment, LearnerEvent...
│ │ ├── routers/
│ │ │ ├── webhook.py # WhatsApp message receiver
│ │ │ ├── courses.p …