Skip to content
Founder & CEO · Meertech Ltd

Production AI, energy & fintech systems
built for Africa

I'm an AI systems engineer and founder building backend infrastructure for African markets — off-grid energy monitoring, multi-tenant payment rails, and applied-AI systems with real safety gates.

AI Systems EngineerSoftware ArchitectBackend EngineerApplied AIAI Safety & Security
Sani Mahmud Madobi — AI Systems Engineer & Founder

Sani Mahmud Madobi

Abuja, Nigeria

TypeScriptPythonFastAPINext.jsPostgreSQLSupabaseReact Native · ExpoAnthropic ClaudePostGISRedis · CeleryDockerGitHub ActionsSolanaPrometheus · GrafanaSQLAlchemyPrismaRLS · pgTAPWebSockets

Engineering footprint

90+

Original repositories

5

Engineering domains

52

Public on GitHub

TS · PY

Primary languages

Language distribution across all original repositories

TypeScript 60.5%
Python 26.5%
HTML 7.2%
JavaScript 3.4%
PostgreSQL 1.3%
Other 1.1%
Energy accessFintech & paymentsApplied AIAgritechDeveloper tooling
The founder

Building intelligent infrastructure for the real world.

Mahmud Madobi is the founder and CEO of Meertech Ltd, an Abuja-based engineering company building production software for energy access, fintech, and applied AI across African markets. He works at the systems layer: multi-tenant payment platforms with double-entry ledgers, off-grid energy monitoring and vending infrastructure, and autonomous AI-agent tooling. His portfolio spans renewable-energy ERP, utility-payment apps shipped to production, and government-scale agricultural intelligence — built fast with modern AI-assisted workflows, but engineered with the discipline of someone who has to keep them running. A computer science graduate with Huawei HCIA-AI certification and ALX Software Engineering training, he is part of a wave of African deep-tech founders building globally competitive infrastructure from the continent up.

Energy-access infrastructure

The largest cluster of the portfolio: ERP and monitoring for mini-grid deployments, STS prepaid-token vending for Nigerian meters, and edge telemetry pipelines — the full stack of rural electrification, from hardware to payment rails.

Mini-grid ERPSTS token vendingVictron · TBB telemetryField verification

Fintech & payment rails

Multi-tenant payment platforms engineered at the systems layer: atomic double-entry ledgers that refuse unbalanced journals, idempotent replay-safe vend flows, and BaaS / virtual-account integrations behind pluggable, circuit-breaking provider abstractions.

Double-entry ledgerIdempotent vend/fundSchema-per-tenantBaaS integrations

Applied AI & agents

AI treated as a component inside a deterministic envelope: CNN crop-disease detection, RAG and Claude/Gemini assistants, government-scale agronomic intelligence, and autonomous on-chain agents — every model decision validated by hard, post-hoc safety gates.

CNN inferenceRAG · MCPLLM safety gatesAutonomous agents

Offline-first & secure-by-construction

Software for intermittent power and unreliable networks: local-first SQLite with exponential-backoff sync, deny-by-default RLS, append-only audit logs, and SHA-256 evidence integrity — systems where invalid states are unrepresentable.

Local-first syncDeny-by-default RLSAppend-only auditEvidence integrity
Selected work

Systems, shipped

Production systems shipped fast, then hardened — energy infrastructure, fintech rails, and applied AI built for African markets. Each entry is backed by real code: migrations, CI pipelines, tests, and deployment configs.

Applied Private

Document Intelligence Platform

Document verification & generation backend with deterministic extraction, rule-based validation, and MCP agent integration

  • 9 Alembic database migrations (auth, document processing, audit append-only triggers, validation runs, MCP connections)
  • 50 test files with pytest covering auth, extraction (PDF/DOCX/image), validation rules, approval concurrency, RBAC, rate limiting, SSRF guards, virus scan, worker tasks, generation rendering, readiness checks
  • 3-image Docker build pipeline (API, worker, web) with BuildKit cache + health checks; production-safety assertions on boot (secret validation, CORS, proxy settings)
Rule-based document validation engine (invoices, receipts, letters) against external reference records — not LLM-based, fully deterministic
Python 3.12FastAPICeleryRedisPostgreSQL

Substantial system

AppliedCode

Agentic Wallets for AI Agents

Autonomous AI agent wallets on Solana — programmatic key management, LLM-powered decisions, real on-chain trades.

  • Multi-stage Dockerfile with non-root user and health checks
  • docker-compose.yml with volume persistence, health checks, service scaling (profiles: headless, demo, llm)
  • Automated test-suite.js with 7+ on-chain integration tests (wallet, balances, transfers, memos, enumeration)
Anthropic Claude API (claude-haiku-4-5-20251001) as production decision engine
Node.js >=18 (ESM)@solana/web3.js 1.98.0@solana/spl-token 0.4.9Anthropic Claude APIJupiter DEX API v6

Substantial system

Applied Private

Jigawa Agri-AI

Real-time GIS intelligence platform for government-scale agricultural command, security, and decision support across Nigerian state farms.

  • 4-job GitHub Actions CI with typed typecheck, unit+e2e tests, multi-stage Docker build, and SSH deploy with Prisma migration recovery
  • 13 migrations with rollback.sql and phased authorization shadow-testing (authz-shadow.test.ts) + gate/rollout verification scripts
  • Multi-tenant per-organization realtime event bus (EventEmitter, Redis-ready); in-process for single-instance, adapter pattern supports scaling
Anthropic Claude SDK integration for streaming chat with farm context injection
TypeScriptNext.js 15React 18PostgreSQL + PostGISPrisma 5

Substantial system

Energy Private

Offgrid Remote Portal (ORP)

Supabase-powered ERP for renewable-energy operations and off-grid mini-grid deployments

  • 66 sequential Supabase migrations with RLS hardening (0001–0070), 90+ policies (deny-by-default), audit.audit_log partitioned monthly via pg_partman
  • 9 GitHub Actions workflows with multi-stage CI/CD: api-v2 Cloud Run deploy (min 1, max 10 instances), web build → Vercel, db migrations with pgTAP test suite, post-deploy verify (RBAC gates, §10 phase tracking), Android build
  • API-v2 Express server (Cloud Run): 6 domain routers (tasks, admin, auth, projects, requests, documents), JWT verification via JWKS, request-scoped Supabase clients, Zod schema validation, pino structured logging with request_id, rate limiting, CORS, Helmet security headers
Claude RAG + assistants (Anthropic API integration in api-v2)
TypeScriptReact 18ViteRedux ToolkitMaterial UI v5

Substantial system

Energy Private

SalCollect — Field Verification Platform

Mobile-first field data capture for solar installation claim verification in rural electrification programs.

  • Multi-section form autosave + draft persistence
  • Append-only audit log on every mutating operation (AUDIT_ACTIONS.CREATE/UPDATE/DELETE tracked per user/role/IP)
  • Evidence SHA-256 integrity verification + hierarchical file storage per developer/site/module
TypeScriptNext.js 16React 19Node.jsPrisma 6

Substantial system

AppliedCode

MaizeGuardAI

CNN-powered maize crop disease detection for African smallholder farmers

  • CNN architecture defined in maize_fudma_model.json with 2 Conv2D blocks + MaxPooling + Flatten + Dense layers
  • Frontend dependency on openai and Gemini API integration for chat assistance
  • Modular React component structure (ImageUpload, DetectionResult, ChatInterface, DiseaseLibrary, FAQ, Resources, Blog)
CNN-based image classification (Keras Sequential model)
Python 3.8+FastAPITensorFlow 2.4.1KerasReact 18.3

Shipped product

Applied Private

ExportFlow AI

AI-powered pricing, compliance, and market intelligence for African agricultural exporters.

  • Deterministic pricing engine isolated as pure function, fully unit-tested (5 test cases in calculator.test.ts), and mirrored server-side to prevent tampering.
  • Rate-limited Claude calls (30/hour for smart-fill and pricing intel, 20/hour for doc extraction) with structured-output schema validation (Zod) and graceful fallbacks when ANTHROPIC_API_KEY is unset.
  • Multi-tenant RBAC enforced server-side via firestore.rules (5 roles with granular document-level permissions), not just UI gates.
Claude Opus 4.6 (server-side via Cloud Functions)
TypeScriptReact 18ViteReact Router v6Firebase (Auth, Firestore, Cloud Functions, Storage)

Shipped product

DeveloperCode

ClearMind

AI-powered offline-first productivity app with enterprise project management, built in React 19 + Firebase

  • 17+ lazy-loaded view components with code splitting per app.tsx
  • IndexedDB schema with 17 stores (projects, tasks, notes, habits, goals, milestones, daily logs, rants, events, daily mapper, applications, iris conversations, learning resources)
  • Centralized IndexedDB-Firestore collection mapping (canonical source in db.ts) ensuring sync consistency
Google Gemini AI for task/goal/project generation and command parsing
TypeScriptReact 19Vite 6.2Firebase 12.7 (Auth + Firestore)Google Gemini AI API

Shipped product

Energy Private

RanaWallet

Multi-tenant utility-payment platform: offline-first mobile app + production FastAPI backend for energy vending across African rural & urban markets

  • Schema-per-tenant multi-tenancy with shared Postgres + schema_translate_map for zero-copy isolation
  • Double-entry ledger with `post_journal` atomic write path (refuses unbalanced journals); chart of accounts enforces Decimal precision throughout
  • Idempotent vend & fund endpoints via Idempotency-Key header + deterministic reference generation (no replay-able double-charges)
Expo 54 / React Native 0.81 / React 19FastAPI (async, Python 3.12) / SQLAlchemy 2PostgreSQL 17Redis 7Next.js (operator web app)

Shipped product

Energy Private

Mini-Grid Monitoring & Management Platform

Real-time dashboard and control system for off-grid solar installations with multi-provider support

  • Dual-provider data aggregation: Victron MQTT (Venus) and TBB NOVA (HMAC-SHA256 authenticated HTTP) with pluggable provider types in frontend data models
  • Production authentication layer: session token generation with 24h expiry and in-memory revocation in Express server; multi-key VRM credential storage capped at 3 tokens
  • Rate-limited TBB integration: enforces 2 requests per 3 seconds with exponential backoff, HMAC signature generation, and comprehensive error handling (401, 403, 404, 422, 429, 500)
Node.js 18/20Express 5.1.0TypeScript 5.7React 18.3Vite 5.4

Shipped product

Fintech Private

ALOHA Wallet

Prepaid electricity token vending & revenue collection for Nigerian energy markets

  • 30+ migrations from 2025-10 to 2026-05 showing active hardening (RLS lockdown, double-entry ledger foundation, BVN encryption pgcrypto, audit immutability)
  • 5-phase CI workflow: SPA lint/typecheck/test, Edge Functions deno check, migrations destructive-SQL gate, bundle size <1MB gzipped, smoke probes hourly
  • Strict CSP headers in Vercel config + HSTS + X-Frame-Options DENY
TypeScript 5React 18.3Vite 7Tailwind CSS 3shadcn/ui + Radix UI

Shipped product

Platforms Private

Nigeria Music Analytics System (NMAS)

Chartmetric-first data platform tracking 131 Nigerian artists across 15+ platforms for government economic reporting

  • Alembic migration schema with 11+ tables (artists, tracks, extraction_jobs, job_runs, normalized_metric_observations, raw_api_payloads, methodology_entries, coverage_gaps, limitation_flags, etc.), unique constraints on Chartmetric entity IDs, foreign keys, JSON columns for flexible metadata
  • Stateless job orchestration with ExtractionJob (cadence + period + variable scope) and JobRun (status + checkpoint + attempt tracking) supporting pause/resume/retry
  • Chartmetric client with configurable auth (static token OR refresh flow), request throttle (1s default), exponential backoff (2s × 3 retries), verification of 26+ endpoints as of 2026-04-04
Python 3.13FastAPI 0.111SQLModel / SQLAlchemy 2.0Alembic (migrations)Chartmetric API (primary data source)

Shipped product

Energy Private

Solar Minigrid Ecosystem Calculator

Professional engineering tools for solar minigrid design and energy storage system sizing

  • Two specialized calculator modules with full input validation and error handling
  • Capacitor integration (iOS/Android support via package.json dependencies @capacitor/core@^7.4.3, @capacitor/ios@^7.4.3, @capacitor/android@^7.4.3)
  • Professional UI with Cards, Tabs, Tooltips, and formatted result display from shadcn/ui
TypeScriptReact 18Viteshadcn-uiTailwind CSS

Functional app

Energy Private

PowerToken Gateway

STS electricity prepayment token vending UI for Nigerian power meters

  • Lovable scaffolding signature (lovable-tagger plugin in devDependencies; Lovable-generated HTML meta tags)
  • Form validation on meter number, amount, and email fields
  • Axios integration for RESTful API calls to backend payment endpoints
TypeScriptReact 18ViteReact RouterTailwind CSS

Functional app

EnergyCode

Victron MQTT→Prometheus Monitoring Pipeline

Drop-in Docker telemetry exporter for Victron GX energy systems — replaces Node-RED with direct MQTT-to-Prometheus pipeline.

  • Multi-service Docker Compose with host networking for local device access
  • 5-second Prometheus scrape interval for real-time energy monitoring
  • Prometheus datasource auto-provisioned in Grafana via YAML
Python 3.9Docker Compose v2PrometheusGrafanapaho-mqtt

Functional app

Fintech Private

Biz Track

Offline-first mobile sales & inventory for Nigerian SMEs with SQLite + Supabase cloud sync

  • Local-first SQLite with 5-table schema + indexes and foreign keys (businesses ↔ products, sales ↔ sale_items)
  • Sync queue processor with exponential backoff retry logic (1s → 2s → 4s → 8s → 16s, capped 30s, max 5 attempts)
  • Background sync via TaskManager every 15 min + manual foreground sync trigger
React Native 0.81Expo 54TypeScriptReact 19Zustand

Functional app

The stack

Engineering stack

The stack I actually ship with — TypeScript and Python heavy, Postgres/Supabase for data, FastAPI and Express for services, React Native and Expo for offline-first mobile, Docker and GitHub Actions for delivery.

AI Agents & LLM Systems

Anthropic Claude API integrationGoogle Gemini / Generative AI integrationRAG (retrieval-augmented generation)MCP (Model Context Protocol) connection registryStructured-output JSON prompting with Zod schema validationLLM safety gates & hard constraints (max-tx caps, balance floors)Dual decision engines (rule-based FSM + LLM)Dual AI provider routing with fallbackPer-function LLM rate limitingAgent-driven development workflows (.claude/agents)

AI & Machine Learning

CNN image classification (Keras Sequential, Conv2D/MaxPooling/Dense)TensorFlow 2.x / Keras model training & inferenceMulticlass leaf-disease detectionDeterministic rule-based intelligence enginesAgronomic ruleset modeling (crop/soil/water/irrigation matrix)Heuristic weighted-composite risk scoringscikit-learn / numpy / Pillow preprocessingFastAPI model-serving for inference

Backend Engineering

FastAPI (async, Python 3.12/3.13)Express.js / Node.js APIsSQLAlchemy 2 / SQLModelCelery + Redis task queuesAsync service layers (asyncio.to_thread for blocking I/O)Schema-per-tenant multi-tenancyOrg-scoped multi-tenancy with Principal contextPluggable provider registries with circuit breakersRequest-scoped database clients

API Engineering

RESTful API design with OpenAPI docsIdempotency-Key endpoints (deterministic references)JWT verification via JWKSJWT refresh rotation with jti denylistZod / Pydantic schema validationRate limiting & request throttlingWebhook idempotency (UNIQUE constraint guards)CORS / Helmet security headersCorrelation IDs & request tracing

Data & Databases

PostgreSQL 15/17 schema designPostGIS spatial datapgvector (HNSW vector search)Double-entry ledger design (atomic balanced journals)Alembic / Prisma / Drizzle migrationsRow-level partitioning (pg_partman, monthly audit logs)pg_cron scheduled jobsRedis 7 cachingInfluxDB time-series storageSQLite (offline-first, local-first schemas)SECURITY DEFINER RPCs with pinned search_path

Cloud & DevOps / CI-CD

GitHub Actions multi-stage CI/CDDocker multi-stage builds (non-root, BuildKit cache)Docker Compose multi-service orchestrationGoogle Cloud Run (autoscaling 1-10 instances)Vercel deploymentsDigitalOcean deployment (SCP / single-droplet)Nginx reverse proxyPM2 process managementExpo EAS builds (APK/AAB, OTA)pgTAP / pytest / Vitest CI gatesHealth checks & post-deploy verification gates

Security & Reliability

RLS deny-by-default policy hardening (90+ policies)RBAC (multi-role permission matrices, server-enforced)AES-256-GCM encryptionFernet (AES-128-CBC + HMAC-SHA256) at-rest encryptionpgcrypto field encryption (BVN)PBKDF2 key derivation (210k iterations, OWASP)CSP / HSTS / X-Frame-Options security headersSSRF protection (loopback/private-range blocking)TOTP MFA + account lockoutSHA-256 evidence integrity verificationAppend-only audit loggingDocumented security audits & remediation

Observability

Prometheus metricsGrafana dashboardsLoki log aggregationStructured logging (Pino, structlog JSON, Winston)Request-scoped log context (request_id)Health & readiness probes (DB/Redis/storage)Correlation IDs for request tracingMQTT-to-Prometheus telemetry pipelines

Mobile Engineering (Expo / React Native)

Expo 54 / React Native 0.81 / React 19Offline-first architecture (SQLite + sync queue)Exponential-backoff cloud sync (AsyncStorage queue)Background sync via TaskManagerBiometric auth & expo-secure-storeExpo Router (typed routes)NativeWind (Tailwind on native)Capacitor (iOS/Android wrapping)EAS build & OTA deliveryPush notifications (expo-notifications)

Frontend Systems

React 18/19 + TypeScriptVite build toolingRedux Toolkit / Zustand stateTanStack Query (server state)Tailwind CSS + shadcn/ui + Radix UIMaterial UI / CoreUI admin panelsRecharts data visualizationPWA (service workers, IndexedDB, offline-first)Code-splitting & lazy-loaded viewsDark mode themingExcel/CSV import-export (XLSX)

Payments & Fintech

Flutterwave payment integrationBellBank BaaS virtual accounts (creation -> webhook -> credit)Paystack subscriptions + webhooksSTS prepaid electricity token vendingBuyPower urban electricity vendingWisdom STS client (RSA-1024 PKCS#1v1.5 auth)Idempotent vend & fund flows (replay-safe)Double-entry ledger & wallet RPCs (safe_credit/safe_debit/refund)Verified-settlement guardsLive FX integration (Fixer cross-rate computation)

Energy & IoT Systems

Victron VRM / Venus MQTT integrationTBB NOVA HMAC-SHA256 authenticated HTTP clientMQTT telemetry ingestion (paho-mqtt, MQTT.js)Rate-limited device APIs (exponential backoff)Bearer-token device telemetry ingestionSolar minigrid sizing (ILR, design factor, ESS capacity)Renewable-energy ERP / off-grid operationsTime-series energy metrics (SOC, solar yield, AC load)kWh unit conversion & metric labeling

Realtime & Geospatial Systems

Supabase Realtime (presence, typing, activity channels)Postgres logical replication (RLS-scoped rows)WebSocket push (Primus, ws)Server-Sent Events (SSE) syncPostGIS spatial queriesLeaflet + Deck.gl mappingEsri / MODIS tile layersGeo-tagged evidence capture & zone-based accessPer-organization realtime event bus (EventEmitter, Redis-ready)
The path

Experience & credentials

From backend and AI engineering roles into founding Meertech — building production software for energy access, fintech, and applied AI across Nigeria and the wider African market.

2024 – Present

Founder & CEO / Principal Engineer

Meertech Ltd · Abuja, Nigeria

  • Founded and lead an engineering company shipping production software across energy access, fintech, and applied AI for Nigerian and African markets — owning architecture, delivery, and security across a portfolio of full-stack and backend systems (TypeScript and Python dominant; Postgres/Supabase, FastAPI, Next.js, Expo/React Native).
  • Delivered a full Firebase-to-Supabase production migration for a renewable-energy operations ERP, moving live identity, organizations, projects, and RBAC data onto Postgres and validating it with live smoke tests against real user accounts; hardened access with deny-by-default RLS policies and SECURITY DEFINER helpers pinned to a trusted search_path.
  • Built a multi-tenant utility-payment platform (FastAPI, schema-per-tenant Postgres, offline-first Expo mobile app) with an atomic double-entry ledger that refuses unbalanced journals and idempotent vend/fund endpoints that prevent replay double-charges; integrated real electricity-vending and payment providers behind a pluggable, circuit-breaking provider abstraction.
  • Engineered a real-time mini-grid monitoring platform that unifies multiple hardware telemetry sources (Victron MQTT and an HMAC-SHA256-authenticated HTTP provider) into a single React dashboard with WebSocket push, rate-limited integration, and exponential backoff.
  • Architected a government-scale agricultural GIS intelligence platform (Next.js, PostGIS, Prisma) with multi-tenant RBAC, rule-based agronomic decision support, device-telemetry ingestion, and Anthropic Claude integration with a Google Generative AI fallback.
  • Built a deterministic document-intelligence backend (FastAPI, Celery, Postgres) with fail-closed extraction, append-only audit trails, org-scoped multi-tenancy, encrypted-at-rest agent credentials, and SSRF-guarded external connections — covered by a 47-file pytest suite.
  • Engineered autonomous AI-agent wallets on Solana with a dual decision engine (rule-based FSM plus Anthropic Claude), AES-256-GCM at-rest encryption, PBKDF2 key derivation at OWASP-recommended iterations, hard post-LLM safety gates, and on-chain event sourcing via the Solana Memo Program.
  • Shipped offline-first mobile products for African SMEs and energy markets using local SQLite with exponential-backoff cloud sync, background sync scheduling, and secure on-device token/biometric storage — designed to work fully without connectivity and reconcile on reconnect.
  • Established engineering discipline across the portfolio: GitHub Actions CI/CD (type-check, lint, unit and end-to-end tests, Docker image builds, deploy gates), sequential database migrations with test suites (pgTAP, Alembic, Prisma), structured logging, and production security hardening (HSTS, CSP, X-Frame-Options DENY, webhook idempotency, JWT rotation).

Aug 2024 – Feb 2025

Backend / AI Engineer (Graduate Trainee)

MIDS Dynamics Ltd · Nigeria

  • Built and optimized backend APIs powering AI-driven applications, implementing services with FastAPI and Django.
  • Designed and trained machine-learning models for predictive analytics, covering data preprocessing, feature engineering, and model training.
  • Integrated ML models into application backends and deployed them to cloud infrastructure.
  • Collaborated cross-functionally to take AI features from prototype to deployed product.

Jul 2023 – Jan 2024

Software Development Intern

Blue Sapphire Hub · Kano, Nigeria

  • Debugged, maintained, and improved existing software in response to customer and department requests.
  • Wrote and maintained accurate technical documentation for the codebase and deployments.
  • Identified potential technical liabilities and risks, recommending fixes to resolve them.
  • Performed pre- and post-deployment maintenance and routine software backups.

Education

BSc, Computer Science & Information Technology

Federal University Dutsin-Ma

2024

Software Engineering Programme

ALX Africa

2025

Java Programming Certification

Aptech Computer Education

2022

Certifications

HCIA-AI

Huawei

2024

HCIA-Datacom

Huawei

2023

Java Programming

Aptech

2022
Research

Research interests

Where I point my attention — the problems worth building deep systems around.

Applied AI for Emerging Markets

Building AI systems for African contexts where the constraints are real: government-scale agricultural intelligence (Jigawa Agri-AI), CNN crop-disease detection for smallholder farmers (MaizeGuardAI), and Chartmetric-driven music-industry analytics delivered to a national statistics agency (NMAS). The interesting problems aren't the models — they're data sparsity, low-connectivity delivery, and making machine output auditable by domain experts who don't trust black boxes.

Energy-Access & Off-Grid Infrastructure

The largest cluster of my work: ERP and monitoring for mini-grid deployments (Offgrid Remote Portal, Mini-Grid Monitoring Platform), STS prepaid-token vending for Nigerian meters (PowerToken, ALOHA, RanaWallet), and direct Victron MQTT-to-Prometheus telemetry at the edge. I'm interested in the full stack of rural electrification — from hardware telemetry and provider integrations to the payment rails and field-verification workflows that make mini-grids financially viable.

Offline-First & Edge-Resilient Systems

Designing software that assumes the network will fail. Local-first SQLite with sync queues and exponential-backoff retry (Biz Track, RanaWallet), IndexedDB plus PWA service workers with last-write-wins reconciliation (ClearMind), and lean edge exporters that run on-device. The research question I keep returning to: how do you give a user strong correctness guarantees — no double-charges, no lost writes — on a connection that drops every few minutes?

Agentic AI with Hard Safety Envelopes

Autonomous and tool-using agents constrained by deterministic guardrails. Agentic Wallets pairs an Anthropic Claude decision engine with a rule-based FSM fallback and post-LLM safety gates (per-transaction caps, balance floors enforced after the model responds). Document Intelligence exposes an MCP connection registry with SSRF-guarded, encrypted-credential probes. The principle: the model proposes, deterministic code disposes — agents never get unchecked authority over money or irreversible actions.

Trustworthy & Secure-by-Construction Backends

Treating correctness, auditability, and least-privilege as architectural primitives. Deny-by-default Postgres RLS with SECURITY DEFINER helpers (ORP), append-only audit logs and SHA-256 evidence integrity (SalCollect, Document Intelligence), fail-closed extraction that never reports partial work as success, and double-entry ledgers that reject unbalanced journals. I'm drawn to systems where invalid states are unrepresentable rather than caught after the fact.

Trustworthy & safe AI

Safe and trustworthy AI is a working principle in how I build, not a research claim I'd inflate. When I put an LLM in a production path, I wrap it in a deterministic envelope: hard safety gates that validate model output after the fact (transaction caps and balance floors enforced post-decision in Agentic Wallets), rule-based fallbacks for when the API is unavailable, and structured-output schemas with graceful degradation when keys are unset. I keep AI out of the system of record — ledgers, RBAC, and audit trails stay deterministic and auditable. My interest is making model-driven systems honest: legible to the domain experts who rely on them, and incapable of unchecked irreversible action.

Engineering philosophy
I build for the environments most software ignores: intermittent power, unreliable networks, and users who can't afford a system that loses their money or their data. That constraint shapes every decision. State lives locally first and reconciles when it can — SQLite queues with exponential backoff in Biz Track and RanaWallet, IndexedDB-to-cloud sync in ClearMind. Money paths are made un-replayable before they're made fast: double-entry ledgers that refuse unbalanced journals, idempotency keys, RPC-only wallet writes. Security is deny-by-default, not bolted on — RLS policies, fail-closed extraction, SSRF guards. I treat AI as a component inside a deterministic envelope, never the source of truth: hard safety gates validate every model decision after the fact. I ship fast with AI scaffolding, then earn altitude with migrations, tests, and CI gates.
Abuja, Nigeria · Available worldwide

Let's build something that matters.

Open to serious collaboration on AI, energy, and infrastructure systems. Based in Abuja, Nigeria — building for global standards from the ground up.