First Flutter Banking App in Europe
The universal bank that is part of the Société Générale international financial group. It serves 5 million private clients, 78000 small business clients, and 7350 corporate clients.
Create a new version of the mobile bank app for business
The bank made a decision to create a new business application. It has developed the smart bank concept, a service that adapts to the client. This way, clients of any scale will find it useful. Smart Bank is an all-in-one hub for solving any banking-related issues.
Any group of clients, such as accountants serving small companies on outsourcing, small and medium-sized businesses, representatives of corporations and holdings should find this application user-friendly.
The idea was to implement the project within the shortest possible terms. Therefore, the bank refused native development and focused on a cross-platform version. So, a team of developers had to create the app for both Android and iOS, which significantly reduces the time and cost of the whole project.
A mobile banking app is a large-scale project, so it requires qualified specialists to be involved in the development. The team must consist of not only Flutter developers, but there should also be analysts, designers, and QA. All processes must be well-developed: from CI/CD and quality assurance to management. Surf had it all.
Head of Mobile
Surf had to make the first version of a new business application within the framework of a smart banking concept. Further, the bank planned to take the project and continue developing it in-house.
- Create the first banking application in Europe based on the Flutter cross-platform technology.
- Integrate the application with legacy backend banking services.
- Migrate users to the new app without the need to register again.
- Help the bank to set up Flutter development and transfer the project for further in-house development and support.
The bank brought in a new business application with a bright modern design and user-friendly interface. All banking operations can now be done in just a couple of taps. All necessary information is now displayed on the main screen. Clients don’t need to register again in the new app.
With this app, you can add as many companies as you want, i.e. you can manage the finances of unrelated companies from a single device. Outsourced accountants and business owners with several legal entities can work simultaneously with different companies. In the holding mode and using only one account, the user can track data for the entire holding and each organization separately.
Flutter turned out to be a perfect solution and helped to reduce the time and cost of development.
Head of Mobile
Adaptable home screen
A smart banking app should provide quick access to all often used features. Therefore, the main screen is basically a dashboard or a control panel that includes blocks of the most popular services and notifications.
The first app version allows the user to manage accounts, work with documents and the invoice history with just a couple of clicks. Future versions will have even more features and the home screen will adapt to the type of user and his needs.
Documents at hand anywhere, anytime
We have added a prominent button on the home screen with which the bank clients can easily create documents.
You can create an invoice from scratch, use a saved template, or through a repeat feature in just three clicks.
All documents in a separate tab
A flex filter system allows you to simultaneously search by date, type, period, account, status, and amount. You can find a necessary document among hundreds of different documents in a few clicks.
Easy to work with invoices
You can instantly repeat the invoice, create a template, or send a report about it to your partners.
The bank came with its own design. We simply helped to improve it: we analyzed the business logic, format, and structure of the server data. As a result, we came up with a design that considers both the vision of the bank’s team and the technical intricacies of mobile development.
Flutter is a technology that saves and covers all the bank needs
The mobile app must work properly on both Android and iOS. To achieve this, two native applications need to be implemented: these are different programming languages and two development teams. Moreover, it’s pretty expensive to develop a native application.
So, it turned out to be easier and more profitable for the bank to use a Flutter cross-platform technology.
Flutter came to be a great solution that meets all bank needs:
- Shorter time-to-market.
- Ability to optimize costs: it is cheaper to maintain a Flutter development team than two native teams.
- The app is easier to test and debug thanks to a single code base, and it has a lower error rate.
- The application is easy to maintain, scale, and develop.
- Users can barely recognize any differences from native applications: smooth animations, interface elements characteristic of the operating system, and gesture navigation.
- Security: Dart code is compiled into native, non-human readable code. This greatly complicates the reverse rendering process. The security of the solution is even higher than in Java, Kotlin, or React Native.
Implemented new features despite the limitations of the old backend
Some of the services of the old backend were written in the outdated Burlap XML protocol. The new mobile application required a new architecture using JSON and Flutter. The Surf team faced a challenge: they needed to integrate the new application with the old backend.
And so, we found a solution: we wrote a middleware layer, which is an intermediate server that would connect the new mobile application to both Burlap and JSON. Middleware communicated with both the old and the new backend and responded in the language in which they expected to receive it. It acted as a “translator” from the backend languages to the language of the mobile application.
Thanks to the middleware, the bank was able to gradually rewrite the modules of the old banking system with new technologies. All the changes don’t affect the performance of the mobile banking app.
Seamless user migration from the old app to the new one
To log in to the mobile banking application for the first time, the user needs to log into the bank’s Internet client on a PC through an EDS. Next, he needs to authorize his mobile device. After that you can start enjoying the new mobile banking app.
If we just deployed a new mobile application, the bank clients would have to go through all the registration stages all over again. The bank wanted to avoid all this, so we needed to make a seamless authorization.
We had to migrate data from two native applications: iOS and Android. User registration in them was implemented in different ways, the data was stored on different servers. We needed to find this data and correctly transfer it to the new application.
As a result, we managed to do it: the new application is installed as an update of the old one. Users do not need to register again since their credentials are transferred automatically.
Project transfer to the in-house
While Surf was working on the first app version, the bank’s mobile department was busy setting up a Flutter development team. Surf specialists helped us to conduct technical interviews.
At first, the bank’s developers worked together with the Surf team. The Client’s team participated in the reviews, and developed some features together. Surf team showed developers how code and simple builds work. At the same time, the bank was setting up CI/CD to provide easy work with the code.
The point that we did the project on the standard SurfGear architecture available on GitHub (please, rate us ☆) greatly simplified the transfer process to the in-house.