EscrowPay
Standalone escrow engine — working backend, frontend in progress.

Escrow without a proper financial engine is just a promise.
The current Zolarux escrow flow works — but it is application-level logic sitting on top of a general-purpose database. As transaction volume grows, this approach will hit limits: no audit trail, no double-entry integrity, no idempotency guarantees, no atomic multi-step operations. EscrowPay is a standalone escrow engine built to replace this with a proper financial infrastructure layer — one that could eventually power escrow for any Nigerian social commerce platform, not just Zolarux. The backend is complete; a frontend and public release are still ahead.
What I built and owned.
Sole architect and engineer. Backend is built and functional — Node.js/Express API, PostgreSQL schema, and core escrow logic. Frontend work has not begun.
How it's built.
Four distinct engines handle separate concerns: the Ledger Engine maintains the double-entry record, the Escrow Engine manages fund states, the Wallet Service tracks balances, and the Atomic Transaction layer ensures all-or-nothing operations. 7 transaction invariants enforce financial correctness.
Walking through the product.
The technical architecture overview showing the four engine layers, core tables, and transaction invariants. Backend is built; frontend and public release are pending.

What was hard. How I solved it.
Financial systems have strict correctness requirements that general software engineering doesn't prepare you for. Getting them wrong means money disappearing or appearing from nowhere.
Studied double-entry bookkeeping principles and worked backwards from the invariants — what must always be true regardless of how the system is used. Defined 7 non-negotiable invariants before writing a single line of code.
Working backend — frontend not yet built, no users yet.
The EscrowPay backend is functionally complete — Node.js/Express API, PostgreSQL schema, escrow state machine, wallet service, and idempotency layer are all built and working. The frontend has not been started. No users yet. Next step is building the frontend and integrating with Zolarux as the primary payment backend.