Skip to content

✨ Intelligent resume customizer that subtly tweaks your Markdown resume using LLMs to align it with a specific job description — without exaggeration.

License

Notifications You must be signed in to change notification settings

SherLock707/TailorCV

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

✂️ TailorCV — AI-Powered Resume Tailoring Tool

TailorCV is a Python utility that leverages a local LLM (via Ollama) to automatically tailor your Markdown resume to fit a specific job description, producing a polished, targeted resume in Markdown and PDF formats.

💡 What It Does

TailorCV takes your existing resume and a job description (from a URL or local file), then:

  • Extracts the job requirements from the provided source
  • Parses your resume into logical sections based on Markdown headings
  • Uses an LLM to subtly adjust each section's language to emphasize relevant skills without exaggeration
  • Performs a final coherence pass to ensure clarity, tone, and alignment with the job
  • Outputs a new tailored resume in Markdown and converts it to a professional PDF

The entire process runs locally, preserving your data privacy and control.

🚀 Why It Exists

Traditional resume tailoring is manual, time-consuming, and often inconsistent.

Many existing AI solutions:

  • Are cloud-based, raising privacy concerns
  • Tend to over-exaggerate or fabricate content
  • Lack fine-grained control over how your resume is adapted

TailorCV delivers:

  • Full local execution via Ollama's local LLM
  • Truthful, nuanced edits focused on rephrasing and refocusing
  • Automated Markdown parsing and PDF export with styling
  • Seamless CLI workflow for quick iteration

🧱 Project Structure

.
├── main.py                 # CLI entrypoint
├── requirements.txt        # Python dependencies
├── README.md              # This file
└── helper/
    ├── job_parser.py      # Extracts job description from URL or file
    ├── resume_parser.py   # Parses Markdown resume into sections
    ├── llm_interface.py   # Calls Ollama LLM and validates responses
    └── pdf_exporter.py    # Converts Markdown to styled PDF using WeasyPrint

⚙️ Usage

python main.py --job <job_url_or_text_file> --resume <your_resume.md> --company <company_name>

Example

python main.py --job https://example.com/job-posting --resume YOUR_Resume.md --company AcmeCorp

Output:

  • YOUR_Resume_AcmeCorp.md — tailored Markdown resume
  • YOUR_Resume_AcmeCorp.pdf — PDF with consistent styling

📥 Setup Instructions

1. Clone the repo

git clone https://github.com/yourusername/tailorcv.git
cd tailorcv

2. Install dependencies

pip install -r requirements.txt

3. Install Ollama and pull the LLM

  • Download & install Ollama from https://ollama.com
  • Pull the required model (adjust model name as needed):
ollama pull llama3

🧪 How It Works Internally

  1. Job Description Extraction: Scrapes text content from job posting URLs or reads plain text files
  2. Resume Parsing: Splits your resume Markdown into sections based on ## headings
  3. LLM Interaction: Sends each section + job description prompt to the local Ollama LLM to generate improved, focused content
  4. Final Polishing: Runs a final prompt on the full updated resume to enhance tone and clarity
  5. Markdown to PDF: Converts the final Markdown to a clean, styled PDF using markdown + weasyprint

🔒 Privacy & Security

  • All LLM inference happens locally — your resume and job data never leave your machine
  • No cloud APIs involved — full data control for sensitive personal info

🔮 Future Enhancements

  • Add interactive CLI to select sections for manual review
  • Enable config files for default company/job profiles
  • Add support for multiple output formats (Word, plain text)
  • Integrate with LinkedIn or ATS systems for direct uploads
  • Build VS Code or desktop GUI integration

🧑‍💻 Author

A small contribution to making resume tailoring more private and authentic.

About

✨ Intelligent resume customizer that subtly tweaks your Markdown resume using LLMs to align it with a specific job description — without exaggeration.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages