Payment infrastructure · SRE · Builder

Sunday Ogunleye

I keep card payments up for one of Africa's largest banks, and I build whole products of my own.

5+ yrs card payments0 customer-impact upgradesPress ` for the switch console
Try it: spin the terminal, tap the card
Scroll to tap in
01 · Tap

It starts with one tap.

A card meets a terminal in Lagos. In a fraction of a second the request crosses a switch, an HSM, a card scheme and the customer's bank. My job is making that trip work every time.

02 · Authorize

Approved in a blink.

ISO 8583 on the wire, the PIN translated inside a Thales HSM, routing through Postilion. I started on the FEP desk reading these messages field by field. Now I lead the upgrades underneath them.

03 · Scale
6

networks behind one switch: Visa, Mastercard, Verve, NIBSS, Interswitch and UPSL. Then multiply that one tap by every terminal on every one of them.

04 · Change

One upgrade. Zero downtime.

I led the bank's Postilion switch from 5.5 to 5.6 and upgraded the production and DR HSMs while authorizations kept flowing. Zero customer impact.

Click the fleet to roll out an upgrade
05 · Observe

Every transaction, watched.

My Node.js exporters read straight from Postilion into Prometheus and Grafana: success rate, TPS, declines and switch health on eight live dashboards, with alerts before customers call.

ApprovedCustomer declineSystem decline
06 · Borders

Three countries, one platform.

Switch and card-management rollouts for the group's subsidiaries in Sierra Leone, Zambia and Cameroon, all migrated without downtime.

Drag to spin the globe
07 · You

That receipt is your visit, authorized on the terminal: your time, your timezone and your screen, read by this page alone. Nothing leaves it.

Postilion · switch
Lagos · HQ
Sierra Leone
Cameroon
Zambia
08 · Work

What I've shipped.

Every change went out the way changes should: tested, proven on DR, then production. Open one to deploy it.

  • 01Observability · Access BankPayment observability platform8live payment KPIs on one screen
    Test
    DR
    Production
    ✓ Deployed

    Custom Node.js exporters read payment metrics directly from Postilion's SQL Server; Prometheus scrapes them with Windows Exporter host metrics. Grafana shows success rate, TPS, volume, customer and system declines, switch health, routing and availability across Postilion, BankWorld and the gateways, with alerts that fire before complaints arrive.

    • Prometheus
    • Grafana
    • Node.js
    • SQL Server
    • Windows Exporter
  • 02Platform upgrade · Core card switchPostilion 5.5 → 5.6 in production0customer-impacting incidents
    Test
    DR
    Production
    ✓ Deployed

    Led the plan, the production change, cutover and post-upgrade validation with the OEM vendor, while ATM, POS, eCommerce and digital traffic kept flowing. Zero minutes of unplanned downtime.

    • Postilion
    • Change management
    • SQL Server
    • Rollback planning
  • 03Security · Production and DRThales HSM firmware upgrades0interruptions to PIN processing
    Drain A
    Drain B
    Validate
    ✓ Deployed

    Upgraded the load-balanced HSMs one unit at a time so one always carried PIN translation and key operations, then validated Active-Active between production and DR. Two sites, no pause in authorizations.

    • Thales HSM
    • Load balancing
    • Disaster recovery
    • PCI DSS
  • 04Implementation · New card schemeAfrigoCard launch and fintech onboarding2fintechs live: Moniepoint, Hydrogen
    Integrate
    Certify
    Go live
    ✓ Live

    Implemented Afrigo Card, the domestic card scheme, on the bank's switch, onboarded Moniepoint and Hydrogen, and streamlined testing and scheme certification for the card products that followed.

    • Postilion
    • ISO 8583
    • FEP routing
    • Certification
  • 05Expansion · Group subsidiariesPayment infrastructure in three countries3countries, zero-downtime migrations
    Sierra Leone
    Cameroon
    Zambia
    ✓ Live

    Supported switch and card-management deployments for subsidiaries in markets with different schemes and regulators. Postilion and CMS migrations went out with zero downtime.

    • Postilion
    • Card management
    • Migrations
  • 06Product · Soid TechnologiesGeofenced staff attendance portal74 msp95 at 2,000 clock-ins, target 500 ms
    Spec run
    Stress run
    Release
    ✓ 2,000 / 2,000

    A phone app and admin portal where every clock-in is signed with a passkey and checked against PostGIS geofences and shift windows. Anything odd is flagged for a supervisor, never silently rejected. 0 of 2,000 clock-ins lost, about 90 a second of capacity (13× the spec), and 303 automated tests.

    A stress run recorded only 458 of 2,000. I traced it to a connection-pool deadlock, fixed it and pinned it with a regression test. The rerun recorded every one.

    • TypeScript
    • Fastify
    • Next.js
    • PostgreSQL + PostGIS
    • Redis
    • WebAuthn
    • Playwright
  • 07Platform · Soid TechnologiesSoidPay payments platform32/38security review findings closed
    Review
    Fix
    Retest
    ✓ Pre-launch

    A NestJS API and worker where an append-only double-entry ledger is the source of truth: 91 endpoints across 20 modules, 36 migrations, webhooks re-verified with Flutterwave, daily reconciliation, KYC tiers, an AML case workflow and a two-person-approval admin portal. npm audit went from 13 to 0, backed by 176 tests on real PostgreSQL and RabbitMQ.

    • NestJS
    • PostgreSQL
    • RabbitMQ
    • Redis
    • WhatsApp Cloud API
    • Flutterwave
    • Kubernetes

Also shipped

13 panelsPayment Observability PlatformAn open-source version of my bank work: exporter, simulator, SLO and error-budget rules. Code ↗
In progressAccessNotifyTells customers about failed transactions before they call the contact centre.
6 networksIncident root causeRCA on critical incidents with Visa, Mastercard, Verve, NIBSS and Interswitch.
ISO 8583FEP supportLive card failures solved through message analysis and switch diagnostics.
PCI DSSComplianceRemediation across the bank's payment infrastructure.
v1.8SoidPay websiteReact and TypeScript on Cloudflare, with SEO, structured data and security headers.
09 · Now building

Your wallet. Inside WhatsApp.

That's SoidPay, the platform I'm building at Soid Technologies Limited. Wallets, transfers and bills happen in a WhatsApp chat, on a ledger where debits always equal credits. Pick someone, then swipe the card through the reader.

Send to
Amount
Wallet card · ₦20,000 You ₦5,000 to Ada · pending
Swipe to pay
Ledger · posted entriesΣ 0 = Σ 0
No entries yet.
0payments
–fastest swipe
–last round trip
10 · Skills

What's in the toolbox.

Six buckets, 48 tools. Grab a bubble and throw it somewhere else, give the buckets a shake, or tap one to see where I've used it.

    11 · Experience

    Every change, on the record.

    12 · Play

    Want to break something?

    Three things to try before you go. They all run in your browser, and nothing you type is sent anywhere.

    • Switch consoleAsk the switch about me, authorize a payment, or try sudo.
    • IncidentTransactions are failing across the fleet. Restore terminals before the SLA breaks.
    • Clock in from homeDrag your pin out of the office geofence and see what the attendance portal does.
    Sunday Ogunleye13 · Contact

    Let's work together.

    A payment platform that has to stay up, an upgrade nobody wants to own, monitoring that warns you first, or a product that needs building end to end. Send a note.

    fidalex09@gmail.com
    LinkedIn ↗ GitHub ↗ CV ↓ +234 816 534 9401 · Lagos, WAT