I help payments and fintech businesses keep mission-critical systems running, automate manual processes, and resolve issues before they reach customers.
22 years leading technical operations, production support and reconciliation across interbank switching, merchant acquiring, and fuel & loyalty payment platforms.
Specialised support across the payment operations and technology stack โ from daily reconciliation to production incidents.
Design and operate daily reconciliation processes across payment platforms, so nothing slips through unmatched.
24/7 investigation and resolution of live payment and platform issues before they impact customers.
Python and PowerShell automation for the repetitive operational tasks that slow teams down.
Query, investigate and optimise data across SQL Server, MySQL and Azure KQL to support good decisions.
Support for Agile delivery, API testing and deployment coordination that keeps releases predictable.
Accurate operational documentation and data validation that reduces risk and supports audits.
Selected projects that solve real operational problems and improve day-to-day efficiency. Tap BallChecker, DAE, the Real-Time Market Data Platform, AutoSiteLoader, or P24Dashboard for the full technical breakdown.
Payment-terminal data arrived from a portal, raw device logs and controller archives โ each shaped differently, with no single place to reconcile them into a trustworthy report.
Built DAE, a multi-page analytics workspace that ingests transaction exports, device-log archives and controller logs through one pipeline and turns them into validated, defensible findings and reports.
Python ยท Flask ยท MySQL ยท AWS ยท Grafana
Closed its first delivery stage on a real cross-machine production run โ turning ad hoc investigation into a governed, repeatable workflow.
Turning raw lottery data into usable insight required manual number-crunching.
Built an analytics platform using statistics and machine learning to surface patterns in the data.
Python ยท Analytics ยท Machine Learning
Delivered clear, data-backed insights from previously unstructured data.
Live crypto, stock and news feeds each need their own ingestion quirks handled, without turning into three unrelated one-off scripts.
Built one platform where all three feeds ingest through a shared mapping/validation pipeline into a single MySQL store, with per-feed Grafana dashboards on top.
Flask ยท Fly.io Machines ยท MySQL ยท Grafana
A live, publicly-reachable platform โ still running, still being hardened in production.
Recurring operational tasks consumed time better spent on higher-value work.
Built a library of PowerShell and Python scripts to automate day-to-day operational tasks.
PowerShell ยท Python ยท Tooling
Freed up hours previously spent on repetitive manual work.
Provisioning terminals for a new merchant site โ creating each device, issuing it, exporting the result, then adding a full product catalog โ was done by hand in an admin portal, one click at a time, one site at a time.
Built a Playwright-driven automation tool that reads a site's terminal loadsheet and drives the same admin portal end to end: provision โ issue โ export โ add the standard product catalog โ with a dry-run mode before anything is submitted live.
Python ยท Flask ยท Playwright ยท Fly.io ยท Grafana
In production use for real site rollouts, with dry-run verification and exception reporting built in before anything touches a live portal.
Terminal health, settlement reconciliation and support tickets across a payment terminal fleet lived in separate systems, and settlement recon was still a manual, twice-daily chore.
Built a Flask operations dashboard backed by a twice-daily automated pipeline that scrapes settlement exports, imports and reconciles them, and surfaces the result across 12 dashboard panels with a companion Grafana layer.
Python ยท Flask ยท MariaDB ยท Playwright ยท Grafana
Ran in production across 3 Fly.io apps for a month before its own analytics engine was extracted into a standalone platform โ DAE.
The same rigor behind the projects above, applied to how the work itself gets tracked, reported and shipped.
A daily automated pipeline pulls status from Jira and publishes a Markdown snapshot โ but every snapshot is classified as Verified, Historical (counts invalid), or Activity-backfill, never presented as more certain than the evidence supports.
Every change on the active platforms goes through a pull request, gated by CI โ tests, linting and a dependency audit โ before it merges. Nothing reaches main without the gate passing.
Jira has been the system of record for both active projects; a migration to YouTrack is in progress as the tracker of choice going forward.
A career built from the ground up โ from reconciliation and call-centre operations to specialist payment engineering and TechOps leadership.
Lead technical operations for fuel & loyalty payment rollouts, automate reconciliation with Python & Power Automate, and own the escalation lifecycle end to end.
Supported payment operations, ran ETL pipelines with Talend, and served as Scrum Master coordinating cross-functional delivery.
Delivered 24/7 production support for high-availability platforms, using Grafana and Kibana for monitoring and SQL optimisation for performance.
Primary support engineer for the Namclear interbank clearing system and Traderoot TEP payment platforms.
Specialist support for Postilion Real Time and eSocket.pos, maintaining SLA compliance across switching environments.
Provided mission-critical 24/7 support, designed the disaster recovery solution, and progressed to Team Leader.
Pioneered the reconciliation function, then served as Team Leader and onboarding trainer for new starts as the call centre grew.
Grouped by category โ filter to see where the depth is.
Understand the problem and environment.
Identify root cause and impact.
Design the right fix for long-term stability.
Build, automate and integrate effectively.
Validate quality and reliability.
Support and continuously improve.
Open to conversations about payments, technical operations and automation. Reach out directly, or connect on LinkedIn.