Skilltune: Agentic Resume Tailoring via Chrome Extension
Chrome ExtensionLangChainTypstReactDeepSeek
Skilltune: Agentic Resume Tailoring via Chrome Extension
Skilltune is a Chrome extension that reads job postings in the browser, analyzes them with AI agents, and generates a tailored .typ (Typst) resume compiled to PDF — all without leaving the page.
How It Works
- Onboarding — Enter your name, target roles, industry, and path to your base resume file (
.typ). - Scan — Browse a job posting, open the extension popup, click “Scan this page” to capture the page text.
- Analyze — Click “Analyze posting” to have an AI agent extract job title, company, skills, requirements, and responsibilities.
- Write — Click “Write tailored resume” to generate a customized
.typfile using your resume as a style reference, compiled to PDF via Typst CLI.
Architecture
┌─────────────────────┐ chrome.runtime ┌───────────────────────┐
│ Chrome Extension │ sendMessage(API_CALL) │ Python Server │
│ │ ──────────────────────→ │ (localhost:3721) │
│ Popup (React) │ ←────────────────────── │ │
│ Service Worker │ JSON response │ LangChain Agents: │
│ Content Script │ │ - posting-analysis │
│ │ │ - resume-generation │
└─────────────────────┘ └───────────────────────┘
Chrome Extension Components
- Popup (React) — User interface for scanning, analyzing, and generating
- Service Worker — Background script handling API communication
- Content Script — Captures page text from job posting tabs
Python Backend Agents
- Posting Analysis Agent — Extracts structured data (title, company, skills, requirements, responsibilities) from raw page text using LangChain + DeepSeek.
- Resume Generation Agent — Takes the extracted job data and the user’s base
.typresume, then generates a tailored version that emphasizes relevant skills and experiences.
Typst as Resume Format
Typst was chosen over LaTeX or Word for several reasons:
- Fast compilation — Typst CLI compiles to PDF in milliseconds
- Clean syntax — More readable than LaTeX, easier for LLMs to generate correctly
- Programmatic control — The agent can modify sections, reorder bullet points, and adjust emphasis while maintaining consistent formatting
- Local rendering — No cloud rendering needed;
typst compileruns locally
Key Design Decisions
- Local Python server over cloud API — Keeps resume data on-device, avoids sending personal documents to third parties.
- Two-agent pipeline — Separation of concerns: one agent analyzes the job, another generates the resume. This allows independent improvement and testing.
- Screenshot-based page capture — More reliable than DOM scraping for complex job board layouts.
- Style reference preservation — The generation agent uses the existing
.typfile as a template, ensuring consistent formatting across all tailored resumes.
Tech Stack
- Extension: React, Chrome Extension APIs (runtime, tabs, scripting)
- Backend: Python, LangChain, DeepSeek API
- Document Format: Typst (
.typ→ PDF viatypst compile)