Re-platforming the forex system behind Visa's Currency Cloud.
Visa had acquired Currency Cloud, and with it a foreign-exchange system built on legacy Ruby. The system worked, moving over $250 million a day, but it could no longer scale with the business and every change was slower than the last.
The brief: modernise the platform and its processes so the application could scale, without disturbing a live financial flow.
You do not pause a system that settles a quarter of a billion dollars a day. Every migration step had to be reversible, observable, and invisible to the businesses transacting through it, all inside the compliance perimeter of a global payments company.
Grant led the migration from the legacy Ruby stack to an Express and Next.js architecture. TypeScript throughout, Jest for the safety net, Azure and Jenkins carrying the pipeline.
The work ran route by route: stand the new stack up beside the old one, move traffic incrementally, verify parity, retire the legacy path. The UI and the surrounding processes were modernised in the same motion, so the team inherited one coherent system rather than a hybrid.
A platform that can scale with Visa's ambitions for it, on a stack the wider team can hire for, and the $250M+ daily flow was never interrupted.
- React
- Next.js
- TypeScript
- Node
- Express
- Jest
- Azure
- Jenkins
Working on something similar?