Mobile banking for business


Using Flutter to Create a New Version of “Rosbank Business” Mobile App

The previous “Rosbank Business” app was created a long time ago. It was getting more and more difficult to upgrade and update, that’s why there was a need for Rosbank to create a new modern app for corporate clients.

Before they got down to the project, Rosbank carried out studies and framed a new modern concept — a “smart bank”. A smart bank is a client support center dealing with banking issues. It helps clients with everything: you don’t have to think when to pay taxes, where to find bank details for a payment you’ve already made. Whenever an issue concerning counterparties or bills arises, a client gets notified straight away and is able to deal with it ASAP.

Surf were to create the first version of the new smart-bank app, which then would be taken by Rosbank for in-house development and upgrade.


Design: a Combination of Surf’s Experience and Product Vision Contributed by Rosbank

Rosbank approached us with their own design. Here at Surf we studied it in terms of business logic and helped finalize it with format and structure of server data in mind.

Changes in design were introduced alongside the development process: some changes came on the go, when we realized that users may not respond to something in the right way, while some changes were due to technical constraints.

The user manages invoices, works with documents and the payment feed right from the home screen

Bringing the Old Backend and the New App Together

We didn’t have enough time to develop a backend for the new service from scratch. Therefore we created a middleware server: a layer between the new mobile app, the old and a new backend.

Thanks to middleware modules of the old automated banking system (ABS) can be gradually re-written using new technologies without affecting the mobile client.

Middleware process flow chart. The previous backend was written in the early 00’s on Burlap, which has now become an outdated XML-protocol. The new mobile app is working with JSON

Middleware server is acting as an interpreter from backend languages to the language of the mobile app in addition to normalizing data, i.e. translating to the format required.

Creating the App on Flutter

Rosbank asked Surf for a Flutter app in the first place.

It’s cost-efficient to develop mobile apps on Flutter: one cross-platform app is quicker to make than two native ones. Consequently, it implies a smaller cost of production.

Flutter gives a substantial advantage in terms of product upgrade in the long run: it’s easier to form an in-house team, the team itself is smaller and easier to manage, development goes quicker, and it also takes less time to deliver value to an end-user.

Flutter is a great option for a product team. And Rosbank were among the first ones to figure it out in the banking sector.

Just three taps to create a payment from scratch, by a pre-saved template or by repeat

Seamless User Migration from the Old App to the New One

The first authorization in a mobile banking app for corporate clients is a challenge for a user. It requires you to log in to a web client of your bank on your computer with an EDS. Then you’ll have to authorize your mobile device. And only then at last you’ll be able to use a mobile banking app.

If we simply deployed an update for the mobile app, the existing users would have to get through all the stages of logging in once again. Rosbank care about their clients. That’s why our team of developers was required to provide for seamless user migration.

We’ve met the challenge: the new app will be installed as an update of the old one. Users will not be required to log in once again: all login details will automatically be transferred to the new version.

Handover process

While Surf were working on the first version of the app, Rosbank were putting together a team of Flutter developers. Surf helped with a few job interviews.

In-house team training and project transfer took us about two months. At first, Rosbank developers worked together with Surf’s team: at our command, following our processes, in our Jira and in accordance with our gitflow.

All Flutter projects in Surf are developed using standard SurfGear architecture, available on GitHub (please, rate us ☆). This makes it easier to transfer a project to an in-house team as well.


The First Banking App on Flutter in Russia

  • “Rosbank Business” app is Russia’s first and the world’s second banking app written on a cross-platform technology — Flutter.
  • We helped the bank establish an in-house Flutter development team.
  • Rosbank are now effectively developing the app on their own.

Request a free consultation with our experts & estimate your project
Esimate Project
Обсудить проект