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.
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.
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
.
├── 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
python main.py --job <job_url_or_text_file> --resume <your_resume.md> --company <company_name>
python main.py --job https://example.com/job-posting --resume YOUR_Resume.md --company AcmeCorp
Output:
YOUR_Resume_AcmeCorp.md
— tailored Markdown resumeYOUR_Resume_AcmeCorp.pdf
— PDF with consistent styling
git clone https://github.com/yourusername/tailorcv.git
cd tailorcv
pip install -r requirements.txt
- Download & install Ollama from https://ollama.com
- Pull the required model (adjust model name as needed):
ollama pull llama3
- Job Description Extraction: Scrapes text content from job posting URLs or reads plain text files
- Resume Parsing: Splits your resume Markdown into sections based on
##
headings - LLM Interaction: Sends each section + job description prompt to the local Ollama LLM to generate improved, focused content
- Final Polishing: Runs a final prompt on the full updated resume to enhance tone and clarity
- Markdown to PDF: Converts the final Markdown to a clean, styled PDF using markdown + weasyprint
- 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
- 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
A small contribution to making resume tailoring more private and authentic.