Building a Budget Planning App: How We Set the Basis for a Successful FinTech Startup with a Smart Algorithm for Detecting Subscriptions

Optimized process
Transactions in 10 sec
About the client
ApTap is a fintech startup launched by three students with the goal to facilitate financial management. Driven by their desire to let people manage their personal bills more easily, they came up with an idea of an app that would automatically analyze all expenses. 
The tool would allow users to simplify bill management and recurring payments while offering the flexibility to compare and switch between suppliers for better deals. 

The application for managing all recurring payments had to combine several essential features. First, it had to collect the user data, correctly classify the payments and finally present all the subscriptions in an easy-to-analyze way. Our client searched for a company that could tackle the development challenges and build an algorithm that would become the base of the future app. EVNE Developers became the perfect fit for this task with our strong development skills and product mindset.

We had to build an MVP (minimum viable product) powered by a smart algorithm that would automatically collect user data, define recurring payments and allow users to manage their subscriptions within a single app.
Yehor Saprykin, CPO EVNE Developers

To speed up the time to market and see how users would respond to a new product, we first had to build an MVP with all the basic functionality. As a fintech product, ApTap had to include three core features:

Access to billing data.
An algorithm that would automatically analyze and define recurring payments.
A platform to manage subscriptions and compare different suppliers.

To get access to data about payments, we connected the app with the banks via Open Banking. With the customer’s consent, the Open Banking system uses the APIs to give third-party financial service providers access to their financial data.

Once we got access to the payment data, the next step was to correctly classify it and define the recurring payments. To implement this, we built an algorithm that analyzes the data and automatically classifies the payments based on keywords and such criteria as frequency and sum of the payments. 

As a result, we delivered an app that listed all identified subscriptions and offered users to switch to more cost-effective options. Here’s a brief overview of how we managed to tackle every challenge along the way. 

Part 1: Building an MVP to manage all users’ subscriptions

The first part of the project was building an MVP for subscription management. Here’s how it works. The user’s consent is needed for ApTap to use their personal data, so the user logs in to their bank and provides the app with access. Once the access is granted, the app analyzes all transactions, identifying those that are recurring, such as Netflix or Spotify subscriptions. It also includes all types of suppliers, from water to mobile connection and insurance providers. 

The solution we built had everything the user needed to effortlessly track subscriptions:

Budget planning

The app lets users plan their budget by overviewing their past payments as well as upcoming ones.

The list of subscriptions

With access to payment data, ApTap displays all subscriptions on one screen, facilitating their management.

Switching between providers

Finally, through ApTap the users can see different options for subscriptions, compare prices and choose the most cost-saving deals.

But once the app was developed, a major issue arose. During the development phase, law regulations have changed and as result our client couldn’t get access to the payment data as it was planned. 

The Open Banking system in the EU provides two different levels of access: 

C1 Access (Read-Only Access) allows companies to retrieve and view a customer's account information from their bank. This includes details such as account balances, transaction history, and standing orders. 
C2 Access (Read/Write Access) allows licensed companies to not only retrieve account information but also initiate transactions on behalf of the customer. This can include making payments, transferring funds, and setting up direct debits.

ApTap needed C1 Access to be able to collect user data and identify payments as subscriptions, but there was no possibility to gain it without direct cooperation with the banks. Due to this fact, the project had to be stopped. But for ApTap it wasn’t the end. Even though the lack of access to Open Banking prevented the app from being launched, the product still had room for further development.

Our client returned to us in two weeks and asked to extract the core algorithm that identifies and analyzes payments. Happy to continue our collaboration, we started the second part of the project and moved to work with the search core.

Part 2: Extracting the algorithm for further development 

Motivated by the goal of securing investors and exploring avenues for product development, our client requested the delivery of the algorithm as a standalone component, decoupled from the user interface of the existing app we had developed. The client's intention was to showcase the algorithm's potential and attract potential investors without the need for complete app development. This is how we tackled the task. 

Leveraging Swagger to build an independent system

The algorithm we developed during the first phase was connected to the Open Banking system that had its own endpoints. This time it had to be independent of the system, allowing scalability and further development. 

To implement it, we used Swagger, an open-source framework for developing and describing RESTful APIs. Using the CSV files with the user data about bank transactions, provided by our client, we developed an algorithm that didn’t need the Open Banking system. In other words, we found a way to work directly with banks which meant a new start for ApTap. Now the algorithm could be used not only in an app for managing subscriptions but also as part of a mobile banking solution, providing users with analytics of their subscriptions.

Improving the accuracy of subscription detection with three categories of credibility

After the product got back on track, we had to ensure that its core feature would function as intended. The main challenge in automatically identifying subscriptions is accuracy. To avoid mistakes, we implemented 3 categories of accuracy to define if a payment refers to a subscription or not: 

  • 30-50% of credibility,
  • 50-75% of credibility, 
  • And more than 80% of credibility.

The percentage of credibility depends on several factors:

  1. the sum of the payment, 
  2. its regularity,
  3. the recipient. 

If the sum doesn’t change and it’s a monthly payment, then the algorithm automatically defines it as almost certainly a subscription. The chances are low if the sum varies or some months are skipped, because it may not be a subscription but some irregular payments. After the analysis is completed, the algorithm shows the suggestions and the user can approve them or not. By implementing 3 categories, we helped users better understand how the algorithm works and improved the accuracy of results overall. 

Optimizing the algorithm to reach the utmost accuracy

To identify payments, the algorithm also analyzes keywords such as, for example, Netflix, to define the exact type of subscription. We faced several challenges and went through many iterations to develop this feature. For example, some suppliers shared similar keywords, making it difficult to accurately identify the intended recipient. To solve it, we had to increase the number of the analyzed keywords, while not overpassing the limit of symbols as it could affect the time spent on analysis and result efficiency. 

Through multiple iterations, we managed to achieve a high level of accuracy, delivering an algorithm that automatically defines the type, frequency, and recipient of the payment. 

Independent from the Open Banking system, the solution can be developed further, avoiding the difficulties that we faced when first launched an MVP.

Value Delivered

With our help, ApTap has launched a foundation for a successful fintech startup and established a dedicated in-house team. ApTap now works with several banks, giving users advanced analytics on their subscriptions and helping them find cheaper suppliers.

Core algorithm

We built a foundation for the future product, successfully turning our client’s idea into reality.

Instant performance

The algorithm we built is able to perform real-time analysis of 100K transactions in 10 seconds.


We assured scalability of the product by applying engineering patterns and database structure.

Related Cababilities
Custom software development
For increasing ARR
SAAS Application Development
Looking to build an automated solution for your business?
EVNE Developers has the right expertise to build and deliver products that change the world for the better. Tell us your idea and we’ll find a way to successfully implement it.