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 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

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 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 | What Gets Modified - ✅ Experience/work bullet points - ✅ Skills/technical skills lines - ❌ Name, contact info, education, dates, company names, job titles — never touched Formatting Preservation The workflow copies your original Google Doc (not recreates it), then uses replaceAllText to swap text in-place. This means: - ✅ Tables, columns, fonts, colors — all preserved - ✅ Bold, italic, underline — all preserved - ✅ Custom spacing, margins — all preserved - ✅ Original doc is untouched (changes go to the copy) --- Setup Steps Prerequisites - Docker installed - Ollama installed locally - A Groq API key (free tier works) - Google account with Docs & Drive access 1. Install & Start Ollama Verify it's running: 2. Get a Groq API Key 1. Go to console.groq.com 2. Sign up / log in 3. Navigate to API Keys → Create a new key 4. Copy the key (starts with gsk...) 3. Configure Environment 4. Start n8n n8n will be available at Default credentials: - Username: admin - Password: changeme > ⚠️ Change these in docker-compose.yml for production use. 5. Import the Workflow 1. Open n8n at 2. Go to Workflows → Import from File 3. Select cv-keyword-optimizer.json 4. You'll see credential warnings on some nodes — that's expected 6. Set Up Google Credentials 1. In n8n, go to Settings → Credentials 2. Create a Google Docs OAuth2 credential - Follow n8n's OAuth2 setup guide for Google - Required scopes: 3. Create a Google Drive OAuth2 credential - Required scopes: 4. Click each node with a ⚠️ warning → select your credential from the dropdown 7. Activate & Use 1. Toggle the workflow Active 2. Open the form URL shown in the trigger node (or go to 3. Fill in: - Google Docs CV Link (required) - Job Posting URL or Job Description (at least one) 4. Submit and wait 30-60 seconds 5. Get your optimized CV link + detailed changelog --- Project Structure --- Troubleshooting | Issue | Solution | |-------|----------| | Ollama connection refused | Make sure ollama serve is running. n8n reaches it via host.docker.internal:11434 | | Groq 429 rate limit | Free tier has limits. Wait a minute and retry | | Scraping fails on LinkedIn | LinkedIn blocks scrapers. Paste the JD manually instead | | Google Docs auth error | Re-check OAuth2 credentials in n8n. Ensure correct scopes | | Replacements don't apply | The AI's "find" text must exactly match the CV. Check the Changes Summary for what was attempted | | Empty response from Ollama | Model may still be loading. First run takes longer. Timeout is set to 5 min |
Download the workflow JSON file after purchase.
Open n8n → click the menu → Import from File.
Select the downloaded JSON and import.
Set up credentials for each node that requires them.
Click Execute Workflow to test, then activate.
Setup guide included
Purchase to unlock the full step-by-step guide
No reviews yet
Be the first to buy and share your experience.
Leave a review
Sign in to share your experience with this workflow.
Create a free account to purchase workflows.
Need help setting this up?
Book a 3-hour live setup session with an Agility consultant.