# African Gig-Economy & Digital Wallet Risk — Audit
A DataDNA dataset challenge: 50,000 wallet transactions across 4 African markets (Nigeria,
Kenya, Ghana, South Africa), 2023–2024. This repo runs a Spark join over the raw data, then
audits the challenge brief's headline fraud/risk claims against the actual numbers — and
finds none of them hold up. See `skills/AUDIT_PROCESS.md` for the
full finding and every command used to get there.
**Live result:** Gig Wallet Risk Audit (one-page visualization, private — ask the owner for access)
---
## 0. Prerequisites
Install these before cloning:
| Tool | Why | Check with |
|---|---|---|
| Claude Code CLI | Runs the whole workflow conversationally | `claude --version` |
| Python 3.11+ with pip | Data analysis (pandas/numpy), the Spark join (PySpark) | `python3 --version` |
| Java (OpenJDK 17+) | PySpark needs a JVM | `java -version` |
| Node.js 18+ | Color-palette validation when building visualizations | `node --version` |
| `jq` | Validates hook/settings JSON | `jq --version` |
| Google Chrome | Headless-rendered for visualization QA screenshots and PNG/JPEG export | any recent version |
macOS ships `say` (terminal voice) and `sips` (image conversion) already — nothing to install there.
## 1. Clone and install Python dependencies
```bash
git clone
cd "DataDNA Dataset Challenge - 2026-08 - African Gig-Economy and Digital Wallet Risk"
pip install -r requirements.txt
```
`requirements.txt` also documents the non-pip tools above (Java, Node, jq, Chrome) — nothing
in this project was pip-installed beyond what's pinned there.
## 2. Open Claude Code in this folder
```bash
claude
```
A `SessionStart` hook (`.claude/hooks/session_greeting.sh`) fires automatically: it speaks a
greeting out loud (macOS `say`) and prints a 9-option menu of available visualizations. Wait
for it, then reply with a number or describe what you want — Claude won't build anything
before you choose.
`CLAUDE.md` at the repo root (a copy of `skill …