The customer, CIAN, is the largest real estate website
in Russia, who has the largest database and the best tools for
real estate agents.
CIAN’s former service partner in mortgage selection generated insufficient profits and was not user-friendly according to users’ feedback. Our task was to develop a new service and create an internal classified of banks and banking programs.
Real estate has always been closely linked with banking products, namely mortgage. cian.ru provides users with house-buying mortgage offers through a partner promo widget. But this solution had at least two main issues:
1) It did not generate sufficient profit.
2) According to users’ feedback, it was not user-friendly.
The company planned to increase revenue by developing its own financial tools on the website, while not losing revenue from the existing widget. In addition, they needed to implement an internal classified of all the banks of the country and their products related to real estate in any way.
Our team started the work with a thorough revision of the requirements. We held many Skype-meetings with the client, during which we accumulated new knowledge about the subject domain and business requirements. We studied mortgage lending in detail, the logic of forming annuity and graduated payments, as well as other specific concepts. All the accumulated knowledge was arranged with Confluence.
After a detailed business analysis, we proceeded to designing the technical part of the product. Being guided by CIAN’s further tasks, we needed to create a convenient tool to manage the classified of financial organizations (banks, mortgage brokers, MFCs), and their products (mortgages, loans).
Technically, the entire product is split into three microservices: two frontends and one backend. For the API, we described the Swagger specification so that backend microservice clients could use it. For the most important scenarios of the dashboard and main website, we described the points of our API integration with other microservices of CIAN.
The product development was based on weekly iterations with regular upload and acceptance on stage servers. The backend was developed in Python and the asynchronous Tornado framework, and the frontend was developed in React/Redux and TypeScript with Node server rendering. The general requirement was that any web pages (except for the dashboard) should process (that is, completely give away all the content) for 450–500 msec at the 99th percentile.
It was very important for us to provide users with a flexible and convenient filter in order to enable our service to choose a suitable mortgage for a particular person with sufficient accuracy. Changing filter parameters, users can immediately see in real time how many offers we are ready to propose.
By selecting the program of interest from the list, users can access more details of the program on a separate page. There is a fully-fledged mortgage calculator with the functionality to set additional conditions.
Suppose the user’s salary is paid to a bank card of the required bank and this bank offers more favorable terms to such clients. In this case, the corresponding modifier «My salary is paid to this bank’s card» appears in the calculator interface, and the calculator recalculates the rate, amount, interest, and schedules with account of the new conditions.
In addition, the service supports several other additional conditions that may affect the interest rate. For example, proof of income. If there is one, then in what form? The user is provided with only a set of conditions that are actually applied by the bank.
An important tool in planning a mortgage are the payment schedule and chart. The developed service is very convenient in this respect. Users can see interest rates and principal debt payment amounts for any months, and the visual display of debt repayment makes it much easier to perceive.
The most important elements of the entire cian.ru website are the pages of particular real estate items. They contain all necessary information, as well as prices. Therefore, it was important for us to embed our service into such pages. This was implemented by developing a mini calculator widget that makes it possible for users to quickly navigate to the list of mortgage programs suitable for a particular real estate item.
The service has a fully adaptive interface and functions perfectly on various devices: smartphones, tablets, laptops, and PCs.
This is an example of a project actually implemented from the described idea. The team of six people managed to study into the subject field thoroughly, collect and analyze the requirements, design and launch a fully-fledged service for the mortgage program selection for just three months. We want to emphasize, in particular, that we have become an integrated part of CIAN’s team, infrastructure, and processes.
“ Antida уже долгое время является нашим важным и надежным партнером в области разработки. Компетенции их команды позволяют нам ставить перед ними сложные и ответственные задачи, которые всегда выполняются на неизменно высоком уровне. Ребята работают абсолютно прозрачно и легко интегрируются в наши внутренние процессы, что для нас является критически важным.