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.

    Project Idea

    Create a mobile banking app for business: new version

    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 of the smart banking app. 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.  

    Flutter banking app is a large-scale project, so it requires qualified fintech app developers. 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. 

    We announced a tender for the development of a Flutter banking app, then we studied the portfolio of companies, relevant experience, and cost. What I liked most about Surf was that it was not too lazy to make a demo from layouts and offered us a reasonable price. We did a really great job as a single product team.

    Head of Mobile

    Surf had to build a banking app for business within the framework of a smart banking concept. Further, the bank planned to take the project and continue developing it in-house.

    Business Challenges

    • 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.

    Surf has developed more than 10 Flutter projects for fintech startups and banks

    Learn more

    The Results

    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 of a Flutter banking app. Clients don’t need to register again in the new app.

    With this Flutter banking 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 smart banking app development. 


    We created a nice platform for modern mobile banking in a very short time. We managed to create universal mobile banking for business, which is so handy to use for business clients of any size from a small coffee shop to an oil corporation.

    Head of Mobile

    Main Features

    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

    Building the app, we’ve added a prominent button on the home screen. With it, the bank clients can easily create documents.

    You can create an invoice from scratch, use saved templates, or through a repeat feature in 3 clicks.

    All documents in a separate tab

    A flex filter system allows you to search by date, type, period, account, status, and amount simultaneously. You can find a necessary document among hundreds of different documents in a few clicks.

    Easy to work with invoices

    You can use this Flutter banking app to add templates, instantly repeat the invoice, or send reports to your partners.


    How to start your project with the team that developed the first Flutter banking app in Europe?

    Read more

    The Solutions

    Smart design for a Flutter banking app

    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.

    The home screen has it all you need. Users can manage invoices, work with documents and invoice feed

    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 create a banking app using 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.

    Learn more about Flutter >>>

    Adding a smart banking app 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.

    Simplified interaction scheme via middleware

    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 application.

    If we just deployed a new mobile bank 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 mobile bank 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 Flutter banking app version, the bank’s mobile department was busy setting up a Flutter app development team. Surf specialists helped us to conduct technical interviews.

    At first, the bank’s developers worked together with the Surf team to adopt our experience in mobile banking app development. 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.

    Start your project with Surf

    Contact us
    Contact us
    Let’s discuss your project together
    CEO photo white

    Vladi Makeew

    CEO of Surf
    Drop a file here or click to upload
      Hidden span