Reconciliation and close engines
Bank, intercompany and marketplace reconciliation across 145+ legal entities and 30+ currencies. Validated against months already closed, to full parity with the VBA and spreadsheets they replaced.
Builder in Amman, shipping across MENA
Eleven years inside finance operations, now building the systems instead of running them. Reconciliation engines, portal bots, desktop tools and web products, in Python, Go and TypeScript.


Actual status checks. Actual deployed products.
Four kinds of thing
Bank, intercompany and marketplace reconciliation across 145+ legal entities and 30+ currencies. Validated against months already closed, to full parity with the VBA and spreadsheets they replaced.
Bots log into HSBCnet, BNP Paribas Connexis, the Bahrain AMEX merchant portal, Tamara and Farfetch STORM. Files arrive named and filed.
Client platforms and self-owned products, Arabic and English where the audience needs it. Deployed on Vercel and on a box I administer.
A shared design system, a Claude skill builder, a Playwright control room and a personal operating system. The tools that make the other three faster.
Finance systems for the shared services behind
DIOR
RALPH LAUREN
Marketplace orders matched automatically, to the cent.
Selected work
Public products, private operational engines and desktop tools.
Press a hotkey, talk, the words are on your clipboard. Nothing uploaded.
A Windows tray app running Whisper on the machine itself. No account, no API key and nothing uploaded.
Hard partTranscription fast enough to type into any application, with no cloud round trip to hide the latency behind.
Open the live product
FTTH outside-plant design, operations and record-keeping for NaiTel engineers in Aqaba.
One customer, one custom build, installed on their engineers' machines. No license server, no billing and no plugin-repo listing.
Hard partThe network of record lived in Google Earth KMZ files and a 17-column spreadsheet, with no port bookkeeping or splice records.
Open the live product
Every retail store, every day, every payment method, from point of sale to bank deposit.
A reconciliation engine across nine data sources: POS sales, cash pickups, card settlements, BNPL payouts, bank statements, wire transfers and GL entries. Built for the GCC finance shared services behind Dior, Ralph Lauren and the rest of the luxury portfolio.

A QR repeat-order system for local delivery shops in Amman.
A household scans its sticker and orders refills from its usual shop. The shop runs customers, orders, sticker stock, history and SMS service from a signed-in counter desk.
Open the live product
More systems

Intercompany AP and AR reconciliation across 145+ legal entities and 1,900+ entity pairs.
98.9% of orders matched automatically, to the cent: 7,761 of 7,851.
Two-phase matching plus daily completeness checks across about 200 bank accounts.
Zero-backend QA scoring and analytics for Arab Bank's customer service team.
Drop the daily Excel into a browser page and get a full interactive dashboard.

Double-entry accounting for Jordan-based freelancers.
A women's strength-coaching app for Coach Tamara Alsoub.
Where it runs
Eight projects on Vercel. Five more behind nginx on a Hostinger box I administer: Next.js apps, Postgres, n8n, TLS on auto-renew and Tailscale for the private half.
Some of it is public. Some is only reachable from inside the tailnet, which is the point.
Amman, serving MENA
Tell me what you are trying to automate.