Over the past few years I've worked on digital onboarding and corporate banking platforms used by banks across the GCC region — systems that take onboarding from a multi-day branch process down to minutes, using OCR, selfie verification, and AML checks.
A few things I've learned building these systems with Node.js, NestJS, and GraphQL:
- Onboarding speed is a product feature, not just an engineering metric. Cutting onboarding from three days to under half a day directly moved customer acquisition numbers, especially during COVID-19 when in-branch onboarding wasn't an option.
- Microservices pay off most at integration boundaries. Splitting notifications, identity, and onboarding orchestration into their own services made it much easier to support both iOS and Android teams without blocking each other.
- Workflow engines like Camunda are worth the learning curve for anything involving multi-level approvals — corporate banking in particular has approval chains that are painful to hardcode.
I'll be writing more here about backend architecture, fintech systems, and what it's like building for regulated industries. If you're working on similar problems, get in touch.