About me

I'm a Full Stack Developer with 5+ years building enterprise web and mobile applications — C#/.NET, Node.js/NestJS and Go on the backend, React on the front, React Native, Flutter and native Swift on mobile, Postgres underneath. Based in Lagos, Nigeria.

Most of that work has been in fintech, banking and professional networking platforms: real-time messaging, AI moderation pipelines, field-level encryption and approval-gated workflows — the kind of features where being wrong is expensive. Alongside it I build infrastructure of my own: a webhook normaliser, a reconciliation service, a compliance decision engine and an embeddable dispute system, each published with the architecture decisions behind it.

More recently I've been building for the Nigerian market directly — Backhaul, freight tracking for road logistics, Grid, electricity accountability for households disputing a bill, and Vitals, a primary health record that lives on the clinic's tablet and the patient's phone and merges two copies edited while neither could see the other, without losing a fact. All three are cross-platform from one codebase and drop into Kotlin and Swift where the platform makes you: background location that keeps recording when the network goes, on-device OCR, a proof of delivery that can be signed and sealed at a market gate with no signal at all. And two that are native Swift outright, because the platform is the point: Tender, a naira note identifier for blind and low-vision users, where the accessibility layer is not a feature of the interface but the interface itself; and Snag, a move-in condition report sealed with a key in the Secure Enclave, so that two years later the argument about the cracked tile has something to argue with.

I write things down before I build them, and I try to make failure modes explicit — a service that says it does not know is more useful than one that guesses confidently. That extends to what isn't finished: each project says where it stopped and what would actually close it, because a blocker that needs a device or a translator is not the same as one that needs an afternoon.

What i'm doing

  • design icon

    Data & infrastructure

    Postgres and SQL Server schemas, Docker, and CI pipelines that run the tests before anything ships.

  • Web development icon

    Web development

    React, Next.js and TypeScript front ends — accessible, responsive, and fast on the networks people actually have.

  • mobile app icon

    Mobile apps

    Cross-platform apps in React Native and Flutter, dropping to Kotlin and Swift where the platform makes you — background location, foreground services, on-device OCR. One rules package, shared by every face.

  • camera icon

    Backend Development

    Go, .NET and Django services on Postgres — payment infrastructure, reconciliation and compliance, designed around what happens when things fail.

Evidence

  • 4,500/sec events sustained through StatusHub at p99 27.9 ms, measured under load test
  • 1,244 tests across 72 Jest suites, 70% coverage, on the platform I architected at Eucharovia Ventures
  • 40% faster page loads at Ausome Bee via Redis caching, lazy loading and code splitting
  • 30% better data-fetching efficiency by redesigning API endpoints around what the frontend needed
  • 0 hard-coded strings across Backhaul's 27 screens in four languages — enforced by a build gate, not by review

Decisions worth reading

Every project I build carries architecture decision records — not just what was chosen, but what was rejected and why. Six of them:

  • Persist, then acknowledge

    Raw webhook bytes hit Postgres before anything tries to parse them. A payload we cannot understand is still a payload we did not lose — and the provider will not send it twice.

    StatusHub · ADR-001 →
  • Ingest gaps route to suspect, not to reversal

    If our own ingest had a gap over the window, a missing credit proves nothing. The transaction goes to a human instead of triggering an automated reversal that would take real money back.

    ReconSync · ADR-0004 →
  • Division is not in the rule grammar

    Not restricted — absent. A compliance rule cannot produce a float, because 100% reproducibility and floating point do not sit together in a system that has to explain a decision made six months ago.

    ComplyLayer · D6 →
  • A phone number names a party and never answers a question

    A shipper opening a trip has phone numbers, not user IDs. The obvious fix — look the number up — is an endpoint that turns the Nigerian mobile range into a list of who is running freight. So there is no lookup: opening a trip resolves the number as a side effect and answers identically whether it found an account or created one.

    Backhaul · ADR-0016 →
  • The device seals a delivery; the server countersigns

    The draft used to live on the server, which is durable and unreachable — so a driver at a market gate with no signal could photograph the goods, take a signature and have nothing. The phone seals it now, and the server's timestamp becomes a second fact rather than a permission. Unpaid drivers are what the alternative costs.

    Backhaul · ADR-0018 →
  • Unobserved time is unknown, and coverage is always reported

    Supply hours are inferred from a phone that is sometimes off, elsewhere or killed by the OEM. Interpolating across the gaps produces a clean chart and a confident average — and fabricates evidence, inside a document whose whole purpose is to be believed. So unknown is a first-class state and the gaps are shown.

    Grid · ADR-0006 →

Resume

Download CV (PDF)

Education

  1. ISO/IEC 27001:2022 · Information Security Management Systems (ISMS) Foundation

    Aug 2026 · SandBP

    The standard behind the controls I build into products: access control, audit logging, data classification and evidence retention.

  2. B.Sc. Industrial Chemistry · Ekiti State University, Ado Ekiti

    Nov 2017 — Jan 2024

    A science degree that trained the habit the code work runs on: state your method, record what you observed, and do not report a result you cannot reproduce.

  3. Professional Frontend Development · Tech4Dev / Coursera & Meta

    Jan — Aug 2023

    Meta’s frontend programme: React in depth, component architecture, state management and accessible UI patterns.

  4. Professional Google UX Certificate · Coursera & Google

    Jan — Aug 2022

    User research, wireframing and prototyping — the reason the interfaces I build get tested against real tasks rather than assumed to work.

Experience

  1. Senior Full Stack Developer · Eucharovia Ventures LLC

    Nov 2025 — Present

    Architected a NestJS/TypeScript backend of 15+ service modules — feeds, forums, ephemeral chat rooms, mentorship, referrals and real-time WebSocket messaging — behind Azure PostgreSQL with field-level PII encryption and role-based guards. Built an AI moderation pipeline on BullMQ/Redis that evaluates content against full conversation context, held aggregated feeds to sub-second responses with Redis caching, and shipped both the React/Vite web app and the React Native (Expo Router) mobile app to feature parity. 1,244 tests across 72 Jest suites, 70% coverage. Also built DocuIntelli AI: document lifecycle management with OCR, AI question-answering over stored documents, and per-user data isolation.

  2. Senior Software Developer (Contract) · Ausome Bee Inc

    Feb 2025 — Dec 2025

    Full-stack delivery in React and Node.js/Express over MongoDB and PostgreSQL. Cut page load times 40% through Redis caching, lazy loading and code splitting, and improved data-fetching efficiency 30% by redesigning API endpoints around what the frontend actually needed. Jest and Cypress coverage on both sides, JWT authentication, and WCAG accessibility compliance.

  3. Software Developer · Cynergy Solutions Limited

    Nov 2023 — Mar 2025

    Enterprise backends in C# and ASP.NET Core — scalable APIs and business logic across several client-facing products — with React frontends for the ORASS platform. Implemented approval-gated entity creation, audit trail instrumentation and role-based access control, designed the relational schemas, and wrote the architecture documents, configuration guides and support manuals that shipped alongside.

  4. Frontend Developer · GFA Technologies

    Dec 2023 — Feb 2025

    Responsive cross-platform interfaces in React and Vue.js, integrating new features with the backend team, strengthening platform security with modern encryption, and keeping performance steady through compatibility updates.

  5. Full Stack Developer · Midcel Software Limited

    May 2021 — May 2022

    Responsive, cross-browser applications in HTML, CSS, JavaScript and React, coordinating across design and backend teams through the full product lifecycle.

  6. Open Source Contributor

    2023 — Present

    Hacktoberfest and community projects, plus my own work published with its architecture decision records: four fintech infrastructure services — StatusHub, ReconSync, ComplyLayer, DisputeShield — and two mobile products for the Nigerian market, Backhaul and Grid.

My skills

  • React & Next.js
    95%
  • JavaScript & TypeScript
    92%
  • Node.js / NestJS / Express
    90%
  • C# / ASP.NET Core
    88%
  • PostgreSQL & Prisma
    88%
  • Tailwind, Redux & React Query
    88%
  • Microservices & API Design
    86%
  • React Native & Expo
    88%
  • Flutter & Dart
    80%
  • Native modules — Kotlin & Swift
    72%
  • Testing (Jest / Cypress / Playwright)
    85%
  • Redis, BullMQ & WebSockets
    82%
  • Docker & CI/CD
    82%
  • Go
    80%
  • Python & Django
    78%
  • AWS & Azure
    78%
  • Information Security (ISO 27001 ISMS)
    75%

Portfolio

Blog

Contact

Contact Form