Generate ATS-optimized resumes with scoring, job matching, and multi-format export. Land your dream job.
Project description
๐ ATS Resume Generator
Generate ATS-optimized resumes that land interviews. Intelligent scoring engine, job description matching, multi-format export (PDF/DOCX/MD/HTML/TXT), and 10 role-specific templates โ all from the command line.
๐ Why ATS Resume Generator?
75% of resumes are rejected by ATS before a human ever sees them. This tool ensures yours gets through.
| Feature | Description |
|---|---|
| ๐ฏ ATS Scoring Engine | 12-point analysis with weighted scoring across Contact, Summary, Experience, Skills, Action Verbs, Quantification, Keywords, and more |
| ๐ Job Description Matcher | Match your resume against any job posting โ see matched/missing keywords and get actionable suggestions |
| ๐ 5 Output Formats | PDF, DOCX, Markdown, HTML, and Plain Text โ all ATS-friendly with clean formatting |
| ๐๏ธ 10 Role Templates | Pre-built templates for DevOps, Software Engineer, Cloud Architect, SRE, Data Engineer, ML Engineer, and more |
| ๐ง Interactive Wizard | Step-by-step resume building with guided prompts |
| โก Action Verb Optimizer | Detects weak phrases ("responsible for", "worked on") and suggests power verbs |
| ๐ Quantification Checker | Ensures your bullets have measurable achievements ($, %, numbers) |
| ๐ Keyword Analysis | Role-specific keyword databases for 10+ job titles |
๐ฆ Installation
pip install ats-resume-generator
Requirements: Python 3.9+
โก Quick Start
1. Generate a Demo Resume (See It in Action)
ats-resume demo
Generates a complete demo resume in all 5 formats and shows the ATS score report.
2. Create Your Resume from a Template
# List available templates
ats-resume templates
# Create a DevOps Engineer resume template
ats-resume init --template devops-engineer
# Or use the interactive wizard
ats-resume wizard
3. Edit Your YAML File
contact:
name: Jane Doe
email: jane.doe@example.com
phone: "+1 (555) 123-4567"
location: San Francisco, CA
linkedin: linkedin.com/in/janedoe
github: github.com/janedoe
summary: >
Senior DevOps Engineer with 8+ years of experience building
cloud infrastructure and CI/CD pipelines. Managed 200+ microservices
with 99.99% uptime, reduced cloud costs by $1.2M annually.
target_role: devops-engineer
years_of_experience: 8
experience:
- company: Acme Corp
title: Senior DevOps Engineer
location: San Francisco, CA
start_date: Jan 2021
end_date: Present
bullets:
- "Architected Kubernetes platform hosting 200+ microservices with 99.99% uptime"
- "Reduced cloud costs by $1.2M annually through right-sizing and spot instances"
- "Implemented GitOps pipeline enabling 150+ zero-downtime deployments weekly"
technologies: [Kubernetes, AWS, Terraform, ArgoCD]
skills:
- category: Cloud & Infrastructure
skills: [AWS, Azure, GCP, EC2, EKS, S3]
- category: Containers & Orchestration
skills: [Docker, Kubernetes, Helm, Istio]
- category: CI/CD & Automation
skills: [Jenkins, GitHub Actions, ArgoCD, Ansible]
certifications:
- name: AWS Solutions Architect Professional
issuer: Amazon Web Services
date: "2023"
education:
- institution: MIT
degree: Bachelor of Science
field_of_study: Computer Science
graduation_date: May 2016
projects:
- name: k8s-health-checker
description: CLI tool to scan Kubernetes clusters for health issues
url: github.com/janedoe/k8s-health-checker
technologies: [Python, Click, Rich]
highlights: ["Published on PyPI", "22 automated tests"]
languages: [English, Spanish]
4. Generate & Score
# Generate PDF
ats-resume generate -i resume.yaml -f pdf
# Generate all formats
ats-resume generate -i resume.yaml -f all
# Score your resume
ats-resume score -i resume.yaml
# Match against a job description
ats-resume match -i resume.yaml -j job-description.txt
๐ฏ ATS Scoring Engine
The scoring engine analyzes 12 weighted categories:
| Category | Weight | What It Checks |
|---|---|---|
| Contact Info | 10% | Name, email, phone, LinkedIn, location, GitHub |
| Professional Summary | 10% | Length (30-80 words), metrics, years mention |
| Work Experience | 20% | Count, bullets per role (3-8), dates, technologies |
| Skills | 12% | Count (15+), categorization (3+), coverage |
| Education | 5% | Degree, institution, graduation date |
| Certifications | 5% | Count, issuer presence |
| Projects | 5% | Count, URLs, descriptions |
| Action Verbs | 10% | Strong verb percentage, weak verb detection |
| Quantification | 10% | Bullets with numbers/metrics (target: 60%+) |
| Formatting | 5% | Bullet length, section order, length |
| Keyword Relevance | 5% | Match against role-specific keyword database |
| Overall Structure | 3% | Required sections, optional sections |
Score Grades
| Grade | Score Range | Meaning |
|---|---|---|
| A+ | 95-100 | Exceptional โ top ATS compatibility |
| A | 85-94 | Excellent โ very strong resume |
| B | 75-84 | Good โ minor improvements possible |
| C | 60-74 | Fair โ needs significant work |
| D | 40-59 | Poor โ major gaps identified |
| F | 0-39 | Critical โ resume needs complete overhaul |
Example Score Output
โญโโโโโโโโโโโโโโโโโโโโโโโโโโโโ ๐ ATS Score Report โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฎ
โ โ
โ ATS Resume Score โ
โ โ
โ Score: โโโโโโโโโโโโโโโโโโโโ 98/100 โ
โ Grade: A+ โ
โ โ
โ โ
Passed: 28 โ ๏ธ Warnings: 0 โ Critical: 0 โน๏ธ Info: 0 โ
โ โ
โฐโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโฏ
๐๏ธ Available Templates
| Template | Role |
|---|---|
devops-engineer |
DevOps Engineer |
software-engineer |
Software Engineer |
data-engineer |
Data Engineer |
cloud-architect |
Cloud Architect |
sre |
Site Reliability Engineer |
fullstack-developer |
Full Stack Developer |
backend-developer |
Backend Developer |
frontend-developer |
Frontend Developer |
ml-engineer |
Machine Learning Engineer |
product-manager |
Product Manager |
blank |
Blank Template |
Each template includes realistic experience bullets with quantified achievements, categorized skills, and role-appropriate certifications.
๐ Job Description Matching
Match your resume against any job posting:
ats-resume match -i resume.yaml -j job-posting.txt
The matcher:
- Extracts keywords from the job description
- Compares against your resume content
- Identifies matched and missing skills
- Checks experience years requirement
- Checks education requirements
- Generates actionable improvement suggestions
๐ง Interactive Wizard
Build your resume step-by-step with guided prompts:
ats-resume wizard
The wizard walks you through:
- Choose a role template
- Contact information
- Professional summary
- Work experience (with bullet points)
- Skills by category
- Education
- Certifications
- Projects
- Languages
๐ All Commands
| Command | Description |
|---|---|
ats-resume demo |
Generate demo resume in all formats + show score |
ats-resume init |
Create a resume YAML template |
ats-resume generate |
Generate resume in PDF/DOCX/MD/HTML/TXT |
ats-resume score |
Run ATS score analysis (0-100) |
ats-resume match |
Match resume against job description |
ats-resume wizard |
Interactive step-by-step builder |
ats-resume templates |
List available role templates |
Common Options
# Generate with scoring
ats-resume generate -i resume.yaml -f pdf --score
# Use a specific output directory
ats-resume generate -i resume.yaml -f all -o ./output/
# Initialize from a specific template
ats-resume init -t cloud-architect -o my-resume.yaml
๐๏ธ Architecture
ats_resume_generator/
โโโ cli.py # Click CLI with 7 commands
โโโ models.py # Dataclass models (ResumeData, ScoreResult, etc.)
โโโ parser.py # YAML/JSON parser with round-trip support
โโโ demo.py # Demo resume data
โโโ scoring/
โ โโโ engine.py # 12-category ATS scoring engine
โ โโโ keywords.py # Role-specific keyword databases
โโโ generators/
โ โโโ pdf.py # ReportLab PDF (ATS-friendly Helvetica)
โ โโโ docx_gen.py # python-docx Word documents
โ โโโ markdown.py # Clean Markdown
โ โโโ html.py # HTML with inline CSS
โ โโโ text.py # Plain text with wrapping
โโโ optimizer/
โ โโโ action_verbs.py # 126 strong verbs, weak verb detection
โ โโโ job_matcher.py # JD matching with keyword extraction
โโโ templates/
โ โโโ roles.py # 10 role templates + blank
โโโ output/
โ โโโ console.py # Rich terminal rendering
โโโ wizard/
โโโ interactive.py # Step-by-step resume builder
๐งช Testing
# Run all tests
pytest
# Run with coverage
pytest --cov=ats_resume_generator
# Run specific test file
pytest tests/test_scoring.py -v
205 tests covering models, parser, scoring engine, all generators, job matcher, templates, CLI commands, and demo data.
๐ ๏ธ Development
# Clone and install in dev mode
git clone https://github.com/SanjaySundarMurthy/ats-resume-generator.git
cd ats-resume-generator
pip install -e ".[dev]"
# Run linter
ruff check .
# Run tests
pytest -v
๐ License
MIT License โ see LICENSE for details.
๐ค Author
Sanjay S โ Senior DevOps Engineer
- GitHub: @SanjaySundarMurthy
- Portfolio: sanjaysundarmurthy-portfolio.vercel.app
- LinkedIn: sanjaysundarmurthy
โญ Star this repo if it helped you land an interview!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ats_resume_generator-1.1.0.tar.gz.
File metadata
- Download URL: ats_resume_generator-1.1.0.tar.gz
- Upload date:
- Size: 62.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b8d3a76b4dcfdbc3b829b19de5f8abfc733c7d55f8f3f752aa62d59d99a54e9c
|
|
| MD5 |
53675bdaf795885f7e819b2f00f98e2a
|
|
| BLAKE2b-256 |
3c1de4eb9700d209fafd694858ee3a3cfb1651a0049c5f753e31bcf2eea4f64a
|
File details
Details for the file ats_resume_generator-1.1.0-py3-none-any.whl.
File metadata
- Download URL: ats_resume_generator-1.1.0-py3-none-any.whl
- Upload date:
- Size: 60.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b4615ad51fb4fb3a77d5c86f4c64a8793567fabac7215dfa317b3c97d965299c
|
|
| MD5 |
83d35bfd9344235f8000a981cb4b9f72
|
|
| BLAKE2b-256 |
02e421d4e0396a181fc1b7428c6cd37ef9b498edf72eb5c2b15d07352ed352be
|