Back to Projects

CX Banking Platform Revamp

Led migration of 904-file legacy app to modern monorepo; delivered payments module (5 flows, 474+ tests) in 20 days

904-file legacy codebase migrated to modern Turborepo monorepo

5 payment flows delivered in 20 working days

474+ tests with comprehensive widget coverage

Established all architectural patterns for team of 7

Sprint goal achievement improved from 75% to 92%

React 19
TypeScript
Vite
Mantine
Zod
TanStack Query
Turborepo
Bun
Vitest

Overview

Led the complete frontend revamp of a legacy banking CX platform — migrating a 904-file React/Redux application to a modern Turborepo monorepo with React 19, TypeScript, Vite, Mantine, Zod, and TanStack Query. Built the first working screen (dashboard) end-to-end, then delivered the entire payments module (5 user flows, 474+ tests) in 20 working days using AI-augmented development.

Problem

  • Legacy Debt: 904 JavaScript files, 40+ Redux slices, React Router v5, no TypeScript — unmaintainable at scale
  • Slow Delivery: Tightly coupled architecture meant every feature required coordinating across multiple teams
  • No Test Culture: Minimal test coverage, no mock infrastructure, no CI quality gates
  • Knowledge Silos: 13 feature areas with no shared patterns or reusable infrastructure

My Role

Tech Lead & Primary Implementer for the CX banking module in a team of 7 engineers.

  • Analyzed the entire legacy codebase and produced a 15-section migration strategy
  • Set up all dev infrastructure: Vite proxy, remote config fallback, mock server, Turborepo config
  • Built the first feature (dashboard) establishing all patterns the team follows
  • Delivered the full payments epic solo in 20 days with AI-augmented development
  • Performed 5+ teammate code reviews, mentored on architecture patterns
  • Coordinated delivery across 7-engineer team with systematic task breakdown and tracking

Dashboard — First Feature (Established All Patterns)

  • Built token-based API proxy routing (mock when logged out, real API when logged in)
  • Implemented remote screen config with bundled JSON fallback for offline/deployment resilience
  • Created JSON-driven widget tree architecture: sidebar navigation, header, quick-actions, latest transactions, products sidebar, KYC alert
  • Established specialized widget pattern: schema.ts → api.ts → transform.ts → widget.tsx → index.ts
  • Set up mock handlers, i18n workflow (en/ar/fr), route registration, and widget catalog
  • Established all architectural patterns (screen configuration, specialized widgets, mock handlers, i18n) the team now follows

Payments Epic — 5 Flows in 20 Days

Delivered:

  • Payment Dashboard: Quick actions, recent payees, data tables with pagination, tabs, and account filtering
  • Send Money (5 screens): Multi-step payment flow with dynamic API-driven forms, scheduling, frequency selection, date constraints, confirmation, and 2FA
  • Internal Transfers: Account-to-account transfers with currency matching and eligibility logic
  • Beneficiary Management: Add, confirm, delete with 2FA integration
  • Shared Form Infrastructure: 5 composable modules handling dynamic field rendering, validation, country-specific rules, and payload transformation — reused across all flows

Numbers: 474+ tests, 10+ merged MRs, 5 peer code reviews conducted, all flows verified against production-grade APIs.

Tech Stack

  • Core: React 19, TypeScript, Vite, Turborepo, Bun
  • UI: Mantine v8, CSS Modules, Material Symbols icons
  • Data: TanStack Query, Zod v4 schemas, JSON:API
  • Testing: Vitest, React Testing Library, Mock Service Worker
  • Infrastructure: GitLab CI/CD, SonarQube, Conventional Commits
  • i18n: react-i18next (English, Arabic RTL, French)

Measurable Impact

  • 20 days to deliver complete payments module (5 user flows end-to-end)
  • 474+ tests across all payment widgets with comprehensive coverage
  • 7 engineers onboarded to patterns established during dashboard feature
  • 10+ MRs raised, reviewed, and merged
  • 5 teammate code reviews catching real architectural issues
  • 12+ hours saved per epic through AI-augmented development methodology
  • 75% → 92% sprint goal achievement as Scrum Master
  • 7 engineers onboarded to patterns established during dashboard feature