Angel One fund-addition platform
Improved a high-trust fintech flow with in-app payments, configurable support journeys, cleaner state handling, and faster biometric authentication.
Overview
At Angel One, I work on Android surfaces where reliability is part of the product experience: fund addition, support navigation, biometric authentication, analytics, and service migrations.
Problem
Adding funds is a trust-sensitive flow. The product needed faster iteration on support journeys, fewer payment handoffs, and a cleaner Android architecture without increasing risk in a regulated environment.
Constraints
- The flow handled money movement, so stability and user trust were non-negotiable.
- Help content and support routes needed to change without waiting for app releases.
- Payment behavior had to stay compatible with existing analytics and service contracts.
- Authentication improvements had to preserve security expectations while reducing friction.
Approach
I rebuilt the Add Funds module around MVVM with Kotlin Channels and Flow, integrated 1 Click Pay for in-app completion, introduced a remote-configurable help navigation layer, and supported service and analytics refactors that made the surface easier to evolve.
Key decisions
Use Flow and Channels to model fund-addition UI events and state
The payment flow has asynchronous validation, SDK callbacks, and one-off UI events. Flow and Channels made those transitions easier to model, test mentally, and extend safely.
- Extend the older event wiring with more callback branches
- Push all orchestration into fragments and activity-level code
Make help navigation remote configurable
Support routes change more often than app binaries. Remote configuration let the product respond faster while keeping Android releases focused on code changes.
- Keep help routes hardcoded in app releases
- Depend on manual hotfix releases for content changes
Integrate in-app payments instead of relying on third-party UPI app hops
Keeping users inside the app reduced context switching and made the money movement experience feel more direct.
- Continue external-app payment redirection only
Tech stack
- Kotlin
- Coroutines
- Flow
- Channels
- MVVM
- Android SDK
- Analytics
Result and impact
- ~500 ms fasterBiometric latency
- Removed for help-content navigation updatesRelease dependency
- Enabled in-app fund addition with 1 Click PayPayment UX
The work made a critical fintech journey faster to operate, easier to change, and more cohesive for users while leaving the Android codebase in a healthier shape.
Learnings
- Fintech UX improvements work best when product clarity and defensive engineering move together.
- Remote configuration is most valuable when it removes release pressure from operational content.
- Architecture changes in live money flows need analytics, service contracts, and user trust considered together.
The throughline was trust. Users notice slow authentication and unnecessary payment hops immediately, so the engineering goal was to reduce friction while keeping the flow predictable and observable.