Logo Lanfrica

TatiShayo/chamavault

Domain:

socioeconomicnatural language processing

Record type:

software
Creator:
Tat
Host:
Kenya chama group savings management — replaces Excel and WhatsApp # ChamaVault **Group-savings ("chama" / SACCO) management for Kenyan investment groups.** ChamaVault gives a chama's officers one place to record member contributions, issue and track loans, log fines and expenses, run resolutions/votes, distribute year-end dividends, and generate PDF statements and meeting minutes — bilingual (English / Kiswahili). > Chamas move real money. ChamaVault treats contribution, loan, and dividend logic > as money-movement code: monetary math is done in **integer cents**, payout and > interest use a **single canonical formula**, and the arithmetic is locked by tests. --- ## Stack | Layer | Choice | |-----------|----------------------------------------------------| | Framework | Next.js 16 (App Router, React 19, Turbopack) | | Language | TypeScript (strict) | | Data | Supabase (Postgres + Auth + Storage), RLS-scoped | | UI | Tailwind CSS v4, Base UI, lucide-react | | Validation| Zod on money-mutation inputs | | PDF | @react-pdf/renderer (statements, minutes, reports) | | Messaging | Resend (email), Africa's Talking (SMS) | | AI | Anthropic API (draft meeting minutes) | | Tests | Vitest | ## Getting started ```bash npm install cp .env.example .env.local # then fill in the values below npm run dev # localhost ``` ### Required environment variables | Variable | Purpose | |-----------------------------------|------------------------------------------| | `NEXT_PUBLIC_SUPABASE_URL` | Supabase project URL | | `NEXT_PUBLIC_SUPABASE_ANON_KEY` | Supabase anon key (browser) | | `SUPABASE_SERVICE_ROLE_KEY` | Server-only admin key (never exposed) | | `NEXT_PUBLIC_SITE_URL` | Cano …