Skip to content
//project manifest

 

Nine systems, AI infrastructure first. Team work is labelled. Metrics are counted from source — endpoints, tools, tables — not lines of code.

01Full product suite — 6 repositoriesFlagship

GrapeShop

WhatsApp-native AI commerce platform

Role / Sole engineerPeriod / Jan 2026 — Aug 2026Domain / Agentic commerce · LLM tooling

A commerce platform for merchants who already sell on WhatsApp. Sellers build a catalogue once; an AI assistant then handles customer conversations end to end — quoting live prices, assembling carts, taking bookings and issuing payment links, all inside the seller's own permissions.

92HTTP endpoints
42NestJS modules
20MCP tools
3Databases
2Auth boundaries

Backend

NestJS 11TypeScriptPostgreSQL ×3Drizzle ORMRedisBullMQSocket.IO

AI

Anthropic ClaudeGoogle GeminiMCP client + serverpgvector / HNSWPrompt caching

Clients

Next.js 16React 19Expo 54React NativeNativeWindTanStack Query

Platform

Baileys (WhatsApp)FlutterwaveTurborepoJest

The problem

Millions of merchants run their entire business in WhatsApp DMs — no catalogue, no order history, no payment trail. Existing storefront tools ask them to abandon the channel their customers already use.

The approach

Rather than replace WhatsApp, I instrumented it. A modular NestJS monolith spans three isolated PostgreSQL databases joined by logical UUID references, so no distributed transactions are needed and each domain stays extractable. An MCP tool layer sits between the language model and the commerce API, giving the agent a typed, permission-scoped surface instead of raw database access.

Engineering highlights

01

An agent that actually transacts

Exposed the commerce API to the LLM through a Model Context Protocol server with two distinct trust boundaries — the seller's own RS256 JWT for merchant actions, a narrower service token for anonymous buyers. The agent's authority is exactly the caller's authority.

02

Retrieval-augmented conversation memory

Long-term memory on pgvector with HNSW cosine indexing, blending semantic recall with recency so the assistant remembers a returning customer's preferences without replaying an entire chat history into the context window.

03

Prompt caching without cross-tenant leakage

Anthropic prompt caching applied to shared instruction blocks only, with per-tenant data deliberately excluded from the cached prefix.

04

Never talk over a human

A vendor-response guard checks conversation state both before generation and again immediately before send, so the bot goes silent the moment the seller starts typing.

05

Two-tier AI billing

Per-feature token accounting alongside conversation credits metered against WhatsApp's own 24-hour session window, so cost is attributed to the unit the merchant actually understands.

06

Production WhatsApp on the Web protocol

Built on Baileys with QR and pairing-code flows, JSONB session persistence guarded by write-lock serialisation, exponential reconnect backoff, and message deduplication — the difference between a demo and a session that survives a week.

02AI infrastructure

GrapeShop MCP Server

Agent tool layer with two auth boundaries

Role / Sole engineerPeriod / 2026Domain / LLM tooling · Model Context Protocol

A dual-endpoint Streamable HTTP MCP server that turns a REST commerce API into a tool surface a language model can safely operate — with authorisation, not trust, as the boundary.

20Tools
14Merchant tools
6Buyer tools
7Resources
2Auth boundaries

Runtime

Express 5TypeScriptNode.js

Protocol

MCP SDKStreamable HTTPZod 4

Security

jose / RS256Service tokensOrigin allow-list
03NestJS AI platform — team

Oré

Voice-first AI creative companion

Role / Backend engineer · Residence SpacesPeriod / May 2026 — Jun 2026Domain / Consumer AI · prompt systems

A NestJS companion for writers, filmmakers and designers: streamed conversations, a stage-aware XML prompt library, Whisper voice notes, and Paystack billing. I owned monetisation and media upload, and contributed the directive layer of the prompt compiler.

22NestJS modules
113HTTP routes
4SSE endpoints
34XML prompts
56Spec files

Runtime

NestJS 11TypeORMPostgreSQLSSE

AI

OpenAIGeminiWhisper STTXML prompt library

Billing

PaystackSubscriptionsWebhooks

Media

CloudinaryCloudflare R2
04Turborepo monorepo — team

Residence

Property management platform

Role / Backend engineer · Residence SpacesPeriod / Mar 2026Domain / Proptech · identity & tenancy

A landlord–tenant platform: property listing, identity and income verification, tenancy lifecycle, rent reminders and WhatsApp notifications. I was the primary author of the core domain services on a three-person team.

107Core API routes
22Prisma models
40Migrations
3Apps
8Admin API routes

Backend

Express 5Prisma 6PostgreSQLRedisZod

Frontend

Next.js 16React 19TanStack QueryTailwind CSS v4

Identity

Dojah (NIN)Mono (income)Twilio WhatsApp

Platform

TurborepoCloudflare R2Paystack
05Express backend — 3-engineer team

ChainPaye

WhatsApp-native payments bot

Role / Backend engineer · CapitaDAppsPeriod / Nov 2025 — Jan 2026Domain / Messaging · money movement

A WhatsApp Business bot for wallets, P2P transfers, deposits, withdrawals and currency conversion. I built the platform foundation: Meta Flow encryption, the fiat stablecoin integration, and the transfer / deposit / withdrawal / conversion flows.

21Flow endpoints
44HTTP routes
8Collections
14Flow services
3Core engineers

Runtime

Express 5TypeScriptMongoDBRedisAgenda

Messaging

WhatsApp Cloud APIMeta FlowsHMAC-SHA256

Fiat

ToronetPuppeteer receipts

Auth

argon2 PINFlow token sessions
06Full-stack platform — Turborepo monorepo

Optimus Gate

Merchant subscription billing & checkout

Role / Sole engineerPeriod / Jun 2026 — Jul 2026Domain / Billing · recurring charges

A subscription billing platform that lets merchants sell recurring plans through a hosted checkout. One platform-level processor account, an internal double-entry ledger for per-merchant attribution, and reconciliation that assumes webhooks will fail.

38Endpoints
21Tables
11Modules
9Migrations

Backend

NestJS 11PostgreSQLDrizzle ORMRedisBullMQ@nestjs/schedule

Frontend

Next.js 16React 19Server ActionsTailwind CSS v4TanStack Query

Payments

NombaTokenised cardsHMAC-SHA256 webhooks

Platform

TurborepopnpmGitHub Actions
07GraphQL backend

Century

Crypto P2P trading & escrow API

Role / Sole engineerPeriod / Oct 2025Domain / Cryptocurrency exchange

A GraphQL API for a cryptocurrency trading platform: multi-currency wallets, a peer-to-peer escrow state machine, fiat rails, and real on-chain Bitcoin settlement built from primitives.

40GraphQL operations
14Prisma models
14Scheduled job types
17Email templates

API

Apollo Server 5Nexus (code-first)GraphQLTypeScript

Data

PostgreSQLPrismaRedis

Jobs

AgendaNodemailer

Settlement

bitcore-libBlockstream APIFlutterwave
08Frontend SPA in a 12-app monorepo

Rebirth Odyssey

Education platform & conversion funnel

Role / Frontend engineerPeriod / 2025 — 2026Domain / Edtech · conversion engineering

The public marketing site and conversion surface for a Web3 education company. Beyond marketing pages it contains two complete config-driven flows — a paid enrolment funnel with crypto, bank transfer and scholarship paths, and a careers portal with shareable per-role URLs.

12Apps in monorepo
2Config-driven funnels
38Components
8Hiring roles

Core

React 19TypeScript 5.8Vite 7React Router 7

UI

Tailwind CSS v4DaisyUIMotion 12Swiperlucide-react

Platform

Turborepo 2.5pnpm 10Vercel

Analytics

Vercel AnalyticsPostHogGA4
09Web3 dApp

Sentinel Finance

Decentralised commerce & NFT-backed lending

Role / DeveloperPeriod / Earlier workDomain / DeFi · smart contracts
Sentinel Finance interface

A decentralised world of commerce where you can buy, sell, take loans against assets, insure your NFTs, earn and source anything safely — removing counterparty scam risk from the transaction entirely.

On-chainSettlement
EVMTarget chain

Contracts

SolidityEVM

Frontend

JavaScriptHTMLCSS

Several of these systems are private client or commercial repositories, so source access is available on request during a technical conversation.

Request a walkthrough