PROJECT

Applicant Tracking Software for Recruitment Management

Custom software development, Resume parsing, Candidate management, Job application tracking, Recruitment analytics, Interview scheduling, Role-based access

  • Industry: Recruitment and staffing
  • Lithuania Location: Lithuania
  • Delivery time: 16 weeks
  • Technologies: Python, JavaScript / TypeScript (Node.js)
4+ months

This client spends time moving candidate information between fragmented tools, spreadsheets, and manual recruitment processes. The software is an applicant tracking system for a recruitment agency. It takes job listings, applications, and resumes. It returns searchable candidate profiles and managed hiring stages for recruiters, hiring managers, and administrators. The purpose is to reduce manual recruitment work and keep candidate management in one place.

Summary

Problem

The recruitment agency manages jobs, candidates, applications, and hiring progress across fragmented tools and manual processes.

Solution

The solution became a custom recruitment management system with resume parsing, candidate search, and configurable statuses. It also included interviews, analytics, and role-based access.

Result

The software is made to reduce manual recruitment work and keep candidate management in one place.

Client story

The client is a recruitment agency from Lithuania. It manages candidate records, vacancies, applications, and placements for its recruitment work.

Recruiters spend time processing resumes, updating candidate statuses, and searching for suitable profiles. They also arrange interviews and keep recruitment activity consistent across the team.

The request was simple: parse resumes into useful candidate information, manage jobs and applications, show recruitment performance, and control access for different roles.

The solution was shaped as connected modules for job listings and candidate profiles. Search, interviews, and analytics were added around them.

The structure was designed around the agency's recruitment rules, with documentation and training so the team could manage the system independently.

The client asked for

  1. Parse resumes into structured candidate profiles
  2. Manage jobs, applications, candidates, and recruitment statuses
  3. Show recruitment dashboards, reports, exports, and activity logs
  4. Set role-based access for recruitment teams and clients

Why ready-made software did not fit

Ready-made applicant tracking systems cover job postings, resume parsing, interviews, and candidate pipelines. The agency needed its own combination of workflows, permissions, candidate access, and reporting in one process. A custom system was needed to fit the agency's stages, roles, fields, and integration requirements.

Project overview

Candidate records, interviews, and reporting were connected to the same process.

To handle incoming resumes, a structured profile module was provided. It reads PDF and DOCX files, then extracts contact details, experience, and education.

Skills, tags, and notes remain part of the profile. Ratings and statuses are kept there as well.

Candidate search was designed for practical shortlisting. Recruiters and hiring managers can search full text and filter by skills or experience.

They can also compare profiles, review fit explanations, and keep a shortlist for a job.

Interview coordination was included beside the candidate record. The system stores interview times, meeting links, and feedback.

It also keeps interview details and status for the related vacancy.

Administrators, recruiters, and hiring managers can receive separate access according to their role.

Clients, employers, candidates, and other teams can also receive role-specific access. Dashboards and exports show relevant recruitment information.

Key features delivered

  • Resume parsing into structured candidate profiles
  • Job listings and configurable application statuses
  • Candidate search, filters, ranking, and comparison
  • Candidate matching against job requirements
  • Shortlists with notes, ratings, and tags
  • Interview scheduling with meeting links and feedback
  • Recruitment dashboards and conversion metrics
  • Activity logs, reports, and exports
  • Role-based access and separate interfaces

Can be added

+ Candidate portals + Employer and client access + Bulk imports + Job board integrations + Email and calendar connections + Assessment system integrations + Candidate summaries and screening suggestions

Who else can use this solution

These businesses have a similar task, and the same solution can be adapted to their recruitment process.

An employer and in-house hiring team

Task They manage vacancies, applicants, interviews, and hiring decisions across their organization.
How the solution helps The solution keeps job requirements, candidate profiles, application stages, interviews, and recruitment reports together.

An organization modernizing an existing applicant tracking system

Task It needs to connect existing recruitment records and tools with a clearer process.
How the solution helps The solution provides configurable modules, structured imports, role-based access, and API connections for the required systems.

A career platform for job seekers

Task It tracks applications and candidate information across job opportunities.
How the solution helps The solution can organize applications, candidate profiles, statuses, and compatible resume files in a structured interface.

Technology stack

Python

Document processing and APIs

Python supports resume processing, structured data handling, and recruitment services.

JavaScript / TypeScript (Node.js)

Web application and documents

JavaScript and TypeScript support the web interface, document handling, and API connections.

PHP

Backend and file exchange

PHP supports server-side modules and recruitment file processing.

pymupdf

Read PDF resumes

pymupdf (a Python library for extracting content from PDF files) reads resume text and fields.

python-docx

Read DOCX resumes

python-docx (a Python library for reading Word files) extracts content from DOCX resumes.

csv-parse

Parse CSV imports

csv-parse (a library that reads CSV files) supports structured candidate imports.

maatwebsite/excel

Excel imports and exports

maatwebsite/excel (a Laravel library for Excel and CSV files) handles recruitment data imports and exports.

PDF

Resume upload and export

PDF files carry resumes and recruitment documents through the system.

DOCX

Resume upload and parsing

DOCX files provide editable resumes for structured candidate extraction.

Integrations

Calendars

Calendar connections carry interview schedules and meeting details.

Assessment systems

Assessment system connections exchange candidate evaluation results.

CRM tools

CRM connections exchange candidate and recruitment records through APIs.

The result

Job and application progress stays visible

The job listings screen gives the agency one place to manage job requirements and applications. Configurable recruitment statuses keep each application connected to the relevant job and candidate information.

This makes the path from an open vacancy to a current application status easier to follow and supports the agency's recruitment management process.

How it works

  1. The job listing form stores job titles, descriptions, requirements, and screening criteria.
  2. The pipeline displays candidate records by recruitment status.
  3. The application panel shows application status information and job-related candidate data.
  • Create, edit, and publish job listings
  • Move applications through configurable statuses
Job listings and application pipeline

Job listings and application pipeline

Functions on this screen
Job Listings Management

Resumes become searchable candidate records

The parsed profile screen turns an uploaded PDF or DOCX resume into a structured candidate record. Contact details, experience, and education are extracted into the profile.

Skills, tags, and notes remain available in the candidate management view. Ratings and status are kept there too.

How it works

  1. pymupdf (a library that reads PDF documents) extracts resume content from PDF files.
  2. python-docx (a library that reads Word documents) extracts content from DOCX files.
  3. The profile stores contact details, experience, education, skills, tags, notes, ratings, and status.
  • Upload resumes to candidate profiles
  • Keep recruiter notes and ratings with the candidate record
Tip: The profile presents extracted resume information as a structured candidate record for review.
Parsed candidate profile

Parsed candidate profile

Functions on this screen
Parse Resumes Candidate Profile Management Allow resume uploads

Shortlists use the information recruiters need

The search and shortlist screen brings candidate tracking and matching into the same view. Recruiters and hiring managers can compare profiles against job requirements and see why a candidate received a fit score.

Filters for skills, education, experience, and status help the team narrow the candidate pool before creating a shortlist.

How it works

  1. Full-text search reads the structured searchable candidate data.
  2. Filters separate candidates by skills, education, experience, and status.
  3. The comparison table displays fit scores, explanations, rankings, notes, and ratings.
  • Compare candidates for one job
  • Shortlist suitable profiles
Candidate search and shortlist

Candidate search and shortlist

Functions on this screen
Advanced Search Features Candidate matching and analysis Shortlist candidates

Interview details stay with the candidate

The interview screen keeps scheduling, meeting links, and feedback beside the candidate and job. Recruiters can see interview information within the application context.

This supports a clearer recruitment workflow from shortlist to hiring decision.

How it works

  1. The screen connects candidate information with a selected job.
  2. The calendar view displays interview schedules and date and time fields.
  3. The feedback panel stores meeting links, interview details, feedback, and interview status.
  • Keep interview feedback in the candidate record
  • Track interview status for each application
Interview scheduling and feedback

Interview scheduling and feedback

Functions on this screen
Interview Scheduling

Recruitment activity becomes easier to review

The dashboard brings applicant flow, recruitment activity, and progress together across jobs. Status summaries and conversion metrics help the agency review how applications move through recruitment stages.

Activity logs and export controls provide a clear record for recruitment reporting and further analysis.

How it works

  1. The applicant flow chart displays candidate movement through recruitment stages.
  2. The status summary and metrics show recruitment progress.
  3. The activity log records candidate status updates and the report controls export dashboard information.
  • Review recruitment performance across jobs
  • Export reports for further use
Recruitment performance dashboard

Recruitment performance dashboard

Functions on this screen
Recruitment Analytics Dashboard Real-Time Evaluation Dashboard

What the solution gives

With this solution, the recruitment agency can:

  • Parse PDF and DOCX resumes into structured candidate profiles
  • Manage vacancies, applications, and configurable recruitment statuses
  • Search, compare, rank, and shortlist candidates
  • Schedule interviews and keep feedback with candidate records
  • Review recruitment activity through dashboards and reports
  • Give each team member access suited to their role

Could ready-made systems do the job?

Before the design, the task was compared with ready-made products by their own descriptions.

What the client needs Applicant tracking systems JobDiva, Ceipal ATS, JazzHR Recruitment platforms TalentRecruit, Ashby, Tellent Recruitee Custom solution
Parse resumes into candidate profiles
Manage jobs and applications
Show recruitment reports and activity
Set role-based access partly partly
Fits the client's own rules: stages, roles, reports partly partly
All steps in one place — —
No manual steps between programs partly partly

By the public descriptions of the products and their category.

Applicant tracking systems and recruitment platforms cover the main parts of resume handling, job management, candidate pipelines, interviews, and recruitment reporting.

A ready-made product is enough when a team needs standard applicant tracking. The agency needed its own combination of recruitment rules, access levels, and connected modules.

The custom system was chosen because the required process and permissions needed to fit the agency's own way of working in one place, with the required connections.

In the end

In the end, the result was an applicant tracking workspace made to take manual work out of the path from a resume and vacancy to a managed recruitment decision.

FAQ

Thinking about building a similar system? Read the answers below to see how applicant tracking software can handle resumes, candidates, interviews, and integrations.