Contents
    Natalie Monko Lead Project Manager

    How to Develop a Mobile Banking App Like Revolut: 7 Lessons for Newcomers

    Traditional banks generally have to address issues such as bureaucracy, paper-based workflows, and time-consuming processes. Acting via the Internet, neobanks automate a variety of tasks (for example, asset management, lending, investment) while offering an engaging user experience. Since neobanks do not have physical branches, they have their operational costs cut. Providing significantly lower fees and facilitating access to financial services, neobanks play an important role in financial inclusion. In this regard, the popularity of neobanks is seeing rapid growth with the COVID-19 pandemic accelerating the adoption. 

    Revolut is the worldwide leading neobank that delivers money transfer and wealth management services. In July 2021, Revolut was valued at $33 billion, which made it the UK’s most valuable fintech startup. Launched as a simple currency exchange solution, Revolut transformed into a complex platform with rich functionality while gaining global recognition and becoming one of the key market players. So, if you are wondering how to create a banking app as successful as Revolut, you should have a look at the company’s expertise to learn from it.

    At Surf, we have considerable experience in building fintech software. For instance, our engineers delivered the first banking application in Europe written with Flutter for one of the largest Russian banks. Another notable project is Zenit mobile bank, during which we implemented a range of features, including bill payments, money remittances, QR codes, and ATM search. To check out other case studies, visit our portfolio.

    In this article, the team at Surf will describe how to develop a mobile banking app like Revolut. Keep reading the guide to gain meaningful insights and recommendations.

    Why is the Revolut banking app so successful?

    Founded in 2015, Revolut was initially created with the intent to address a personal problem. As Nikolay Storonsky, a co-founder of Revolut, traveled a lot, he was often forced to pay fees of hundreds of pounds for exchanging currencies and carrying out foreign transactions. At some point, Nikolay realized that it was a common issue for people who went on a journey or business trip. As a result, Revolut was launched, making it possible to change money into nearly 30 currencies at market rates via the mobile app and card. 

    In the following years, a variety of new features were added to the product. As of today, Revolut is the worldwide leading neobank that specializes in mobile banking, online payments, money transfers, and foreign currency/cryptocurrency exchange. Revolut has a smartphone solution that supports online spending and ATM withdrawal in 120 currencies, as well as money transfers in 29 currencies. The application also gives access to numerous cryptocurrencies that involve Bitcoin, Litecoin, and Ethereum. If you are looking to learn how to integrate crypto payments into a mobile product, read our article on the topic.

    For now, Revolut has 18 million customers, up from around 15 million in spring 2021. Between 2019 and 2020, the number of corporate clients increased more than twofold, rising from 220,000 to 500,000. Currently, Revolut operates in 35+ countries that involve the UK, US, Japan, Singapore, and Australia. Delivering services to either business customers or private individuals, Revolut offers a free plan to try out basic functionality. To date, Revolut has raised a capital of $1.7 billion over 15 rounds.

    At the moment, neobanks are witnessing a surge with startups such as Revolut, Wise, Monzo, eToro, Nubank, and Starling Bank dominating the market. We’ve talked more on the topic in our article about leading fintech startups. In fact, Revolut came a long way to attract millions of users and become a major market player. The question is: how to develop a mobile banking app like Revolut that would be as successful today? Well, to find out the answer, let’s consider the expertise of the fintech startup.

    Learning from the expertise of Revolut

    Lesson #1: Define the key problem

    Before building a banking app like Revolut, it is essential to identify user pain points and expectations. By addressing their issues, you will manage to win customers and fill a market niche. Revolut’s founders, for instance, initially strove to minimize the fees imposed on foreign transactions and currency exchange. With the solution, Revolut was able to attract users and raise funds for further extension. 

    A fintech solution does not have to be a copy of Revolut, but needs to add true value, say, by helping users make intelligent investment decisions and improving budget planning. Since the current fintech landscape is as competitive as ever before, it is important to conduct market research and analyze the audience’s expectations prior to building a banking app like Revolut. 

    Here at Surf, we recommend that you also check out the latest reports and surveys devoted to the use of banking applications. Mastercard, for example, has recently surveyed more than 4,000 US and Canadian customers, in which it found that people use software products to pay bills (82%), receive online banking services (80%), file taxes (62%), transfer funds to friends and families (59%).

    How US customers use finance software solutions (Source: openbanking.mastercard.com)

    Lesson #2: Get a banking license

    When you are wondering how to develop a mobile banking app like Revolut  and outline a roadmap, you need to plan time and budget for securing a license. Representing a legal certificate, a license allows financial institutions to deliver banking-related services. There are a lot of licenses, each serving certain purposes and having its own specifications. 

    In 2018, Revolut obtained a Challenger bank license from the European Central Bank, which was facilitated by the Bank of Lithuania. Thanks to this, Revolut became able to provide consumer credits and accept deposits. The Bank of Lithuania approved Revolut’s application for an Electronic Money Institution license. In January 2021, Revolut also applied for a UK banking license and two months later — for a bank charter in the US. 

    To choose a banking license properly, you have to determine business needs and goals such as the scope of digital financial services you aim to offer, geographical location, costs, and other aspects. It is important to take into account licenses that can be secured in your country and research the requirements that have to be met. In our dedicated article, you can find out what types of banking licenses exist and what terms they impose.

    Lesson #3: Start with core features

    With the goal to increase project success chances while cutting costs and time to market, you should start with making a minimum viable product (MVP). An MVP contains only the core features to understand whether your solution meets your audience’s needs. By creating an MVP, you will avoid the risk of implementing complex functionality that end users may not even need.

    MVP development (Source: makersnow.com)

    An MVP of an app like Revolut should have the following features:

    • Registration and authorization. To increase customer engagement, an organization should offer a few ways to log in, for example, via email, Google, and Facebook. In order to safeguard sensitive data, it is crucial to implement security features such as two-factor authentication, biometrics (fingerprints, facial, or/and behavior recognition), and security questions.  
    • Home screen. The screen generally displays balance information for all cards connected to the app and provides fast access to other functionality.
    Revolut’s Home screen (Source: blog.revolut.com)
    • Online payments. A company should allow for paying off utility bills, mobile communication, public services, deposits, public transport, and so on. In addition, you can enable users to carry out cryptocurrency transactions.
    • Transaction history. Mobile banking app development includes the delivery of a transaction history functionality to let customers control their spending. When viewing the list of payments, clients should have the ability to view details such as the amount of money transferred, recipient information (for example, card number, the name of a person or organization), time, and date.
    • Saving Vaults. In order to help users faster accomplish their financial goals, you can let them create sub-accounts for putting money aside. When building a banking app like Revolut, you can allow customers to spin out the money by rounding up card transactions and saving a spare change in the vault.
    Revolut investment and trading functionality (Source: blog.revolut.com)

    With an MVP, you will be able to attract early users and collect their feedback. By listening to the audience, it will be possible to make updates according to its expectations, this way improving customer loyalty. 

    Lesson #4: Gradually extend a mobile banking app

    Revolut entered the market with a simple solution allowing to change money into numerous currencies at market rates. As of today, Revolut is a fully-fledged application that offers a wide range of financial services. If you want to know how to develop a mobile banking app like Revolut that will gain worldwide recognition, you should have a look at the timeline showcasing the key points of the startup evolution:

    • January 2017. Revolut provided customers with the possibility to split their bills using phone contacts, this way becoming the first challenger bank to deliver this functionality. Soon, neobanks such as Starling Bank and Monzo released this feature, too.
    Bill splitting functionality in the Revolut baking app (Source: revolut.com)
    • February 2017. The company launched UK current accounts to let users have their salaries paid into a mobile fintech application. With the view to engage clients and outrun competitors, Revolut significantly facilitated the process of opening a UK account. 

    For this purpose, the company allowed customers to use their selfies and passport photo for account verification instead of providing proof of address and a bank account. At the same time, Revolut incorporated a chatbot powered by artificial intelligence (AI) to answer user questions.

    • March 2017. Revolut entered into a partnership with Lending Works to offer credit lines to clients via the app. Aiming to increase revenue, the startup extended its monetization model by introducing Revolut Premium at the cost of £6.99 per month. Today Premium includes travel insurance, unlimited foreign exchange, disposable virtual cards, and double the number of free ATM withdrawals in foreign countries.
    • June 2017. The organization announced the release of business current accounts that would let clients make international money remittances without fees. 
    • July 2017. Revolut introduced so-called Euro Accounts while enabling users to generate a unique IBAN via a mobile fintech application. 
    • October 2017. The neobank introduced recurring payments. 
    • December 2017. Keeping pace with technology trends, Revolut developed cryptocurrency exchange functionality, allowing users to buy Bitcoin, Ethereum, and Litecoin in 25 currencies through the app.
    • January 2018. For the first time in a while, Revolut offered travel insurance services. The company also delivered its ‘Rev Me’ feature, so that customers were able to request money from people that are not registered in the system. In the meantime, Revolut integrated Price Alerts, notifying users about currency rate fluctuations. 
    • March 2018. Revolut came up with proximity payments allowing customers to transfer money to people near them. Additionally, the neobank created disposable virtual cards for its Premium clients to enforce the security of online payments. Those cards provide users with new card details for each transaction.
    • July 2019. The startup implemented commission-free stock trading on the NASDAQ and New York Stock Exchange. Initially, this functionality could be accessed by only clients of the Metal plan (provides discounts, quadruple free ATM withdrawals outside the country, as well as access to premium features and receive 1% cashback with any currency) but later became available to all users.  
    • August 2019. Revolut incorporated 3D Secure to enhance the security of payments.
    • June 2020. Aiming to boost customer satisfaction, Revolut introduced rewards in the form of discounts and cashback claimed by users when making purchases from more than 60 brands across industries such as beauty, fashion, and travel. On top of that, Revolut added personalized rewards to highlight the most interesting offers to shoppers.
    Rewards introduced by Revolut (Source: blog.revolut.com)
    • July 2021. Revolut enabled customers to book hotels and other accommodations while receiving up to 10% cashback on reservations made through the service.

    The story of Revolut is an excellent example of how to build a mobile banking app. In order to launch a successful fintech product, you do not have to deliver rich functionality in the first version. Otherwise, you may not meet consumer demand but just spend too much time and money. So, extend your solution gradually according to end-user needs and market tendencies.

    Start your project with Surf

    Contact us

    Lesson #5: Create a user-friendly design

    A user interface (UI) / experience (UX) design is an important stage in mobile banking app development. UI/UX experts have to provide smooth navigation, convenient menu structure, easy-to-use bank accounts while organizing content and functionality in a way that customers can interact with the solution without even thinking. 

    With the view to engage clients and prevent churn, it is crucial to create an intuitive user interface. Hence, the layout should not be overwhelmed with elements such as buttons, icons, and text. It is also essential to make a color theme clear and consistent while using the same fonts in the application. 

    Revolut’s mobile service is a great example of a user-friendly design. The product provides consistency across all screens and devices. Due to a self-explanatory UI, customers can easily find what they need. Every screen serves a certain purpose.

    The design of the Revolut banking app (Source: blog.revolut.com)

    Lesson #6: Ensure data security 

    As fintech applications store and process sensitive information, it is essential to take extra care of data security and privacy. Therefore, when figuring out how to develop a mobile banking app like Revolut, you should deliver features such as two-factor authentication, data encryption, and biometrics. 

    Regarding the expertise of Revolut, the company implements fingerprint recognition to increase the protection of user accounts. The Revolut mobile application allows users to add disposable virtual cards to their accounts. These cards can be employed only once to make an online payment before being removed. The fintech product also enables customers to block their cards and PIN. 

    Card and PIN functionality in the Revolut mobile banking app(Source: revolut.com)

    Furthermore, Revolut uses Sherlock—an anti-fraud system—to get real-time alerts about suspicious activities. Powered by AI, Sherlock continuously and autonomously monitors transactions carried out via the Revolut app. 

    If Sherlock detects potential risks, the payment is blocked and a card is frozen while a user receives a push notification asking whether the transaction is fraudulent or not. Depending on the answer, Sherlock unblocks or terminates the card. 

    The anti-fraud system used by the Revolut fintech app (Source: medium.com/revolut)

    With Sherlock, Revolut managed to save over $3 million during the year. The startup reports that 30% of predictions made by Sherlock were correct. In addition to that, the system identified 96% of fraudulent transactions. 

    Lesson #7: Make a banking app work offline

    Since users must be able to carry out transactions and make investments at any time they need, banking mobile app developers have to enable the offline mode. Thanks to this feature, customers will have the possibility to perform the required activities despite the unstable or absent Internet connection. 

    In order to deliver this functionality, Revolut built a tailor-made solution that first shows data from the cache. Requesting the data from the server, the tool saves it to the database and makes updates on the screen if necessary. Using the custom solution, engineers at Revolut did not have to implement an offline mode for each individual screen or component, this way saving time and increasing efficiency.

    Specializing in bankings app development, Surf has in-depth expertise in creating neobanks like Revolut, as well as other kinds of finance products. Let’s consider a few notable fintech projects delivered by our team.

    Surf’s experience in bankings app development

    Since its foundation in 2011, Surf has delivered dozens of banking and finance solutions. For example, our engineers built the first banking app in Europe written with Flutter for a Russian bank. The product enables customers to manage multiple accounts, exchange currencies, create documents, invoices, and payment orders. To prioritize features properly, we conducted interviews with domain professionals to explore their business goals and expectations. 

    Tagline, the largest analytical agency in Russia, ranked the startup TOP-1 among smartphone apps in the banking, finance, and insurance category. Employing the Flutter cross-platform framework, the banking institution did not have to write two codebases for iOS and Android, which allowed it to reduce expenses and time to market. With Flutter, the organization achieved performance and scalability. Learn more on why Flutter is perfectly suited for mobile banking app development.

    A mobile banking service for corporate clients of Promsvyazbank (PSB) is another featured fintech project in our portfolio. In just three months, we developed a mobile solution for VIP clients that allows customers to check their balance and cash flow, consult with a personal manager, and even book a private helicopter.

    A mobile banking app for Promsvyazbank (Source: surf.dev)

    Additionally, our team created a B2C mobile bank that lets users open a card, account, deposit, or loan. The home screen displays client products linked to the app while providing the possibility to remove or add any elements. By implementing expenditure visualization by categories, we enabled users to easily control their spending. With the solution, users can also view the history of all their operations.

    B2C mobile bank delivered by the team at Surf (Source: surf.dev)

    At Surf, we also built Twim, which is a mobile crypto exchange platform for both novice and professional investors. Using the app, customers can buy and sell cryptocurrencies while monitoring their rates in real time. 

    A crypto exchange app developed by Surf (Source: surf.dev)

    Final words

    Building a banking app like Revolut is a complex process that includes design, development, and testing. Prior to project start, it is crucial to analyze the strong and weak sides of rivals, as well as discover the audience’s pain points. This will help you identify the main product tasks and prioritize features to meet consumer demand. Remember that to achieve success, a fintech solution has to add value to customers while ensuring a seamless user experience. 

    With solid experience in banking apps development, our team undertakes software projects from business analysis and prototyping to support and maintenance. We provide assistance in preparing a technical specification, identifying the key functionality, and outlining a delivery roadmap. Following best software engineering practices, our engineers provide security, high availability, and fault tolerance while achieving compliance with the necessary regulations such as GDPR.

    If you are going to make a fintech app like Revolut, feel free to drop us a message

    Contact us