Recruiting platform design


Top20Talent offers multiple job placement opportunities on two different levels: business-to-business and business-to-clients. For this reason, this complex web platform is divided into two parts that manage submitted data on jobs and candidates and offer fast search in indexed data.

  • Industry - Enterprise Software
  • Services - Web Development / IT Consulting / Quality Assurance
  • Main Technologies - Django / Python / VueJS

2 Platforms

for B2B and B2C segments.

2 Teams

develop & maintain their respective platform.

Complex solution for easy recruiting

Top20Talent is a complex job placement solution that covers both B2B and B2C functionalities. The combination of two parts offers one platform to land a job or hire a specialist by providing two databases: one contains structured information on employees and the other – on open vacancies. All this information is submitted by users who may send their CVs or post a recruitment offer for an open position in their project.

Introduction to the Problem

The initial function of Top20Talent was hiring candidates easily and effectively. Since the amount of vacancies and resumes was high, it was necessary to implement filters in order to sort search results. As the project developed, we suggested to split it in two parts, each covering a separate functionality. The B2B part allows creating a certain specialist vacancy for a project and reviewing or comparing the CVs of those who apply, as well as scheduling an interview. The B2C part added a long-demanded functionality – work search. To use it, candidates may register in the system, fill their profiles, inspect the full list of available jobs, and apply for vacancies.

Challenges & Solutions

Syncing and Search Optimization

The need for regular database synchronization between our platform and a remote one presented a serious problem. Updating too frequently could corrupt databases, and too rare updates could result in the abundance of outdated information or duplicates. However, our team has found the required balance and effective technologies to implement it. Thus, only new or changed data is synchronized, while the unchanged database entries are not rewritten which reduces the number of read/write operations. Data on each candidate is stored in the form of tables; however, we also implemented data indexing using Elasticsearch to store it in a tree form that enables faster searching and result filtering.

1 Project, 2 Parts, an Extra Platform

The presence of B2B and B2C parts required dividing a project team into two development groups, each comprising a team lead, a QA specialist, and a back-end coder. There was only one front-end programmer for both parts. This web platform is specifically designed for interacting with clients – employers and job seekers. In contrast, there is a separate third-party admin platform located in China with another database of potential employees. Our team had to implement integration and data synchronization between these two platforms to unify database entries including their IDs. We also integrated DaXtra – an external service to perform data parsing on submitted CVs using AI in order to obtain optimized structured templates with required fields for candidates.

01 / 02

And, as a result…

To ensure effective operation and maintenance of both parts of Top20Talent web platform, our developers used the combination of Python, Django, and Vue.js. To improve user experience, we implemented several ways to log in to the system, including via LinkedIn or WeChat. The integration with WeChat messenger also allowed us to use a chatbot for the purposes of our platform. Besides, our team implemented a referral system configured to use virtual tokens that can be exchanged for real currency.

Team & Time

  • 1 PM
  • 2 TLs
  • 2 QAs
  • 6 DEVs
  • 2 Years and counting


Want a project like this one?