Banking System
A large-scale banking product required a modern, type-safe frontend for financial operations and internal workflows. I worked on the React/Next.js frontend: new UI features, requirement analysis, and integration with existing services. The result is a maintainable codebase that supports complex flows and stays performant. Built with React, TypeScript, Next.js, Redux, and Redux-Saga.

The Problem
Internal banking operations relied on an aging frontend that made it slow and risky to ship new financial features, since small mistakes in financial UIs have outsized consequences.
Challenges
- Working in a domain where incorrect UI state (e.g. a stale balance or misapplied filter) has real financial consequences, not just cosmetic bugs
- Analyzing requirements directly with stakeholders rather than working purely from a finished spec, since some workflows weren't fully documented
- Keeping the app performant under high internal traffic while adding new features on top of existing Redux-Saga flows
Key Decisions & Trade-offs
Kept Redux + Redux-Saga rather than migrating to a lighter state library
The existing codebase already had established saga patterns for financial flows; a mid-project migration risked introducing regressions in a domain where correctness matters more than developer convenience.
TypeScript-first for new features
Type-safety catches a category of bugs (wrong field mapping, incorrect currency/amount types) before they reach a financial UI in production.
Results
- Delivered new features end-to-end from requirement analysis to production without regressing existing financial workflows
- Maintained a stable, performant UI for high-traffic internal use despite growing feature scope
Lessons Learned
- In regulated/financial domains, resisting the urge to introduce a 'better' library mid-project is often the more senior decision than chasing the latest pattern
- Direct requirement analysis with stakeholders surfaced edge cases that a finished spec alone wouldn't have caught