ES Get in touch arrow_forward
apps Switch project expand_more

Caixabank Now

10M+ downloads
at Indra · Banking Android 2019–2021 Published
Caixabank Now home screen showing account balance and recent transactions
01

The Product

CaixaBankNow is one of Spain's largest banking apps, used by millions of CaixaBank customers to manage their entire financial life from their phone. It is a vast product, organized into many sections and modules maintained by multiple teams, covering everything from accounts, cards, transfers, and Bizum to payments, loans, insurance, and investments. With more than 10 million downloads and over a million active users, every change must meet banking-grade compliance and zero-downtime release standards.

02

Features

Given the size of the app and the many teams behind it, this focuses on the modules I worked on directly, around six in total. The most significant include:

Dashboard

The app's home screen, giving customers an at-a-glance overview of their finances with quick access to the information and operations they use most.

PSD2 (Open Banking)

A secure gateway, developed under the European PSD2 open-banking regulation, that lets authorized external applications such as fintech services interact with the bank and access account information on the customer's behalf.

03

My Role

As Senior Android Engineer at Indra, CaixaBank's technology partner, I worked on the CaixaBankNow Android app, contributing to around six of its modules and growing from working alongside the team to taking full ownership of the PSD2 module as its solo Android engineer, a step up that came with greater responsibility and daily contact with the client.

Development and Architecture

I architected and maintained a modular codebase using Clean Architecture and the MVP pattern, delivering large-scale business features across the banking domain. The codebase combined Java and Kotlin, with RxJava and Coroutines for asynchronous work, Dagger 2 for dependency injection, and Retrofit for networking.

Module Ownership and Growth

I started by working on the app alongside my colleagues across several of its modules, and over time I took ownership of the PSD2 module: a secure gateway, built under the European open-banking regulation, that lets external applications such as fintech services interact with the bank. As the solo Android engineer on this module, I was responsible for its development from end to end. It was built entirely in Kotlin, a deliberate decision that required a dedicated request within a codebase that until then had been predominantly Java.

Collaboration with the Client

The module was developed in a dedicated squad where I was the Android engineer alongside an iOS and a QA colleague from Indra, while the Product Owner and Scrum Master were on the client side at CaixaBank. I was the reference for the Indra team and made sure it ran smoothly, and I worked with the client daily, taking part in the Scrum dailies with the Scrum Master, and at times the Product Owner, to align on scope and progress.

Code Quality and Reliability

On a multi-team codebase serving millions of users, the work followed a rigorous process to maintain velocity without compromising quality. Because banking apps are highly sensitive, every change had to clear banking-grade compliance and meet the strict standards required to keep the app fully available at all times.

Git Reference

I served as the team's Git reference, resolving the complex version control issues that arose across the multi-team codebase and keeping everyone unblocked.

04

Technical Stack

JavaKotlinClean ArchitectureMVPRxJavaCoroutinesDagger 2RetrofitTealiumJUnitEspressoMockitoGit