CV ATS System

June 2025

CV ATS - Applicant Tracking System

Intelligent CV Matching using String Algorithms

PythonFletMySQLPDF ProcessingKMPBoyer-MooreAho-CorasickEncryption

CV ATS is an intelligent Applicant Tracking System that uses advanced string matching algorithms to efficiently match and search candidate information based on uploaded CVs. The system demonstrates practical application of algorithmic concepts in real-world recruitment scenarios.

Developed as part of the Algorithm Strategy course, this project showcases the implementation of multiple string matching algorithms with performance analysis, data encryption, and user-friendly interface for HR professionals and recruitment agencies.

String Matching Algorithms

  • Knuth-Morris-Pratt (KMP): Efficient single-pattern matching with failure function preprocessing, O(n + m) complexity
  • Boyer-Moore (BM): Right-to-left pattern matching with bad character heuristic for efficient large alphabet searching
  • Aho-Corasick: Multi-pattern matching algorithm using trie and failure links for simultaneous keyword detection

Key Features

  • Implemented PDF processing using pdfplumber for automatic CV text extraction and analysis
  • Built MySQL database integration with efficient data storage and retrieval for candidate profiles
  • Developed similarity scoring system with configurable keyword weighting and relevance ranking
  • Created data encryption system using custom master key generation for secure candidate information
  • Designed intuitive Flet-based GUI with real-time search results and performance metrics display

Technical Implementation

Backend

Python with MySQL connector for database operations

Frontend

Flet framework for cross-platform desktop GUI

Document Processing

PDFPlumber for automated text extraction from PDF CVs

Security

Custom encryption with master key generation

Algorithms

KMP, Boyer-Moore, and Aho-Corasick implementations

Database

MySQL 5.7+ for candidate data storage and indexing

System Workflow

  1. 1Upload: Users upload PDF CVs through the Flet interface
  2. 2Extract: System processes PDFs and extracts text content automatically
  3. 3Search: Users input keywords and select matching algorithm (KMP/Boyer-Moore)
  4. 4Match: System applies selected algorithm and calculates similarity scores
  5. 5Rank: Results displayed with similarity scores and detailed candidate information