codewithtrong.sh
back--all-projects
~/portfolio/projects/fifth-third-bank.md
FinTechModified: Feb 2024

Fifth Third Bank

> Enterprise banking application serving millions of customers. Developed secure authentication flows and transaction features for Android platform.

Env: PRODUCTIONVersion: v8.1.0
Android
Kotlin
MVVM
Retrofit
Room
Firebase
OVERVIEW.txt
OVERVIEW.txt

Fifth Third Bank is a major regional bank serving millions of customers across the Midwest and Southeast United States. The mobile application is a critical touchpoint for customers to manage their finances securely.

As part of the Atomic Robot team, I contributed to the Android application development, focusing on secure authentication flows and transaction features that handle sensitive financial data.

THE_CHALLENGE.sh
THE_CHALLENGE.sh

$ analyze --problems fifth-third-bank

  • [ERR]Implement biometric authentication with fallback mechanisms for devices without fingerprint/face recognition support.
  • [ERR]Ensure compliance with banking security regulations while maintaining a smooth user experience for account access.
  • [ERR]Optimize app performance for users with slower network connections in rural areas.
THE_SOLUTION.tsx
THE_SOLUTION.tsx

Implemented a robust authentication layer using Android BiometricPrompt API with graceful degradation to PIN-based authentication. Used encrypted SharedPreferences and Android Keystore for secure credential storage.

Biometric Authentication SetupKOTLIN
val biometricPrompt = BiometricPrompt(
    activity,
    executor,
    object : BiometricPrompt.AuthenticationCallback() {
        override fun onAuthenticationSucceeded(result: AuthenticationResult) {
            // Decrypt user credentials
            viewModel.authenticateUser(result.cryptoObject)
        }
    }
)

/key_features

secure_login.png
Biometric Login

Biometric Login

Secure fingerprint and face recognition authentication with encrypted credential storage.

transactions.png
Transaction History

Transaction History

Real-time transaction tracking with filtering and search capabilities.