Denis Grankin Head of Sales Department

How we Built a Custom Applicant Tracking System

6 0 5 7

custom applicant tracking system

As the hype around the elaborate automation of business processes continues, a relatively huge part of automation software accounts for recruitment tools. The market abounds with the numerous services, ranging from generic recruiting platforms and applicant tracking systems (ATS) to various hiring platforms.

With the ubiquitous tendency to supplant white-collar duties by algorithms, it’s becoming a challenge to make a difference on the recruitment software market. However, off-the-shelf solutions may either be superfluous or lacking functionalities for the specific businesses and their HR-frameworks. That’s why the demand for custom recruitment options remains stable.

What Is an Applicant Tracking System?

Applicant Tracking System (ATS) is a software solution designed to streamline the enterprise hiring process. It centralizes and organizes resumes and candidate data, making recruiting and hiring processes more intelligent and efficient. As a trusted assistant to recruiters, ATS effectively manages the entire candidate lifecycle - from resume submission to final candidate selection.

Yes, you still need people involved in the hiring process. However, ATS covers the core tasks associated with the requirements. This hiring software automates job seeker tracking, parses resumes, stores candidate profiles, facilitates communication with candidates, and often includes more complex features.

How Do Applicant Tracking Systems Work?

ATS is an intelligent system that acts as a digital hub for job applications. When a person applies for a job, their resume and application go into the ATS database. This is where ATS comes into play. It analyzes each application, checking important details such as work experience, education, and skills.

What about recruiters? Using ATS, recruiters and hiring managers can search and screen candidates in a variety of ways. Some of them are summarized below:

  • They review resumes on their own. If there are few resumes, recruiters can manually screen all applications received and saved in ATS.
  • Recruiters resort to automated candidate sourcing using keywords. The keywords used are words from the job posting, career-oriented words, skill-related words, etc. This entire process is automated using the job text analysis or semantic search feature in ATS.
  • Recruiters rely on automatic job seeker ranking. To do this, ATS matches the job requirements with the information in each resume. In this way, your recruiting team gets only those candidates who best match your expectations.



Should I choose custom or off-the-shelf?

“I could do better or, at least, design it better! Why this button is here anyway?”

Every now and then we get annoyed of devices and interfaces we come across and use. Baffling algorithms of the Facebook news feed, compulsive and timid Windows checking back any action you want to take:

“Do you really want to delete this file? That may be dangerous. Think twice!”

Knowing that you could design better or have something more adapted to your needs drives opting for custom solutions.

Since one of the major expertise spheres of DDI Development is recruitment platforms, we often receive requests to develop customizable systems for various HR-needs. Last year we were engaged in building a custom ATS, the recruitment service for the client’s company internal needs.

Our client’s team undergoes dynamic growth, and their HR-department has recently felt short of management tools to make the recruiting of new hires coherent. For the company of 50-100 employees, that may not be an issue. But once a team turns 200 or more and the number of everyday interviews reaches at times dozens, it takes meticulous records to keep every applicant’s story up-to-date.

There are available applicant tracking systems on the market that streamline and help to manage a recruitment process with numerous everyday candidates. However such efficient platforms as RecruiterBox are merely designed to serve all types of businesses, regardless of a sphere and recruitment patterns. Basically, an employer has to augment a recruitment workflow with extra tools specific to a company niche.

For this very reason, the client of ours decided to integrate and adopt a custom environment for hiring mainly IT-specialists. It had to contain following tools:

  • Vacancy openings with candidate assessment stages, CVs import and retrieving data into a database;
  • Generating candidate’s profiles with candidate’s assessment tracking;
  • Dashboard with tasks displayed, calendar, and agenda;
  • Candidate search with filters.

As the idea evolved, the client decided to build not only the internal ATS but also distribute its capacities and sell the system as a service for those companies which experience the same IT recruiting issues. Basically, we moved from the custom concept to the off-the-shelf as the overall idea was building up and the system seemed promising in terms of its growing versatility.



Taking project off the ground

off the ground

As we also practise off-the-ground policy which implies building MVP to start with, the core objectives of our work were:

  • To research existing recruitment options on the market;
  • To design and deliver MVP for the initial project evaluation;
  • To compose the roadmap of further customization to meet specific needs.

This type of cooperation between a company and a stakeholder required intensive feedback on deliverables and ongoing adjustments. The client opted for the dedicated team model to handle swift development with flexible technical requirements.

Lean project requirements

As we launched a research there were three major points to be considered.

  • Parsing mechanism and importing CVs: the ways candidates appeared in the database.
  • Roles: types of users accommodated, who belong to the same enterprise though differ in their permissions within the system;
  • Recruiter workflow: the ways user flows through the interface and manages to assess candidates.
  • Search engine: the tools to retrieve CVs out of the database with regard to set search criteria.

The major features of the ATS are providing tools for a company owner and employees to set a vacancy opening, decide stages of candidates assessment, align available candidates with those stages, and track the whole recruitment course from an initial email to a hiring date.



User roles

It’s not very common for existing recruitment solutions to have multiple user roles. And in most cases puzzling a system with numerous patterns of behaviour regarding a user status isn’t the right approach. An average recruitment system is designated to be utilized by an HR-specialist who performs all actions within it. Why should things get more complicated? It’s not that functional division between users from a single enterprise is useless, it’s that elaborate development isn’t worth an outcome in most cases.

However, as two rounds of negotiations passed the pitfalls of a single recruiter role unraveled.

user roles

Owner. If we assume that payments within the platform are tied to a number of vacancy openings, who is supposed to be in charge of a financial side? You either let a common recruiter release payments or these activities may be available for a company owner only. If we take the latter, that implies, at least, two roles: a recruiter and an owner.

Manager. An HR department of a company with 50+ employees usually has several specialists, including managers and common recruiters. As managers assign tasks, recruiters may be in charge of some particular candidate assessment stages while the final decisions are made by managers or even owners. So, we’ve considered adding manager’s role who would be able to create new vacancy openings, decide stages, and assign particular tasks for recruiters to complete within stages.

Recruiter. Moreover, if a recruiter leaves the company managers and owners will keep the history and will be able to reassign tasks to other recruiters.

Having this in mind, we’ve come up with 3 user roles.

Project structure and technologies

Project structure


Vacancy opening

Generic interfaces for vacancy openings seemed too overwhelming for us since they may require a lot of data to be input and numerous minor tweaks. We didn’t want to deter a user from the interface like an operation board at a nuclear power plant.

The flow we offered divides the opening stage into 4 aspects. This solution allowed both to embrace all the data inputs we needed and make a process more approachable:

  • Title an opening
  • Decide hiring stages: e.g. screening, phone interview, in-office interview, etc.
  • Add job listing and details (years of expertise, technologies, desired salary)
  • Import CVs

Vacancy opening

Recruiter dashboard and calendar

It took much of discussions of what is actually supposed to be on a dashboard. From the technical standpoint, the dashboard is pretty simple and represents conveniently organized links to the most important data feed you receive and operate within the system. But how do you make it really convenient and clear and what actually is supposed to be displayed?

  • How assigned tasks are going to be showcased?
  • Are the stages of candidate assessment going to be displayed?
  • How is the feed filtered according to a user role? Will be an owner capable of tracking the tasks of employees?
  • What are the additional data a user may see here?

Considering these issues, there was a requirement making our goal even more challenging. The core objective for our UX-specialist was to make an experience as much seamless as it was needed to adopt the system within one business day for a common user. We have mocked up several wireframes and elaborately tested them until we come up with the smoothest interface.

Recruiter dashboard

The system makes it inevitable for a recruiter to keep everything under control showing all assigned events and reminding if something missed. Once a user sets hiring stages, he’ll be able to correlate each event with a date in a calendar nearby.



Modular and responsive approach to each chunk of information lets users customize their environments for different types of displays.

List of candidates, search engine, and semantic network

Besides a dashboard with tasks notifications, the list of candidates is another important environment that a recruiter deals with. As the database grows with candidates it becomes tedious to retrieve the right candidates out of a list, especially when you measure them in hundreds. The solution to this issue is building a convenient search engine with both major and specific tweaks.

We’ve started with generic filters ample to be applied for all types of candidates:

  • Words. Any words mentioned in messages, names, etc.
  • Stages. The system will showcase the candidates in regard to a chosen stage.
  • Openings. As candidates are related to vacancies, you may filter them accordingly.
  • Date. A user may set a date range to see all the candidates added within this time period.
  • Labels. You may assign custom labels to each candidate and search by them.
  • Location. Places where candidates dwell in or ready to move for work.

List of candidates

As we were aligning the system with IT-recruiting, we’ve decided to add a number of search filters specific to this niche.

  • Technology. We’ve designed a semantic algorithm which retrieves listed technology skills and number of years candidate utilizes technology from CVs and adds them to each candidate’s profile.
  • Experience and technology. A user can set search in accordance with years some particular technology has been used by a candidate, set ranges to receive a relevant search feed.
  • Technology type. The candidates’ profiles can also be filtered in regard to different technology types such as a pure language, database, framework, CMS, etc.
  • Salary. The algorithm would is also able to retrieve numbers related to the desired salary so that a user can filter results in amount ranges.

The most challenging part was designing a semantic algorithm which would find data related to technology, experience, and salary in PDF, CSV documents as well as at web sources.

Candidates profiles

One of the features that exceed the MVP version and undergoes constant improvements is rendering a user profile. As we’ve applied the semantic algorithm, we’ve decided to utilize it more ingeniously. Besides regular candidates data fields, we’ve decided to create a graphic representation of technologies skillsets.

Candidates profiles

The skills graphs show relations among different technologies a candidate is armed with. They also graphically show the expertise level defined by the number of years this technology is being utilized. In order to make it visually work, we’ve used D3JS capacities.

Unfortunately, most of the candidates don’t correlate technology skills with years in their CVs yet this as we believe is a rather informative criterion. In order to elicit this information, recruiters have to manually add years into a candidate’s profile after initial hiring stages.



The obvious question is:

“Do you really need to allocate so much effort to a feature that merely seems a gimmick?”

With that being an extremely reasonable argument, we’ve considered why those graphs worth it:

  • Convenience. Reading through technologies lists in CVs is tedious and, by the end of a day, a tired recruiter with an opaque vision is likely to miss something important. Graphs allows assessing the overall picture at a glance.
  • Relations can file off the lack of understanding. Recruiters aren’t yet engineers though they know some basics. In IT, job listings may be both specific (“We need a Python/Django ace”) or general (“We need a topnotcher who is well-versed in a few Python frameworks). For the second case with Python being a core skill, you can easily define that a candidate knows some Python frameworks regardless of whether you heard of them or not.

    skills graphs

  • The feature is reusable. That’s the argument related to our “Innovation Labs” approach. The noSQL database of relations in software development can be efficiently utilized for many platforms related.
  • Relations can be customized and manually updated. The major flaw of this idea is that you’ll never be able to cover all the numerous relations as a potential number of technologies is intimidating and huge. Yet there’s a solution. Along with prebuilt relations, we’re planning to integrate an interface allowing to manually add technologies into the DB and set relations specific to corporate recruitment needs.
  • It looks good. Sounds silly though infusing aesthetics into the HR workflow is a way to encourage professionals to be productive. Well, that definitely isn’t a point subject to HR-departments only.

The implementation of this idea is still in its infantry and we keep exploring options to enhance the algorithm.



The MVP was adopted as an internal ATS and currently supports the needs of our client’s enterprise. As we’re incrementally adding new functions, the system has helped to process over 150 candidates and more than 1000 candidate profiles have been generated.

Semantic algorithm. The major advancement compared to existing solutions on the market is the semantic network which helps to set clear vacancy requirements and filter CVs that aren’t matching when importing. However, the system is yet to be enhanced. As we parse and import CVs we’re struggling to make the algorithm correctly retrieve the data out of its initial source since CVs are all written differently by candidates. Now, the algorithm clearly distinguishes skills and other data that are in the DB but at times fails to correlate those with numbers.

UI/UX and responsiveness. We’re making the system which can easily be operated via any device. The modular customizable interface and responsive design help to react on changes rapidly regardless of a recruiter’s current situation. For instance, some recruiters engaged in testing are completing their assignments when commuting.

Niche-specific yet general. We’re developing an environment which would be comfortable to use for an IT-company. Though it potentially can be utilized by enterprises of various niches as the semantic network can be customized manually which merely allows to add any skill into the DB and tweak its relations among other input skills.

Features of the Applicant Tracking System

Let's uncover the key features of an ATS worth implementing:

  • Customized candidate screening: Resumes and job applications are screened based on set skill sets, and only candidates who meet those criteria move on to the next stage of the hiring process.
  • Automated candidate management: This feature ensures that no application or candidate is missed, facilitating efficient sorting of candidates through ATS.
  • Interview scheduling and management: ATS simplifies the interview scheduling process by allowing interviewers to coordinate and confirm interview times within the system.
  • End-to-end analytics and reporting: ATS delivers detailed analytics and reports on various aspects of the recruitment process, including time-to-hire, source effectiveness, and candidate pipeline status.
  • Integration and scalability features: ATS can be easily integrated with other HR software to offer a one-stop recruitment solution. In addition, the system should be designed to scale as your business grows.

Benefits of Applicant Tracking Systems

Statistics show that in 2023, 97.4% of Fortune 500 companies used ATS. In addition, 35% of small businesses and 89% of large organizations utilize ATS software to screen resumes and job seekers. Is there any doubt about the benefits of ATS?

Let's take a look at what benefits companies can get from using ATS in recruiting.

  • Fast recruitment: ATS shortens search-to-hire time, ensuring business-critical positions are filled quickly to support business operations.
  • Best hires: ATS selects candidates based on set criteria. As a result, you get only those professionals who meet the requirements and who fit into the culture of your organization.
  • Cost savings and resource optimization: Streamlining workflows and automating recruitment eliminates the need for manual operations, resulting in more efficient and cost-effective budget allocation.
  • Data-driven decision-making: ATS provides detailed analytics and reports on recruitment activities. This data can be used to identify bottlenecks, evaluate recruitment performance, and make well-informed decisions to continuously improve your recruitment strategy.
  • Legal compliance & risk mitigation: ATS helps ensure that recruitment is compliant with legal and organizational regulations. This reduces the risk of non-compliance, avoids potential legal complications, and delivers a fair and transparent recruitment process.
  • Strong employer brand: A well-organized and tech-savvy recruitment process using ATS can help your company stand out. A positive candidate experience strengthens your company brand, attracts the best talent, and positions you as an employer of first choice.

What ATS Type Is Best for Your Company?

With all of the above in mind, you've probably wondered how to determine what type of ATS is best for you. The answer to this question boils down to what to consider when selecting an ATS or deciding what type of ATS to develop.

  • First of all, determine why your organization needs an ATS. This will help you understand what features you need to equip it with.
  • Check how the keyword search works, whether it covers all candidates, and whether there are no blind spots in the search system.
  • Look for or build an ATS that provides a comprehensive candidate search that covers all sources of valuable talent you are interested in.
  • Learn how to communicate with candidates in ATS, whether you can set up follow-up mailings or reminders, etc.
  • Find out what regulatory requirements the ATS must meet to ensure that confidential candidate data is well protected. Look for or create an ATS where these functions are fully automated so you don't have to deal with these issues yourself.
  • Strive to create an ATS capable of lightning-fast candidate searches based on various criteria (application and resume content, skill sets, experience, specific business attributes, etc.).
  • It should be possible to create surveys and tests, modify questions for candidates already in the hiring process, customize languages in the system, customize reports, etc. All of this should serve the purpose of fast and quality hiring.

An ATS that meets your day-to-day needs and strategic goals is the best type of ATS for your business.

Why Use an Applicant Tracking System?

There are several good reasons why an Applicant Tracking System is utilized for recruitment tasks. Let's take a look at some of them:

  • A pocket-sized candidate database. Using ATS is first and foremost about simplicity. Accessible from any gadget, a custom ATS stores a huge amount of data about all job seekers. This data can come in handy both now and in the future.
  • You're always in the loop. In-depth reports and detailed analytics let you see how well your recruitment and HR team is performing.
  • You can use easy-to-use yet advanced recruitment tools to post jobs and manage multiple job seeker inquiries across multiple third-party platforms.
  • Primary candidate screening in a flash. ATS selects, analyzes and ranks candidates and then communicates with the best of those selected. In this sense, ATS acts as a candidate management system.
  • Your team and business save time spent on recruiting and get valuable candidates ready to hit the ground running faster than ever before. Importantly, using ATS solutions reduces the likelihood of bias and discrimination in hiring and increases the objectivity of recruitment.

The Future of Applicant Tracking Systems

AI in recruiting is on the rise. Already 45% of companies are using AI-based recruitment software solutions. There is no doubt that the impact of Artificial Intelligence on recruitment tools will continue to grow. This will likely lead to all existing ATS types getting ever more sophisticated and offering ever deeper user experiences.

Let's try to guess what the future may hold for ATSs.

  • AI-based candidate selection. ATSs are expected to match candidates based on more than just keywords. AI will assess candidates' personality traits, work style, and cultural fit, providing a more holistic match between the candidate and the job.
  • In-depth performance analytics. ATSs will provide increasingly comprehensive analytics on the effectiveness of various aspects of hiring, such as search channels, time to hire, and candidate drop-off points.
  • Skills development tips. ATSs are expected to be able to not only assess candidates' current skills but also suggest ways to improve them by matching candidates with appropriate training modules.
  • What else? The emphasis on mobile accessibility of ATS is likely to continue. The mobile-first approach highlights the growing trend toward using smartphones for job search.

If you want to hire better, more cost-effectively and faster, consider all of these and other trends in ATS and talent acquisition systems.

Want to develop an ATS? Contact us. We'll answer your questions and help bring your idea to life.

Never miss out

Be aware of contemporary trends. Do not miss the discussion of professionals

Join over 10 subscribers!
Most popular

10 Major Differences Between Android and iOS App Development

12 Key features for your great mobile app
Top 10 sites built with Django Framework
Case Study: How we have developed an Online Ticket Booking System? [Updated 2023]
Software Requirement Specification: How to make SRS for your project [with examples]
How to develop trading platform: features, benefits, options [Updated 2020]
How to create an Learning Management System from scratch? [2024 Updated]
Our Technologies

Most popular in Case

Case Study: How we have developed an Online Ticket Booking System? [Updated 2023]
How we have created a Car Reservation System for Rental Company
How we've built Warehouse Management Software for the retail company
Case Study: How we've created a Telemedicine Platform for a medical company
How we've created Transportation Management System for logistic company
Case Study: How we've Built a Medical Appointment Scheduling Software for the UK clinic
Case Study: How to develop an EHR (Electronic Health Records) system for a medical company