South Africa's top 10 most valuable data categories — one interactive dashboard with an AI analyst built in
# Libo Insights
> South Africa's critical public data — ten topics, live scrapers, province-aware dashboards, and precinct-level crime drill-down.
Formerly **SA Insight Hub**. The UI is a Next.js app (`apps/web`) with a Precision Ops light theme.
---
## What It Does
Libo Insights pulls real South African public data across 10 topics, caches it as JSON, and visualises it in interactive dashboards. Crime and Property support **province → city/metro → suburb/precinct** drill-down with Leaflet maps and clickable charts.
| # | Topic | Primary source | Cadence |
|---|-------|----------------|---------|
| 1 | Crime | SAPS quarterly Excel | Quarterly |
| 2 | Property | FNB Barometer · Lightstone press data | Monthly |
| 3 | Bank fraud | SABRIC annual report | Annual |
| 4 | Employment | Stats SA QLFS (PDF) | Quarterly |
| 5 | Energy | Eskom load-shedding status | Real-time |
| 6 | Finance | SARB MPC · Stats SA CPI | Monthly |
| 7 | Health | SANAC / NDOH DHIS2 | Quarterly |
| 8 | Education | DBE NSC / gov.za | Annual |
| 9 | Forex | Live FX API | Real-time |
| 10 | Water | DWS weekly dam levels | Weekly |
Full publisher list (FNB, PayProp, BankservAfrica, NICD, etc.) is in **DATA_SOURCES.md**.
---
## Quick Start
### Next.js dashboard
```bash
git clone
github.com
cd sa_insghts_hub
# Python scrapers (optional — app works from committed data/*.json)
pip install -r requirements.txt
python3 run_scrapers.py
# Web app
cd apps/web
npm install
cp .env.example .env.local # optional; maps use OpenStreetMap by default
npm run dev
```
Open **
http://localhost:3000** — marketing home at `/`, dashboards at `/dashboard/crime`, etc.
`npm run dev` syncs `data/*.json` into `apps/web/data` automatically (`predev` hook).
### Deploy to Vercel
One Vercel project serves **both** the marketing landing page (`/`) and all dashboard routes (`/dashboard/*`).
1. Import
github.com in the Vercel dashboard.
2. Set **Root Directory* …