← All work

Next projectHDI Insurance Design System →
01Fintech / Banking / Legacy Migration
Web and mobile products for Banco Safra's SafraPay and Internet Banking — a platform with more than 1 million users — plus the migration that moved it off AngularJS.

01
Overview
- Client / Product
- Banco Safra (via Sysmap Solutions)
- Period
- Aug 2018 — Nov 2019
- Role
- Front-end Architecture & Development
- Context
- Allocated as a consultant at Banco Safra, working across SafraPay and Internet Banking for web and mobile.
- Team
- Corporate product squads (product, design, back-end, QA).
- Technologies
- Angular 6/7/8AngularJSNode.jsBFFGraphQLTypeScript
02
The challenge
Migrating a live banking platform off AngularJS while it kept serving more than a million users — no big-bang rewrite, no downtime, no regression in a domain where a bug is a financial incident.
03
Strategy
- —Module-by-module migration to Angular 6/7/8 instead of a single high-risk rewrite.
- —A BFF layer with Node.js and GraphQL to shape exactly the data each screen needed, shrinking payloads.
- —Load time and bundle size treated as acceptance criteria on every delivery, not a later clean-up.
04
Solution
- —SafraPay and Internet Banking flows delivered for both web and mobile.
- —Angular modules rebuilt with typed, reusable components aligned to the bank's design language.
- —BFF integration consolidating back-end services behind a single front-end-shaped contract.
05
Impact
- Reduced application load time and bundle size on a platform with 1M+ users.
- Legacy AngularJS modules retired progressively, with no service interruption.
06
Learnings
At this scale, migration is a product decision before it is a technical one. Shipping it in slices is what makes it survivable — and performance only holds if it is a criterion, never a phase.