Payments Platform Migration
Contributed to major platform transition that led to $1B company valuation and acquisition by Global Payments.
Overview
I was a key contributor to Zego's move from Payments 1.0 to Payments 2.0, a multi-year rebuild of the payment infrastructure that fed into the company reaching a $1 billion valuation and being acquired by Global Payments.
Why We Had To
The legacy Payments 1.0 system had served the company well, but it was running out of room. The PHP monolith was hard to scale or deploy in pieces. It was coupled tightly enough that a change in one corner could break another. Deploys were manual, slow, and error-prone, test coverage was thin, and the accumulated technical debt was dragging on every new feature.
The Approach
We used the strangler fig pattern so we never had to attempt a big-bang rewrite. First a modern React frontend went in, talking to the legacy backend through an API adapter. Then we pulled bounded contexts out of the monolith one at a time as independent Node.js microservices, with an API gateway routing to the new services while the adapter kept the shrinking monolith connected. Alongside that, we replaced the slow manual deploys with automated pipelines for testing, building, and shipping each service on its own.
What I Worked On
I led the extraction of several services from the monolith: drawing the boundaries with domain-driven design, wiring up event-driven communication between them, and working out how to migrate data with no downtime. I built out the CI/CD pipelines, with automated linting, testing, staging deployments, integration tests, and production releases. And I contributed to the new React frontend, including a shared component library, React Query for server state, and performance work on some genuinely large data tables.
Results
- $1B valuation after the modernization
- Acquired by Global Payments, which validated the technical investment
- Deploy frequency went from monthly to daily
- Mean time to recovery dropped from hours to minutes
What I Took From It
Going gradually was the whole game. The strangler fig let us migrate piece by piece without ever betting the company on a single release. Solid test coverage was what made it safe to refactor aggressively, and clear API contracts plus a few honest architecture diagrams kept several teams pointed in the same direction.