
I build the systems money moves through.
Fraud monitoring, data lakehouses and cross-currency payments. I take them end to end: requirements, analysis, build, pen-test, and handing it to the client myself. Curious about the hard part, and good at explaining it.
Fig. 01 / A payment through systems I build & harden
LiveA payment flows through TXN (payment in), DEMS (event monitoring), RULES (simulated in Rule Studio), CASE (case mgmt, hardened), BIAR (analytics & reporting).
02 / Process
Most engineers own a slice. I own the loop.
01
Requirements
Sit with the client. Ask the questions nobody asked.
02
Analysis
Map the data, the edge cases and the constraints.
03
Business case
Make sure it's worth building before building it.
04
Build
Clean, readable code, with Claude as my pair.
05
Test
Unit, integration, load. Then the weird inputs.
06
Pen-test
Break it before someone else does.
07
Deliver
Hand it to the client myself and stay for the questions.
03 / Systems · Open source
Built in production. Contributed in the open.
100+pull requests shipped across Paysys and Tazama codebases
Systems I've built
- SYS-01BIARBusiness intelligence, analytics and reporting for Tazama.Spark · Hudi · Lakehouse API↗
- SYS-02DEMSTazama's dynamic event monitoring service.Node · Caching · Events↗
- SYS-03Simulation StudioTenant-segregated rule simulations in Tazama Rule Studio.Docker · Multi-tenant↗
- SYS-04ILF for ABLInterledger enablement for ABL: cross-currency payments.Interledger · Microservices↗
Open source I contribute to
- Tazama32 PRs mergedReal-time fraud and AML transaction monitoring.↗
- MojaloopOpen-source rails for interoperable instant payments.↗
- ILFCross-currency payments over the Interledger Protocol.↗
$ git log --author=sohaib · tazama-lf
↗- Oct 21fix: add revision column to tcs_config init migrationtazama-stack
- Oct 14fix(jupyterhub): end the Keycloak session on logout (#215)biar
- Oct 12fix(jupyterhub): stop servers when Keycloak revokes the session (#209)biar · merged
- Oct 11fix(cases): save case reopen reason as a case commentcase-management-system · merged
- Oct 09fix(cases): show names in history, stop duplicate notes, add task name to commentscase-management-system · merged
- Sep 30fix(dlh-api): register missing GOLD_PATHS entries (#198)biar · merged
Public on GitHub: 42 opened, 32 merged
04 / Live from the source
Don't take my word for it.
I explain things on camera.
Blog · Apr 2026 · 5 min read
Understanding Zero-Shot Learning with Embeddings
In this blog, I’ll walk you through the concept of Zero-Shot Learning (ZSL) and explain how embeddings enable models to make predictions on unseen data without prior examples.
#AI#Deep Learning#Embeddings
- 2024 – nowSoftware Engineer at Paysys Labs
- 2024 – 25AI/ML Engineer at Preference Model
- 2021 – 25BS CS, Teaching Assistant at FAST NUCES
Let's talk about your hard problem.