open to senior / lead roles · Beirut · full US overlap

Payment systems,multi-tenant data,and the productionthey run in.

Senior full-stack engineer and deputy technical lead, 7+ years on Node, TypeScript, React and PostgreSQL. I'm currently architecting a crypto payment gateway end to end — payment flows, provider integrations, schema, migrations, and the infrastructure it runs on.

The pattern across my last three roles is the same: I'm the person who owns the hardest subsystem, sets the quality bar through review, and stays responsible for it after it ships.

ownership.logcurrent role
01technical architectureowned
02payment & settlement flowsowned
03pg schema · migrationsowned
04rls tenant isolationowned
05ci/cd · docker · monitoringowned
06code review · quality barowned
uptime responsibilitymine
7+
years in production
6
payment rails built
0
downtime on re-platform
3
senior/lead tenures
~/work04 systems · client names withheld
crypto-payment-gateway2026 · current

A crypto payment gateway, architected from zero

PROBLEMA payments product in a regulated domain needed to move real value across volatile rails, with every balance provable and every failure recoverable.

APPROACHI own the architecture on Node/Express + PostgreSQL + React: transaction processing, settlement, wallet handling, and third-party provider integrations. Accounts, transactions and balances are modelled as append-only ledger entries so state is derived, never overwritten.

RESULTGateway running in containerized production with CI/CD, monitoring, hardened APIs and safe forward-only migrations — and a security posture that holds up to financial-domain review.

nodeexpresstypescriptpostgresreactdocker
walk the payment flow ↓
igaming-platform2024

Three provably-fair games, three deposit rails

PROBLEMPlayers had to be able to trust game outcomes without trusting the operator — and fund accounts through three completely different value networks.

APPROACHI wrote three games on a commit-reveal fairness model — server seed hashed and published before play, revealed after, so any round can be re-derived independently — across MongoDB-backed microservices. Then three deposit methods: in-game skin trades, on-chain crypto, and card/bank through a PSP, each with its own confirmation semantics and reconciliation path.

RESULTVerifiable outcomes players can check themselves, and three funding routes that fail independently instead of taking the platform down together.

microservicesmongodbnodecryptopspcommit-reveal
multi-tenant-retail-saas2025 – 2026

Mongo to Postgres without taking the product down

PROBLEMA multi-tenant SaaS had outgrown a document store: tenant isolation was enforced in application code, analytics queries were expensive, and AI features needed vector search.

APPROACHI architected and executed the migration to PostgreSQL with Row-Level Security so isolation lives in the database, not in every query, plus pgvector for retrieval. Zero-downtime cutover via dual-write and backfill, then data sync and pricing/analytics pipelines feeding the reporting and AI modules.

RESULTIsolation guaranteed at the row level, and RAG chat, smart kiosk, customer analytics and personalization shipped on the new schema — with every merge to production reviewed by me.

postgres rlspgvectorragreactetldocker
document-management-platform2021 – 2025

Four years on sensitive-document workflows

PROBLEMA monolithic platform handling confidential documents was hard to extend and risky to deploy, across React, Angular and three different databases.

APPROACHActing as senior engineer, I made architectural calls independently, led review, and split the platform into microservices. Schemas and queries optimized across PostgreSQL-compatible, MongoDB and MySQL stores with migration safety as a hard requirement.

RESULTFaster queries, safer deploys, and full project lifecycles delivered from concept to production in direct collaboration with leadership.

reactangularnodemicroservicesmysqlmongodb
~/deep-diveclick a stage

How a deposit becomes a confirmed balance

The same six stages sit behind every rail I've built — crypto, card/bank via PSP, and in-game skin trades. Where they differ is what “confirmed” means, and what has to be reversible.

Deposit intent is created, not trusted

The client asks for a deposit; the server creates a pending intent with its own id, expected amount, rail, and a unique address or reference. Nothing the client sends about value is trusted — amounts are re-derived server-side.

FAILURE MODE I DESIGN FOR

A user opening ten intents and paying one. Intents expire, and only the reference that actually receives value can settle.

intents/create.ts
const intent = await tx.one(
  `INSERT INTO deposit_intents
     (user_id, rail, expected_amount, ref, status)
   VALUES ($1,$2,$3,$4,'pending')
   RETURNING id, ref`,
  [userId, rail, amount, ref]
);
~/stackdepth over breadth

backend

Node.js · Express · NestJS · TypeScript · RESTful API design · microservices

data

PostgreSQL — RLS, complex queries, schema design, migrations, pgvector · MongoDB · MySQL

frontend

React · Next.js · Angular · TypeScript · responsive UI · React Native (familiar)

infrastructure

Docker · CI/CD pipelines · production monitoring · Git/GitHub · security hardening

domains

Payment gateways & pricing · crypto/blockchain payments · multi-tenant SaaS · regulated / HIPAA-aware practice

ai-augmented

Directing, auditing and reviewing AI-generated code · RAG · vector search · LLM integration

~/track-record2018 → now
2026 — present
Dbayeh, Lebanon
Senior Full-Stack Developer
Crypto payments company

Architect and build the gateway end to end. Senior engineer on the team: independent architectural decisions, code review, unblocking others.

2025 — 2026
Remote
Senior Full-Stack Developer
LiquorChat

Owned architecture and reviewed every merge to production. Led the Mongo→Postgres re-platform with RLS and pgvector; shipped AI, kiosk and analytics modules.

2021 — 2025
Remote
Full-Stack Developer
Docclik

Senior engineer across React, Angular and Node. Microservices decomposition, multi-database schema and query optimization, full lifecycle delivery.

2019 — 2021
Lebanon
QA Analyst
Ecomz

Owned automated and manual test strategy and regression suites — where the habit of reviewing code against a hard quality bar started.

2018 — 2019
Lebanon
IT Support Specialist
Antaki Group

Kept production systems and infrastructure running; root-cause analysis under time pressure.

2016 — 2020
BSc Computer Science
Arts, Science & Technology University in Lebanon

English fluent · Arabic native · French conversational

Need someone to own the part of the system that scares everyone?

That's usually the one I take. Beirut-based with full overlap on US hours, comfortable talking directly with executive leadership, and available for senior or lead roles.