New infrastructure and management for an investment platform
Potok is a crowdfunding platform for lending and investments for medium and small businesses. It allows small businesses to quickly attract loans from investors, individuals and legal entities, while they receive equally fast returns.
The platform was launched as an Alfa Bank project back in 2015, but in 2019, the bank sold a 40% stake to a group of private investors with experience in the development of fintech projects.
The platform is written in Ruby on Rails, so the new shareholders approached Evrone, since we are experts in this technological stack, with the task of managing the development and support of an innovative product.
Potok is a digital financial system that has to meet high quality standards. It needs to be secure and safe to use and work quickly. The online investing system also has to be highly scalable.
Some of the tasks that were transferred to us were directly related to the new platform functionality, but the main emphasis was on creating their own infrastructure that would not be tied to the banking system. It was necessary to build effective development processes, facilitate communication between the office team, contractors, and remote employees, and release a product update.
Very quickly, Potok transformed from an MVP startup into a serious fintech solution that could provide financial services for small businesses. It became more complicated, and new requirements appeared for the architecture of the service. Their team is preparing for rapid growth, so here is what we did to guarantee scalability:
- The system was moved to a new environment, while changing the deployment principles. The project uses Docker, but there were new requirements for orchestration, and Kubernetes was added in the new version of the platform. The advantage of this technology is the ability to quickly deploy infrastructure with the capabilities of any data center.
- We began storing the configuration in one repository. This allows you to work with it as with the main application code, conducting code reviews, monitoring changes, and reusing it, if necessary.
- We set up an advanced monitoring system with Prometheus. It allows you to monitor the load of the system and quickly respond to problems.
- We updated the automatic backup system with the ability to see the logs and changes in the data. Now they can go back and see any info from the past 10 years.
All this, together with a number of management decisions, saved developers from a fairly large amount of manual work and allowed for new releases and emergency fixes in a matter of minutes.
The project is written in Ruby on Rails, which Evrone has worked with for over 12 years. So, when we needed to speed up the current tasks, we were able to easily augment and strengthen the team.
The Evrone team was responsible for the part of the system that manages the personal accounts of borrowers, as well as a number of modules in Python.
The most technically difficult part of the work was the removal of billing and investors’ accounts from the old monolith, as well as the transfer of all subsystems to work through the API.
Expanding the circle of investors
In the first version of Potok, only an account holder in Alfa-Bank could become a client-investor. In order to expand the number of investors, it was necessary to remove this restriction. The system needed to be able to withdraw authorization from the information system of the parent bank, into its own capacities, so that any individuals or organizations could use the service, without being tied to a particular bank.
The introduction of these functions coincided with the introduction of legislative changes: the new crowdfunding law obliged all investment platforms to keep investor funds in a nominal account. It is a regular settlement account in bank, but the funds in it belong to investors, while Potok manages these funds. Interaction with this account was produced through the API of a bank.
Evrone joined the work at a rather difficult moment — when the project management was about to change. The new shareholders wanted to concentrate on scaling and restructuring the business, while having an experienced development team. So, we focused on strengthening the team, the viability of the project, and the release of a new version of the service.
The difficulty was that the development was conducted in a distributed manner. Some of the employees were in the office, while others worked remotely, and some of the tasks were handled by third-party contractors. Such a mixed team can be quite difficult to manage.
However, Evrone has been working remotely since its foundation, so we have plenty of experience managing a remote software development team. Maintaining effective development, without having to stand behind every employee, is something we are proud of. We successfully applied our remote management experience when working with Potok, ensuring the release of new functions and forming the backbone of the team with our expertise.
Potok announced a relaunch in early 2020. The new version of the platform allowed the customers with an account in any bank to invest in small businesses. Potok became one of the first in the crowdlending market to introduce using a special nominal account. The diversification of investments has been significantly improved: investor funds are automatically distributed to at least fifty borrowing companies, which significantly reduces the risk of losses.
The Evrone team is actively gaining experience with fintech solutions. If you are looking for an accomplished technology partner to develop a financial service, or you need remote development management services, fill out the form below and we will contact you soon to discuss your product.