Tailor your Google Docs CV to any job using Ollama and Groq
šÆ CV Keyword Optimizer An AI-powered n8n workflow that automatically tailors your resume to any job description by injecting relevant keywords ā without touching your formatting, layout, or design. --- How It Works A...
Template notes
šÆ CV Keyword Optimizer
An AI-powered n8n workflow that automatically tailors your resume to any job description by injecting relevant keywords ā without touching your formatting, layout, or design.
---
How It Works
Architecture
āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā User Input (Form) ā ā CV Google Docs Link + Job URL or Pasted JD ā āāāāāāāāāāāāāāāāāāāāāāāāāāāā¬āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā ā¼ āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā 1. Read CV from Google Docs API ā ā 2. Extract full CV text (handles tables, paragraphs, etc.) ā āāāāāāāāāāāāāāāāāāāāāāāāāāāā¬āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā ā¼ āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā 3. Get Job Description ā ā āāā URL provided? ā Scrape job page, strip HTML to text ā ā ā āāā Scrape failed? ā Fall back to manual JD ā ā āāā No URL? ā Use manually pasted JD directly ā āāāāāāāāāāāāāāāāāāāāāāāāāāāā¬āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā ā¼ āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā 4. š Local Ollama (llama3.1:8b) ā ā Analyzes JD + CV ā Extracts & ranks 10-20 ATS keywords ā ā Output: keyword, priority, target bullet, reason ā āāāāāāāāāāāāāāāāāāāāāāāāāāāā¬āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā ā¼ āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā 5. āļø Groq API (Llama 3.3 70B) ā ā Takes ranked keywords + CV ā Produces find/replace pairs ā ā Naturally weaves keywords into experience bullet points ā āāāāāāāāāāāāāāāāāāāāāāāāāāāā¬āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā ā¼ āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā 6. Copy original CV via Google Drive API ā ā (preserves ALL formatting, tables, styles) ā ā ā ā 7. Apply replacements via Google Docs batchUpdate API ā ā (replaceAllText ā formatting stays intact) ā āāāāāāāāāāāāāāāāāāāāāāāāāāāā¬āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā ā¼ āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā ā 8. Output ā ā ā New Google Doc link ā ā š Changelog: original text ā updated text + keywords added ā āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
Why Two AI Models?
| Step | Model | Why | |------|-------|-----| | Keyword Extraction | Ollama llama3.1:8b (local) | Free, private, no API costs. Reasoning about which keywords actually matter for ATS | | Text Rewriting | Groq llama-3.3-70b-versatile (cloud) | Larger model = better at natural language. Produces find/replace pairs that read naturally |