

Technical Details
iOS Developer
iOS
Swift
MVVM, Clean Architecture
Backbase Digital Banking
SwiftUI, UIKit
XCTest, XCUITest
Rebuilding Citizens Bank's iOS App with Backbase
Modernizing the Citizens Bank mobile experience with Backbase SDK and Swift.
Citizens Bank, one of the largest retail banks in the United States with over $200 billion in assets, needed to modernize their iOS mobile banking application. The existing app had accumulated years of technical debt and couldn't keep pace with customer expectations for modern digital banking experiences. I joined the project to help rebuild the app from the ground up using Backbase's banking SDK and modern Swift architecture.
The Challenge
The legacy Citizens Bank iOS app faced several critical issues:
- Aging Objective-C codebase with inconsistent patterns
- Tightly coupled architecture making feature development slow
- Limited ability to leverage Backbase platform capabilities
- Poor testability leading to regression issues
- Inconsistent UI that didn't match modern banking app expectations
Backbase Integration
Backbase provides a comprehensive digital banking platform that accelerates mobile development. Our integration strategy focused on leveraging Backbase's strengths while maintaining flexibility:
Backbase SDK Components:
- Identity & Access Management for secure authentication
- Retail Banking widgets for accounts, transactions, and payments
- Journey orchestration for complex user flows
- Design System foundation for consistent UI
- Custom Swift wrappers around Backbase modules
- Bank-specific business logic isolated from SDK
- White-label theming matching Citizens Bank brand
- Analytics integration for user behavior tracking
Architecture
We implemented a clean MVVM architecture that integrated seamlessly with Backbase:
Presentation Layer:
- SwiftUI views for new screens
- UIKit integration for Backbase widgets
- Combine-based data binding
- Coordinator pattern for navigation
- Use cases encapsulating business logic
- Repository protocols for data abstraction
- Domain models independent of Backbase DTOs
- Backbase SDK as primary data source
- Secure token management with Keychain
- Offline caching for critical data
- Network monitoring and retry logic
Security Implementation
Banking apps require exceptional security measures:
Authentication:
- Biometric authentication (Face ID / Touch ID)
- Multi-factor authentication flows
- Session management with secure token refresh
- Jailbreak and tampering detection
- Certificate pinning for all API communication
- Encryption at rest for sensitive data
- Secure Enclave integration for keys
- Runtime application self-protection (RASP)
- WCAG 2.1 AA accessibility compliance
- SOC 2 audit requirements
- PCI DSS considerations for payment flows
Development Practices
The project followed rigorous development practices appropriate for financial software:
Code Quality:
- Comprehensive unit test coverage (>80%)
- UI testing for critical user journeys
- SwiftLint enforcement for code consistency
- Pull request reviews with security checklist
- Automated builds on every commit
- Test suite execution with coverage reporting
- Static analysis and security scanning
- Beta distribution through TestFlight
- Close partnership with Backbase technical team
- Regular sync with Citizens Bank product owners
- Agile sprints with bi-weekly releases
Results
The rebuilt app delivered significant improvements:
- 50% faster average screen load times
- 4.8 star App Store rating (up from 3.2)
- 60% reduction in crash reports
- 3x faster feature development velocity
- Improved accessibility scores across all flows