Payments, SWIFT & treasury

SWIFT gpi and ISO 20022, treasury integration, national real-time schemes and merchant collections

Automated SWIFT gpi Universal Confirmation platform (MTUC)

Designer, engineer and reliability ownerLondon Branch · 2026SWIFT gpi · Payments · Production engineering

Challenge

The branch's SWIFT gpi Universal Confirmation flow ran on an undocumented Fiorano ESB integration that had failed, leaving MT103 payments without the MT199 confirmations the gpi rulebook requires and no reliable record of what had already been sent.

Approach

Reverse-engineered the flow from Oracle and message-archive evidence, recovering and analysing 7,932 historical confirmations to derive production rules rather than assumptions. Replaced a legacy query that expanded to roughly 243 million rows (about 31,109x amplification) with auditable deduplicated selection and explicit ambiguity handling, so unresolved identities fail closed. Built an autonomous Python/Oracle service with byte-exact MT199/FIN serialisation, UETR handling, acknowledgement reconciliation, no-resend-without-evidence controls and evidence-gated database writes, staged a 1,713-transaction backfill and productionised the runtime as hardened Windows services.

Technology & domain

  • Python 3.12
  • Oracle / python-oracledb
  • SWIFT gpi · MT199 / MT103 · UETR
  • Finastra SWIFT interface
  • Windows Services / pywin32
  • DPAPI
  • SQLite WAL
  • Idempotent state machine

Outcome

Approximately 2,000 live confirmations delivered with zero SWIFT-interface rejections. Post-go-live reliability engineering across eight production incidents added bounded database timeouts, progress-based watchdogs, snapshot-scoped Oracle reads and recovery tooling, backed by 12 automated regression suites and 45 design and forensics documents.

ISO 20022 CBPR+ migration, London Branch

Project lead, branch sideLondon BranchSWIFT · Payments

Challenge

SWIFT's cross-border migration from legacy MT messages to ISO 20022 MX, while back-office systems at the branch still only accept MT.

Approach

Led the migration end to end: schema mapping, validation, dual-publish reconciliation and a consumer-by-consumer cutover, with operations awareness, training and end-to-end testing. On the SWIFT bureau, implemented MT⇄MX translation so legacy systems keep operating during and after the transition.

Technology & domain

  • ISO 20022 / CBPR+
  • SWIFT MT → MX
  • Schema mapping
  • Dual-publish reconciliation
  • SWIFT bureau

Outcome

No production breakage through the cutover: payment, treasury and back-office staff work in the new standard with no data loss or reconciliation breaks.

BI-FAST real-time payment integration

Core banking engineerHead OfficeCore banking · Payments

Challenge

Integrate the core banking system with Bank Indonesia's BI-FAST real-time retail payment scheme so every transaction lands in the books accurately and immediately.

Approach

Designed and built the message handling, account posting and end-to-end accounting flow: debit and credit booking, fees, GL posting, settlement and reconciliation, with audit trail and exception handling.

Technology & domain

  • Core banking
  • Real-time messaging
  • GL posting
  • Settlement
  • Reconciliation

Outcome

Inbound and outbound BI-FAST transactions are booked in real time with a complete audit trail.

QRIS national QR payment integration

Core banking engineerHead OfficeCore banking · Retail payments

Challenge

Support QRIS, Indonesia's national QR payment standard, for both merchant and customer sides at high retail volumes.

Approach

Built transaction handling, posting logic, the fee schedule and full accounting treatment, with end-of-day settlement and reconciliation against the scheme.

Technology & domain

  • Core banking
  • QR payments
  • GL posting
  • End-of-day settlement

Outcome

Books agree with switch reports at every end of day; the design handles high-throughput retail volumes.

Virtual Account platform for merchant collections

Designer and engineerHead OfficeCore banking · Merchant payments

Challenge

Let corporate merchants accept and reconcile payments at scale without manually matching each collection to a payer.

Approach

Built the VA number-generation engine with configurable behaviour (debit only, credit only, debit and credit), posting rules, expiry handling and reconciliation reports, each transaction routed transparently to the merchant's main account.

Technology & domain

  • Core banking
  • Number generation
  • Posting rules
  • Reconciliation

Outcome

Merchants match every collection back to its payer; the capability scales with corporate volumes.

Murex treasury integration and F1 rate automation

Integration owner, branch sideLondon Branch · 2026Treasury · Accounting integration

Challenge

The treasury platform went live on Murex, and its end-of-day output had to reach the downstream accounting workflow reliably, with the right business date, every day.

Approach

Supported the go-live and EOD integration, then automated the FX rate and report handoff into accounting with scheduler automation, file-date handling, validation and reconciliation, plus operational controls for EOD timing.

Technology & domain

  • Murex
  • Python
  • EOD scheduling
  • FX rates
  • Reconciliation

Outcome

Rates and reports land in accounting unattended, with date controls and reconciliation evidence instead of manual re-keying.

Core banking & migration

New branches, mergers and account products on the core platform

Core banking implementation, New York Branch

Technical lead, team of 128 monthsCore banking · Data migration

Challenge

Implement the core banking platform for the New York Branch, migrating loan, deposit and customer data under FRB and Federal Reserve requirements.

Approach

Led the technical team through a complex data migration, overseeing the accurate transfer of each data domain and resolving the implementation issues raised along the way.

Technology & domain

  • COBOL
  • Oracle
  • Data migration
  • FRB compliance

Outcome

Branch went live on the core platform with its data migrated and regulatory requirements met.

Merger data segregation, BNI Syariah to BSI

Lead, data extraction and segregation6 monthsCore banking · Islamic banking

Challenge

Extract and segregate Islamic banking data from a shared core banking system for the merger that formed Bank Syariah Indonesia, within a fixed six-month deadline.

Approach

Led the extraction effort with controls designed to protect the integrity and confidentiality of Shariah-compliant customer data throughout.

Technology & domain

  • SQL
  • Data extraction
  • Shariah banking
  • Data confidentiality

Outcome

Delivered on deadline with 100% data accuracy.

Multicurrency giro account

Designer and engineerHead OfficeCore banking · FX

Challenge

Customers transacting in several currencies had to manage several account numbers.

Approach

Delivered a single master account where the core detects the transaction currency and routes to the correct sub-ledger, keeping balances, postings and statements clean per currency behind a unified customer view.

Technology & domain

  • Core banking
  • Sub-ledgers
  • USD · IDR · EUR · SGD · GBP

Outcome

Phase 1 live with five currencies; the architecture extends to additional currencies in later phases.

Notional pooling for corporate cash management

Designer and engineerHead OfficeCorporate banking · Treasury

Challenge

Corporate treasurers managing many operating and subsidiary accounts needed one consolidated balance position without manual reconciliation.

Approach

Designed the account hierarchy, balance aggregation and an automated end-of-day push/pull sweep between member accounts and the master account, supporting both notional aggregation and physical sweeps by product configuration.

Technology & domain

  • Core banking
  • Account hierarchy
  • EoD sweeps
  • Cash management

Outcome

Consolidated positions for the treasurer and automatic rather than manual reconciliation.

Government social aid (Bansos) bulk disbursement

EngineerHead OfficeCore banking · Government banking

Challenge

Distribute government social-aid payments to millions of beneficiaries in high-volume, time-bounded campaigns with strong controls.

Approach

Built the bulk engine for multi auto debit/credit instructions from the government agency: file ingestion, validation, beneficiary matching, posting, error-file generation and full GL accounting, with rejection handling and audit trail.

Technology & domain

  • Core banking
  • Bulk auto debit / credit
  • File ingestion
  • GL accounting

Outcome

The bank can demonstrate that every payment is either delivered or returned.

Compliance, reporting & automation

Daily surveillance, month-end reporting and in-house tools that replaced manual work

AML transaction monitoring engine

Designer and engineerLondon BranchCompliance · Surveillance

Challenge

Compliance relied on ad-hoc data pulls to review transactions for money-laundering risk.

Approach

Designed and governed an in-house engine that ingests the day's transactions and screens them against scenarios defined with Compliance: thresholds, patterns, watch-lists and behavioural triggers, all tunable without code changes. Added maker/checker roles, alert handling, UAT evidence, operating documentation and production go-live controls; results reach Compliance every morning.

Technology & domain

  • Rule engine
  • Maker / checker
  • Batch processing
  • UAT evidence
  • AML

Outcome

A consistent, auditable daily feed that Compliance can review, escalate and act on.

SharePoint reporting portal

Designer and engineerLondon Branch · 2026Reporting · Access control

Challenge

Reports were distributed as email attachments: unreliable, hard to audit and impossible to control once sent.

Approach

Built a secure SharePoint Online/SPFx portal with metadata-driven report libraries, controlled access and automated upload workflows via Microsoft Graph, so reports are published once and read in place.

Technology & domain

  • SharePoint Online
  • SPFx
  • Microsoft Graph
  • Entra ID access

Outcome

Controlled, auditable user access replaced attachment-heavy distribution.

EFS rollout and operational accounting automation

Head of IT and Acting Head of AccountingLondon Branch · 2026Financial systems · Accounting controls

Challenge

A new financial system had to be rolled out while the accounting function kept closing the books, with controls that would stand up to audit.

Approach

Supported the rollout and designed the accounting controls around it: user and access readiness, network routing, charge-account mapping, rate handoff automation and operational posting and reconciliation procedures.

Technology & domain

  • Financial system rollout
  • Access readiness
  • Charge-account mapping
  • Posting & reconciliation

Outcome

The system went live with documented posting and reconciliation procedures owned jointly by IT and Accounting.

Interest income reporting, London Branch

Designer and engineerLondon BranchFinancial reporting · Reconciliation

Challenge

Month-end interest income was extracted and reconciled by Finance manually in spreadsheets.

Approach

Built an unattended month-end job that computes interest income at customer level, generates the report and reconciles totals against the general ledger and balance sheet, flagging any variance immediately.

Technology & domain

  • Month-end automation
  • GL reconciliation
  • Per-customer detail

Outcome

One-click, audit-ready output in place of manual extraction and reconciliation.

Balance sheet and P&L financial dashboard

Full-stack developer4 monthsFinancial reporting · Analytics

Challenge

Management needed a current view of balance sheet and P&L movement without waiting for manually compiled reports.

Approach

Built automated Balance Sheet and P&L ingestion pipelines in SQL and Python with embedded validation, reconciliation and anomaly alerting, feeding a web dashboard with interactive filters for day-to-day, month-on-month and year-on-year growth and automated delivery to management.

Technology & domain

  • Python
  • SQL ETL
  • PHP
  • MySQL
  • Anomaly alerts

Outcome

Self-service financial tracking with scheduled reports delivered automatically, and roughly 75% less recurring manual reconciliation effort.

Automated account statement delivery

Designer and engineerLondon BranchBatch automation · Customer service

Challenge

Branch staff extracted and dispatched customer account statements by hand every business day.

Approach

Built an end-of-day job that generates and emails statements automatically, with delivery logging and exception handling for bounced messages.

Technology & domain

  • Shell scripting
  • End-of-day batch
  • SMTP

Outcome

Consistent, on-time delivery to every customer with no manual steps.

Performance management system

Designer and developerLondon BranchInternal systems · HR

Challenge

Employee KPIs were tracked in manual spreadsheets with no single source of truth for reviews.

Approach

Built an application covering KPI definition, target-setting, periodic scoring, calibration and reporting, used directly by branch HR.

Technology & domain

  • Web application
  • KPI management
  • Reporting

Outcome

One system of record for performance reviews across the branch.

Vendor management system

Designer and developerLondon BranchInternal systems · Procurement

Challenge

Vendor records, contracts, renewal dates and invoices lived in scattered spreadsheets and shared folders.

Approach

Built a central application for vendor master data, contract terms and lifecycle, invoices, payment status and supporting documents.

Technology & domain

  • Web application
  • Document management
  • Contract lifecycle

Outcome

Procurement, Finance and IT share one screen for what is owed, what expires and what is outstanding.

Cloud, infrastructure & resilience

Serverless platforms, a regulated branch estate, business continuity and security assurance

IT centralisation and standardisation, London to Jakarta

Project lead, London BranchStaged programme, 2023 – 2024Infrastructure · Regulatory

Challenge

Migrate the London Branch's core banking infrastructure and critical applications to head office in Jakarta while remaining compliant with PRA and FCA requirements.

Approach

Led the branch side of the staged programme with IBM and EY consultants: dependency mapping, infrastructure, SD-WAN connectivity, application cut-over with reconciliation controls at each stage, and regulatory evidence.

Technology & domain

  • SD-WAN
  • Data centre
  • PRA / FCA compliance
  • Vendor management

Outcome

Zero data loss and roughly 30% lower infrastructure cost.

AWS secure reporting platform and unattended authentication

Architect and engineerLondon Branch · 2026Cloud · Serverless · Identity

Challenge

Publish regulated reports to the cloud from on-premises Windows jobs without static AWS credentials or a human session in the loop.

Approach

Designed and productionised a Terraform-managed serverless platform on S3, DynamoDB, KMS, Lambda, API Gateway, CloudFront, Cognito, SNS, CloudWatch and EventBridge. Unattended workloads authenticate through IAM Roles Anywhere with non-exportable certificates and PKI, least-privilege role chaining and production acceptance controls under Windows LOCAL SERVICE, with idempotent S3/DynamoDB verification and reconciliation gates on every publish.

Technology & domain

  • AWS IAM Roles Anywhere
  • Terraform
  • Lambda · API Gateway
  • S3 · DynamoDB · KMS
  • CloudFront · Cognito
  • EventBridge · CloudWatch
  • PKI

Outcome

Zero static credentials and no dependence on human AWS sessions; every published report carries verification and audit evidence.

Resilience, BCP/DR and network modernisation

Lead, London Branch2025 – 2026Resilience · Network

Challenge

Prove the branch can keep operating from a split site and fail over cleanly, while the network underneath it was being modernised.

Approach

Led split-operation BCP/DR testing with switch-over and switch-back validation and infrastructure readiness, and coordinated SD-WAN deployment, F5 load-balancing changes, failover planning and vendor readiness.

Technology & domain

  • BCP / DR
  • SD-WAN
  • F5 load balancing
  • Failover planning
  • Vendor coordination

Outcome

Tested switch-over and switch-back evidence for regulators and auditors, on a modernised, resilient branch network.

SWIFT CSP and cybersecurity assurance

Coordinator and control ownerLondon Branch · 2026Security · Assurance

Challenge

Meet the SWIFT Customer Security Programme attestation and close penetration-test findings across a branch estate that spans local systems and head-office services.

Approach

Coordinated the CSP assessment, penetration-testing activity, vulnerability remediation and access-control reviews across branch and head-office stakeholders, assembling the supporting audit evidence.

Technology & domain

  • SWIFT CSP
  • Penetration testing
  • Vulnerability remediation
  • Access reviews
  • Audit evidence

Outcome

Findings remediated and evidenced, with access reviews and attestation support delivered on the programme timeline.

Engineering portfolio

Public engineering projects on GitHub

Public engineering projects demonstrating financial systems, systems engineering, software engineering, data, AI, identity/security and DevOps, using synthetic data and generic architectures. Together they follow one transaction lifecycle: the ledger records it, the C++ engine processes it at the systems level, the pipeline curates it, the ML service scores it.

github.com/Adetlo

Production-style educational double-entry ledger demonstrating financial transaction integrity, idempotent processing, reversals, reconciliation and concurrency-aware transaction handling.

  • Python
  • FastAPI
  • PostgreSQL
View on GitHub

Production-style educational C++20 core-banking transaction engine demonstrating exact money handling, atomic and idempotent posting, concurrency, a restartable end-of-day batch, reconciliation and shell-driven Linux operations.

  • C++20
  • CMake
  • SQLite
  • Bash
View on GitHub

Production-style financial transaction data pipeline demonstrating multi-format ingestion, data quality controls, idempotent processing, reconciliation, lineage and analytics-ready outputs.

  • Python
  • Parquet
  • DuckDB
  • PostgreSQL
View on GitHub

Production-style fraud risk scoring and decision-support project demonstrating temporal validation, leakage-safe features, class imbalance handling, threshold optimisation, explainability and drift monitoring.

  • Python
  • scikit-learn
  • XGBoost
  • FastAPI
  • MLflow
View on GitHub

entra-id-toolkit

In development

Microsoft Entra and Microsoft Graph identity governance and security engineering toolkit.

  • Entra ID
  • Microsoft Graph

secure-banking-api

In development

Secure-by-design banking-style REST API with authentication, audit logging, validation and security controls.

  • REST API
  • Security

platform-devops-blueprints

In development

Reusable CI/CD, Docker, GitHub Actions and infrastructure patterns for the engineering portfolio.

  • GitHub Actions
  • Docker

Each repository is linked from this page when it reaches a first public release. Until then the GitHub profile is the place to watch.

How I work

Three habits behind the case studies

01

Build for the audit, fail closed

Every system above posts to a ledger someone will reconcile and a regulator may inspect. Audit trails, exception handling, idempotency and reconciliation are designed in from the start, and when the evidence is ambiguous the system stops rather than guesses.

02

Bridge enterprise and modern

COBOL on AIX and Python in a container both have a place in a bank. Knowing both sides makes migrations and integrations safer and keeps modernisation grounded in how the core actually behaves.

03

Ship with the business

Compliance officers, treasurers and branch staff shaped each of these tools. Working alongside them, and now running accounting as well as IT, keeps the engineering tied to real operational needs.