I build Java and Spring Boot back ends for payments, e‑invoicing and port logistics: services that move money and documents reliably, and stay fast as they grow.
- 6+years building back ends
- 3companies since 2019
- 4payment gateways integrated
- 2platforms I build at Elm
Highlights
-
Payments
First B2B e-wallet in Saudi Arabia
Co-led its design and build, and its integration into FasahPay.
-
E-invoicing
ZATCA Phase 2 compliance
Signed UBL 2.1 e-invoices with QR codes, generated and submitted automatically.
-
Integration
Partner API for port services
API keys, per-key rate limits, audit logs and signed, expiring links.
-
Modernisation
Java 8 to Java 21, safely
Spring Boot 2 to 4.1, with behaviour proved identical by a 66-case harness.
Experience
-
Senior Software Engineer
Elm
Feb 2024 - present
Back-end lead for FasahPay, an invoicing and payment platform, and back end of Tamween, a ship provisioning platform for the General Ports Authority.
FasahPay
- B2B e-wallet - co-led design and build of the first one in Saudi Arabia.
- ZATCA Fatoora - generation, signing and submission of Phase 2 e-invoices.
- Payment gateways - Esal SADAD, IFS SADAD, Payfort and PayTabs.
- VAT billing - transactional outbox with lock-free claiming and a reconciler.
- Operation Portal - search, PDFs, webhook re-push and settlement, all audited.
- Reports - streaming Excel export with flat memory at any size.
- E-mail recovery - idempotent replay of messages lost in an outage.
Tamween
- Service requests - lifecycle with price approval and bilingual PDF permits.
- Partner API - API keys, rate limits and signed download links.
- Security - bot protection, OTP race fix, access control, security headers.
- Port systems - integrated with the Ports Community and Port Management systems.
Platform
- Kubernetes - moved four services onto Helm-based GitOps.
- Upgrades - Java 8 to 21, Spring Boot 2 to 3.5 and 4.1.
-
Software Engineer
Data Gear
Dec 2022 - Jan 2024
Enterprise Case Management platform, integrated with the FTI, AML and sanctions teams.
- Messaging APIs - ActiveMQ with JAAS authentication.
- Workflows - BPMN processes that cut manual steps.
- Data layer - one abstraction over several database engines.
- Migrations - Activiti to Flowable, Java 8 to 21, Spring Boot 2.7 to 3.1.
-
Software Engineer
InfoSys Tech
Nov 2019 - Nov 2022
Logistics and freight forwarding products for clients in Saudi Arabia.
- FIATA eFBL - digital bills of lading through the FIATA APIs.
- Trucking - a module for domestic shipping.
- Dashboard - real-time view across several back ends.
- Idempotency - stopped duplicate transactions on existing APIs.
Skills
Languages
- Java
- SQL
- PL/SQL
- T-SQL
- TypeScript
- JavaScript
Back end
- Spring Boot
- Spring Security
- Spring Authorization Server
- JPA / Hibernate
- Flowable
Data and messaging
- Oracle
- PostgreSQL
- SQL Server
- Redis
- Liquibase
- RabbitMQ
- ActiveMQ
Delivery and testing
- Docker
- Kubernetes
- Helm
- OpenShift
- Jenkins
- JUnit
- Testcontainers
- WireMock
Front end
- Angular
- PrimeNG
- Angular Material
- NgRx
- Vitest
Domains
- Payments
- E-invoicing
- Multi-tenancy
- OAuth2 / OIDC
- REST / OpenAPI
- BPMN
Open source
-
Python
skills
Claude Code skills for backend work, like end-to-end tests of a change against a running service.
-
JavaScript
design-canvas
A pan and zoom canvas for design projects, with live screens near the centre.
-
Shell
zsh-claude-completion
Tab completion for the Claude Code command line in Zsh.
-
HTML
quran-cairo
بث مباشر لإذاعة القرآن الكريم من القاهرة
Education
2014 - 2019
Bachelor of Engineering, Communications and Electronics
Alexandria University
Graduation project: detecting myocardial infarction in ECG signals with multiple-instance learning.