SMS-based health tips and early-warning tool for public health in West Africa. Built with Flask, Africa's Talking API, and vanilla JS.
github.com
## Live Demo
🚀 **Live Frontend:**
alpharianosei2005-maker.git…
⚙️ **Backend API:** `
nkwa-alert.onrender.com`
*Note: The backend is hosted on Render's free tier. If the application hasn't been used recently, the server may take 20–30 seconds to wake up on your first request.*
# Nkwa Alert
SMS-based health tips and early-warning tool. Built as a portfolio project
demonstrating low-cost, accessible technology for public health in West
Africa — recipients need only a basic phone that can receive SMS, no app
or smartphone required.
"Nkwa" is Twi for **life**.
## Why this exists
Ties into the RISE (Reindolf Institute of Smart Empowerment) vision:
accessible health tech for underserved communities. Tips are written in
the style of WHO and Ghana Health Service public guidance, so the content
itself is credible, not just the delivery mechanism.
## Stack
- **Frontend:** vanilla HTML/CSS/JS, no build step — hosts free on GitHub Pages
- **Backend:** Flask (Python) — hosts free on Render or Railway
- **SMS:** Africa's Talking sandbox API (free, delivers to whitelisted test numbers)
## Project structure
```
nkwa-alert/
├── backend/
│ ├── app.py Flask API: contacts, tips, send
│ ├── tips_seed.json 15 curated WHO/GHS-style tips
│ ├── requirements.txt
│ └── .env.example
└── frontend/
├── index.html
├── style.css
└── script.js
```
## 1. Run the backend locally
```bash
cd backend
python3 -m venv venv && source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
```
Get sandbox credentials (free, ~2 minutes):
1. Sign up at
account.africastalking.com
2. Open the **Sandbox** app (created automatically)
3. Copy the **API key** into `.env` as `AT_API_KEY`
4. Add your own phone number under **Sandbox → Simulator → Phone Numbers**
so you can actually receive a test SMS — sandbox only delivers to
numbers you've explici …