The server owns the transaction state machine
Clients can request valid actions, but cannot decide that funds were secured, delivery was accepted, or a dispute was resolved. Central ownership keeps every surface aligned.
Product and backend / Current
Peer-to-peer transactions need an agreed record, understandable milestones, identity and payment checks, delivery proof, disputes, notifications, and support intervention without any client becoming the authority over a financial outcome.
I implemented the website, mobile app, API, and operations dashboard from designs supplied by another team. The engineering centres on a controlled escrow state model, provider reconciliation, transaction history, dispute handling, clear consumer-versus-operator boundaries, and consistent contracts across every surface.

Walkthrough
The website's clickable recreation of the app, played from both sides: the buyer creates a lock, the seller accepts, the buyer funds it, delivery starts inspection, then the sale ends in release or a dispute. Recorded on a local build with fictional people and funds.
My part
Decisions
Clients can request valid actions, but cannot decide that funds were secured, delivery was accepted, or a dispute was resolved. Central ownership keeps every surface aligned.
Currency calculations avoid ambiguous floating-point behaviour and derive user-facing totals from the same rules used by transaction processing.
A callback is one signal in the lifecycle. Provider context is compared with internal state before a sensitive change is applied.
Support staff need capabilities consumers should never inherit. Operational actions are isolated, permissioned, and recorded.
Screens
Phone screens






SYSTEM ARCHITECTURE
A modular TypeScript workspace separates public web, mobile, backend, operations, and shared domain contracts.
The backend owns escrow transitions, payment-adjacent decisions, timeout behaviour, and operational intervention; clients render state and request authorised actions.
Financial values use integer-safe handling and repeatable summaries rather than floating-point UI calculations.
Provider adapters isolate external services from core transaction rules.
External callbacks are reconciled with internal state before sensitive outcomes change.
Built with
Links
More work
eventOSA live ticketing and event operations platform covering public discovery, ticket sales, organiser tools, payouts, offline door scanning and a headless API that other websites use to sell tickets.Live in productionNutrifluxA Nigerian-first nutrition mobile app and API combining deterministic health state, structured AI planning, offline-resilient writes, social features, reminders, observability and review-gated safety controls.Pre-launchKilogbede RecordsDesigned and built Kilogbede Records' production platform across the public label site, roster and release storytelling, media infrastructure, events, commerce connections, and a purpose-built operational CMS.Live in production