Building an AI agent that works in a demo is easy. Building one that handles edge cases, recovers from failures, and maintains state across sessions is not. Lessons from shipping LangGraph.js agent workflows across a cooperative finance platform and a WhatsApp-native farm operations system.
Standard credit scoring models fail for thin-file borrowers with no bureau history. How we built an interpretable AI credit scoring system for cooperative finance using domain-specific features, gradient boosting, and LLM-generated explanations: where the committee can always see why.
Most products assume the interface is a screen. In much of sub-Saharan Africa, the interface that reaches the most people is WhatsApp. What it means architecturally to build AI-native products with WhatsApp as the primary surface: not a notification channel, but the actual product.
Most key rotation schemes have a silent vulnerability: a compromised key can authorise its own replacement. KERI's pre-rotation mechanism closes that window by committing to the next key set before it's ever needed.
Keys get compromised. Devices get lost. Organisations restructure. KERI treats key lifecycle as a first-class design concern: not an edge case to be handled after the fact.
Decentralised identity systems replaced central authorities with blockchains: but that just moved the dependency, not eliminated it. KERI asks a more precise question: what is the minimum infrastructure required to establish cryptographic trust?
The account model makes smart contract correctness hard to reason about: not because developers are careless, but because the execution environment was designed for flexibility, not auditability. eUTxO changes the shape of the problem.
Application-layer tenant isolation works until a missing WHERE clause leaks data across customers. PostgreSQL's Row-Level Security moves the isolation boundary into the database itself: where it can't be bypassed by a tired developer at 2am.