Case study
Sociale
One platform for every cooperative, with each one's data isolated by the database, and LLM agents for board reporting, risk analysis and member support in production.
- Role
- Lead Developer
- Team
- Led the team and the architecture
- Dates
- Mar 2025 – May 2026
- Stack
- TypeScript
- Node.js
- PostgreSQL
- React
- React Native
- LLM agents
- KERI
- Aiken
The problem
Most savings groups and credit unions (SACCOs, chamas, stokvels and ROSCAs) run on WhatsApp groups, shared spreadsheets and paper ledgers. Loan risk is judged by committee intuition, audit trails are fragile, and a member's financial history is stuck inside one institution.
The software that exists doesn't fit how cooperatives work: shared governance, contribution cycles, loan committees, and members who move between institutions. And because every cooperative's records are financial data, no cooperative can ever see another's.
What I built
- A Node.js REST API on PostgreSQL with row-level security, giving every cooperative fully isolated data without per-tenant infrastructure.
- A React admin dashboard for cooperative administrators and a React Native app for members.
- An integrated AI credit-scoring engine for loan risk assessment.
- LLM agents for board reporting and risk analysis, and a multilingual assistant that helps members with contributions, loans and account activity.
- Financial Passports, built on KERI, that turn a member's verified contribution and repayment history into credentials they can take between institutions.
- An on-chain cooperative treasury on Cardano with multi-signature withdrawals, for cooperatives that opt in.
How it works
Key decisions
Row-level security over a database per tenant
Instead ofA separate database for each cooperative
A database per tenant isolates data well, but migrations, backups and monitoring grow with every cooperative. PostgreSQL row-level security, forced on every tenant-scoped table with the tenant set per transaction, enforces isolation in the database, where an application bug can't bypass it. A new cooperative adds almost no operational cost.
Portable credentials that don't depend on a chain
Instead ofAnchoring member credentials to Cardano
Financial Passports use KERI credentials, which can be verified from the issuer's key event log without querying any blockchain. A member's record stays valid whatever chain the treasury uses, and members never need a wallet.
The chain is opt-in
Instead ofPutting every cooperative's treasury on-chain
Cooperatives that want independently verifiable treasury oversight use Aiken validators on Cardano, which enforce contribution rules and multi-signature withdrawals. The rest use the platform's off-chain ledger, so no one takes on blockchain complexity just to get better record-keeping.
Results
Sociale brought agentic AI workflows into production financial software for cooperatives, on an architecture where the database keeps each cooperative's data separate and a new cooperative needs no new infrastructure.
Screenshots
