BimaOS is an open-architecture, Insurance-as-a-Service (IaaS) infrastructure platform designed for emerging African markets. It bridges the informal economy with formal insurance providers by utilizing offline-first mobile channels, artificial intelligence for claim evaluation, and a low-cost blockchain ledger for trustless, immediate payouts.
# BimaOS — Insurance for Every African
Open insurance infrastructure for Africa. Get covered via USSD by dialing **`*384*11400#`** on any phone (no internet required). File active claims or query status via SMS short code **`21565`**. AI-powered underwriting and claims, blockchain trust ledger, M-Pesa / Paystack payouts.
Built for the Africa's Talking Insurtech Hackathon 2025.
## Core Features
- **USSD & SMS** — Buy insurance and file claims via USSD (no smartphone required)
- **AI Claims Processing** — Image analysis with confidence scoring, fraud detection
- **Blockchain Ledger** — Immutable claim/policy records on Ethereum Sepolia Smart Contract
- **M-Pesa Payouts** — Instant claim settlements via mobile money
- **Insurer Dashboard** — Claims management, analytics, USSD simulator
## Tech Stack
| Layer | Technology |
|-------|-----------|
| Framework | Next.js 16 (Turbopack) |
| Language | TypeScript |
| Styling | Tailwind CSS v4, shadcn/ui |
| Database | Supabase (PostgreSQL) |
| Blockchain | Ethereum Sepolia (ethers.js, Solidity contract) |
| AI | Computer vision analysis (simulated) |
| USSD/SMS | Africa's Talking API |
| Mobile Money | M-Pesa API |
| PWA | Service worker + manifest |
## Getting Started
```bash
npm install
cp .env.example .env.local # add your API keys
npm run dev
```
Open
localhost.
## Environment Variables
```env
# Supabase
NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
# Africa's Talking
AT_API_KEY=
AT_USERNAME=
AT_USSD_CODE=*384*11400#
AT_SMS_SHORTCODE=21565
# Paystack Configuration
PAYSTACK_PUBLIC_KEY=
PAYSTACK_SECRET_KEY=
# Ethereum Sepolia Testnet
BLOCKCHAIN_RPC_URL=
ethereum-sepolia-rpc.public…
METAMASK_WALLET_ADDRESS=
BIMA_OS_REGISTRY_ADDRESS=
OPERATOR_PRIVATE_KEY=
# M-Pesa (optional — simulated fallback)
MPESA_CONSUMER_KEY=
MPESA_CONSUMER_SECRET=
MPESA_PASSKEY=
```
All services include simulated fallbacks so the app runs without external APIs.
## Project Structure
```
src/
├── ap …