Rabobank IDB Delivers Web and Native Mobile Banking Experiences
Rabobank is a leading international cooperative bank headquartered in the Netherlands—it’s the second-largest asset-holding Dutch bank with a global portfolio based on sustainability, food, and agriculture.
You may be surprised to see an AgriBank with a highly rated savings mobile app in the iOS and Android stores (4.7 ratings in both).
But the success of Rabobank’s International Direct Banking (IDB) unit’s web and Native Mobile applications, which service Germany and Belgium, more than hints at the bank’s ability to be an innovative leader in their space.
Rabobank was facing compliance challenges, heightened customer expectations, and increased competition. Today, they’ve digitized, streamlined, and energized their client onboarding process, delivering both Web and Native Mobile versions of their savings portal to the delight of 500,000 customers, all on a single platform.
Let’s examine how, with help the Mendix low-code development platform, and key partner Finaps, Rabobank was able to deliver high-quality, customer-facing digital products faster and more efficiently and, in the process, revolutionize the use of low-code development in the financial space.
Great(er) Expectations, Further Complications
There was a time when banking meant a face-to-face interaction, a pneumatic tube at the drive-thru, or, at its most technologically advanced, an ATM transaction. But modern banking clients conduct business online, not in line.
“We now need to compete with those completely digital-native companies,” he added.
But keeping up with shifting customer expectations is just one of many challenges for Rabobank and the banking industry at large. Let’s examine the pressures that regulation, competition, and modernization exert on banks and their business development strategies.
The Cost of Compliance
New banking opportunities, heightened user access, and the digitization of the financial industry have spurred an increase in regulations. Unfortunately, increases in compliance requirements often result in decreased product differentiation.
“The pressure is increasing on banks from a threat perspective,” said Kammerer. “Regulation is increasing tremendously. Depending on the market, the possibilities to define your product in the way you would like are limited. These days, how can you really differentiate yourself from another bank only by having better interest rates?”
Stuck Between Startups & Big Tech
With Big Tech firms such as Apple and Google on one end, and pesky startup companies that can leverage their lack of traditional brick-and-mortar costs into higher APR rates and cutting-edge apps for their customers on the other, it’s clear there is blood in the water. Traditional banks sometimes struggle to reposition themselves using a technology-first approach.
“We now compete with companies that have never offered any financial service products,” said Kammerer. “We’re not only competing with classic banks, but with different players that can add even more features and attract the same kind of client.”
Selling a Solution to Legacy Debt
Legacy system updates are a hard sell for traditional banking enterprises, especially when there seems to be little value-add after a high-cost, high-effort system modernization effort. Many banks settle for quick wins from building on top of what already exists. The result is an ad hoc digitization effort that adds to technical debt instead of alleviating it.
“That’s also something that we have done as Rabobank and IDB, we updated our core banking system, which was extremely expensive,” he said.
Kammerer and Rabobank completed their core legacy systems update approximately three years ago, with lots of time, effort, and expense, but little fanfare from a customer or client perspective—at first. However, the implementation of Sopra, a component-based cloud banking platform, created a modern foundation that could interface with today’s tools, applications, and innovative technologies.
Introducing Low-Code Application Development, and Finaps
After the successful integration of Sopra’s API-first banking platform, Rabobank’s International Direct Banking (IDB) business unit began exploring ways to use these new tools to ramp up their online-only savings business in Belgium and Germany. The IDB unit was interested in building mobile and web applications that could leverage Sopra’s flexibility and customer-first advantages. As a smaller business unit, the IDB group didn’t have the developers or the budget to independently reach the goals they had set out for the project:
- Reduce customer onboarding abandonment
- Deliver a fully functioning, multichannel landscape with web and mobile apps
- Deploy in two separate international markets
- Govern apps with the limited resources of a small business unit
They turned to Finaps, a Mendix partner, who had previously worked with Rabobank. “They were interested in not only purely doing projects with us,” said Irene Ronner, head of IT at Rabobank IDB. “But also helping us with the maintenance and the operational parts as well, which we also needed.”
Finaps was a perfect fit for Rabobank—not only did they have the experience to guide the web and mobile application projects, but they also understood the financial sector’s priorities, benchmarks, and constraints. In addition, Finaps’ unique approach to the project was based on organizational support, collaboration, and partnership, serving as a model for the way Rabobank would structure IT-Business projects and incorporate low-code development moving forward.
Ronner agreed, calling Finaps and Rabobank a “cultural match,” pointing out that she had come to expect not only great quality work from their partnership but also great experiences working together. “Finaps is always seeking to do the things in Rabobank’s best interests, I felt that many times and that to me is very important,” Ronner said.
Middleware and the Introduction of Mendix
Shortly after beginning the project, Rabobank and Finaps agreed that Mendix’s low-code application development platform would be an excellent fit for IDB, given its:
- Seamless integration capabilities
- Interoperability with their new Sopra core system and broader technology stack
- Business priorities of fast and low-overhead development
Finaps also actualized a feature in Mendix that Rabobank knew it needed: the ability to collaborate with a common, visual language. “I would challenge the team from Finaps,” Kammerer shared. “I’d say ‘Okay, why did you actually develop it in that way?'”
Rabobank set up its technology stack to be containerized and composable. On top of the backend system is a cross-channel framework or layer that serves as a connection portal to all applications and the rest of the outside world.
“We actually saw our landscape as, very roughly spoken, consisting of three layers,” said Ronner. “The foundation is our core banking system—that needs to be robust and very solid and not necessarily so fast and so flexible. On top of that we have our CRM and analytics systems, and then the third layer was the presentation layer.”
According to Ronner, the presentation layer needed to be the most flexible and independent of the core banking back end in order to make fast and efficient changes in a contained environment.
“From a security point of view, the core banking and that cross-channel layer, they are hosted in a private cloud at Sopra Steria, whereas the front-end systems, they are in Azure,” said Hendrik Hofkens, Core Banking Delivery Manager at Rabobank. “That means that we only have to monitor the connections between Azure and the private cloud to secure the exchange of data.”
Hofkens added that a staging environment also exists in the middleware landscape, which was built in Mendix and is used for all the front-end apps that use master data coming from the backend. “This application basically retrieves all the master data tables from the core banking system and syncs it to the front-end applications.”
With all the system pieces in place, Rabobank and Finaps took a close look at how to attract customers best and how they could leverage low-code to build new markets.
“So, we have three huge channels, which are all extremely important from a strategic perspective, which are all based on Mendix,” he said.
Upgrading Onboarding
In Germany, compliance protocols require answers to two dozen questions to onboard customers. The sheer volume of questions daunted many potential clients and customers. Others would get to question no. 23, realize they made a mistake, and would need to start the whole process over. Further, Rabobank’s previous setup made it difficult to track the number of users that abandoned the onboarding flow midstream. From an opportunity cost perspective, it was, according to Kammerer, “a nightmare.”
“We need to ask you those questions, they are mandatory,” said Kammerer.
While regulations required all questions to be answered to open an account through Rabobank IDB, they didn’t stipulate when the questions needed to be answered. By splitting the questions up over multiple sessions, Rabobank could reduce the first step, the pre-conversion requirement to the bare minimum and then ask the remainder of the mandatory questions after the user’s initial sign-in.
“In the end, I think we only ask three or four questions; your first name, your last name, your email address, and telephone number,” said Kammerer. “A customer will get an email from us with credentials to log into the online banking application, from where the remaining 20 questions can be answered later.”
With this new capability, Rabobank saw:
- An increase in conversion rates
- More visibility into the onboarding process
With the modular component-based infrastructure and the Mendix application on top, users would come from the presentation layer hosted in Azure to the secured online banking area hosted in Sopra Steria.
“Once you are in our online banking area answering the remaining 20 questions, I can track everything that you’re doing. I can see what question you stopped at, if you came back to finish onboarding, how much time did you spend answering questions X, Y, Z,” said Kammerer.
Virtual Verification
Another onboarding regulation protocol requires customer verification: Rabobank is required to ensure the person creating the account is who they say they are. Previously, this was an in-person process requiring human intervention and could take days to complete.
“That verification usually happens within an office,” said Kesteloo. “So, someone sees your face and matches it with your ID, and then you’re good to go. But now, this whole process fully digital, using a solution, like WebID.”
In Germany, that solution is Deutsche Post’s video chat identification application. The Mendix application redirects the prospective user to a portal where they self-identify and are either confirmed or denied by Deutsche Post, with that information routed back to Rabobank. The time required to complete the process, according to Hofkens, is “reduced from days to minutes.”
Underneath the hood, Kesteloo points out that the client onboarding process is easily configurable using a flexible backend workflow management tool, which is a Mendix application. “It’s sort of a decision engine, which allows people to dynamically configure the user journey, the questions that are asked, and the flows users take without releasing a new version of the app. The back-office team can configure the client onboarding flow completely themselves.”
Building the Web Portal
On Rabobank IDB’s online web app, a new user or a user who isn’t logged in experiences the public website, into which the online banking web application is embedded.
“From that moment on, all data that is being sent and received is coming from an API layer that was developed by Sopra Steria. All traffic is moving via that intermediary API layer,” he added.
By using the same session ID, the CMS, the Mendix application container, and the API layer can all identify user status as logged in or out and then interact with a session token mechanism that ensures backend access while active. “The session token will remain active for 15 minutes or so,” said Kesteloo.
To build out new features, govern, and test the web portal, Rabobank builds docker images using buildpacks, delivered through a CI/CD pipeline provided by their web hosting partner, Sopra Steria. “We create a tag using an SVN manager locally and mark a revision of the application container with a tag on a Mendix repository,” said Kesteloo. “Then we provide that in the Jenkins pipeline, and then the Jenkins pipeline just uses the buildpack, collects that version from the repository, and builds the Mendix container on Azure.”
Mobile Upgrade
The web application’s success was the proof of concept that Rabobank needed to approach their next hurdle: build an online experience with a small, interchangeable group of developers. According to Kesteloo, the Mendix platform almost “fits perfectly” within those requirements while still maintaining the concept set forth by the Rabobank and Finaps teams.
“We had a very small team working on the mobile banking app, we started with three engineers only, and eventually only five,” said Kesteloo. “There was already a web application, but our team didn’t develop a lot on that.
The Finaps and Rabobank IDB team realized that “lifting and shifting” from the web app to the mobile application wasn’t viable. They also faced another challenge.
“Back then, Mendix only provided a hybrid solution,” said Kesteloo. “It was going to be tough, because they really wanted to stay as much in the Mendix platform as possible, so hybrid was the only option, and we had some discussions together with Mendix as well on how to build a fully secure working mobile banking app in that hybrid solution.”
Beta Native Solution
The team quickly found that building a hybrid solution made satisfying many of the business requirements difficult, if not impossible. “For example, sessions: what is happening when a user is waiting on a screen, while the screen is using technology from another server, coming from the software development kit inside that mobile app,” said Kesteloo. “We hit so many questions and boundaries and challenges that, at some point, we thought we should make this native.”
They also faced difficulties successfully embedding a security SDK into the hybrid environment per stringent business requirements. As with the web app that uses an API layer to connect session information, the mobile application uses an API layer to host the security platform Transmit, which handles biometric security and other session-specific information.
“That was the biggest architectural challenge that we had in the beginning with the mobile app,” said Kesteloo. “The whole session idea, how a user is allowed to use the API layer to access their data in the core banking system, that had to be handled differently from the web app.”
But the Finaps team was already in discussion with Mendix about a new product release coming for the low-code application development platform. “Mendix approached us and said they were working on a new technology, a native experience from the Mendix platform for mobile development, and why not use the Rabobank case as a showcase, as a sort of a beta product.” said Kesteloo. “And Rabobank was up for that, so that’s how the project started.”
Mobile Development: Offline First
Mobile development requires an offline-first approach, because users expect robust functionality regardless of their connection status. With the Mendix server, Finaps and Rabobank IDB logged actions via microflows until the server connection could be reestablished and the actions could be synced and log actions recorded.
Describing how the solution requires asynchronous communication, and a strong definition of what occurs on a mobile device versus the back end, Kesteloo continued “Usually within Mendix, you don’t have to think about client versus server.”
Rabobank uses the Microsoft App Center library within the native-Mendix template to wrangle customer logs and offline user activity. “And then as an alternative, we also use Piwik, which is similar to Google Analytics, it’s also an SDK that we install within the mobile app to send some user data over an internet connection,” said Kesteloo. “We can we analyze page transitions, button clicks that happened offline, for instance, a button click within a nanoflow creates a JavaScript action informing Piwik that someone is using the mobile app or clicking this button.”
These tools not only help with product development and customer engagement, but they also help if something fails or when Rabobank must analyze a bug on a specific device.
Perfecting the Experience, Hitting the Market
Publishing the first-ever low-code native mobile B2C app came with many new challenges for the Finaps and Rabobank IDB teams, including:
- Building a custom React Native functionality
- High concurrent user testing
- Utilizing publicly available React Native libraries for the first time
While the core functionality of the Mendix platform was used to create the bulk of the application, Kesteloo and the Rabobank team built roughly 20% of the portal’s user interface using React Native. To neatly integrate these custom-built features, the Finaps team used a bridge file to embed React Native libraries in Mendix widgets, allowing them to build interfaces that perfectly matched the Rabobank team’s business requirements.
“For example, a Parallax scroll view was required for the banking details section, so we used a bit of a library for that within a widget,” said Kesteloo. “We wrote that widget to work with Mendix, it’s that sort of widget that we developed ourselves.”
Unique to the project was a team of developers not normally associated with delivering a React Native application. At the beginning of the project, with Native Mobile support in Beta, the Finaps team assigned two developers with React Native experience to contribute to the project.
“It doesn’t require any open-source development knowledge, per se,” he added. As the end of the project approached, the application was largely delivered by generalist Mendix developers.
Prior to deployment, the team worked to ensure that the application met high standards for security and quality. “The Rabobank security policy is strict,” described Hofkens, “they go very far, but these elements also helped us define the best architecture.”
To provide the best possible experience and account for all possible offline scenarios, the Rabobank team did the following:
- Conducted automated testing each evening to ensure errors had been detected at the earliest possible stage of development.
- Planned for all possible connection scenarios across offline, 4G and 5G, and WiFi.
- Built load screens, spinners, and messages to assure users the application was still at work, regardless of connection quality.
Once Rabobank was ready to deploy, Finaps used its Android and iOS licenses to deliver Test and Acceptance versions of the application. “Once they are fully accepted by the business, we create an unsigned package and send it to Rabo NL and they sign it under the Rabobank license and publish it in the Rabobank app stores,” said Kesteloo.
The Results Speak for Themselves
The Rabobank IDB mobile application has a 4.7 average rating in the Android and iOS stores. And for those few-and-far-between less-than-perfect scores, Rabobank knows it can capture and act on bug fixes and feature requests.
“Our goal as a direct bank is to give clients the possibility to use our services 24/7, which we have been able to deliver,” said Kammerer. “And now, when a client says in the app store, ’This is the reason why I’m not giving you a five-star rating,’ we know from a technical perspective, we can develop something to satisfy a client request in a couple weeks. This has huge value for clients.”
With Mendix, Rabobank can also rapidly develop a prototype for internal review and improvement, increasing both efficiency and collaboration opportunities. “I think low-code has helped a lot because people have been able, after a short time, see the app on their smartphones. And I think this is not possible, or more difficult, if you’re working in the complete waterfall-ish classical way of developing apps,” said Kammerer.
“At the end, we are a tech company with financial books behind us,” he said.
For Kammerer and Rabobank, the mobile app is about client retention more than acquisition. As Rabobank continues to compete in the ever-changing financial sector, they realize that they do not have to innovate the next big tech solution for their customers, but rather can quickly pivot or develop application solutions that help them keep market pace. From the results of their first efforts, it’s clear the Rabobank team can deliver an experience that their 500,000 customers will be happy with.