How yuxiaoma66/linkedin-job-match-extension works
LinkedIn Job Match is a local-first Chrome extension that turns supported LinkedIn and Netherlands Indeed job pages plus a selected structured resume into evidence-based match results. Content scripts extract jobs and display inline scores/signals; the background service worker coordinates resume handling, configuration, cache lookup, model analysis, and reusable history. The side panel manages resumes, analysis settings, history, and saved positions. README capabilities are represented; unsampled subsystem wiring is limited to documented behavior and the shown service-worker orchestration.
Main entry points: service-worker.js Service worker · match-engine.js Match engine · index.js Page adapter · resume-manager.js Resume library
Components 21
Job capture
- Page adapter
src/content/index.js - LinkedIn adapter
src/content/linkedin-ai-adapter.js - Indeed adapter
src/content/indeed-adapter.js
Background workflow
- Service worker
src/background/service-worker.js - Config manager
src/background/config-manager.js
Resume analysis
- Resume library
src/background/resume-manager.js - Resume structure
src/shared/resume-document.js - Analysis prompts
src/prompts/prompt-templates.js - Match engine
src/background/match-engine.js - Provider adapter
src/background/llm-adapter.js - Evidence scoring
src/shared/evidence-scoring.js - Result validation
src/shared/schema-validator.js - Scoring profile
src/shared/scoring-profile.js - Sponsor review
src/background/sponsor-checker.js
User experience
- Side panel
src/sidepanel/app.js
Local state
- IND dataset
public/data/ind_sponsors.json - Analysis cache
src/background/cache-manager.js - Position manager
src/background/position-manager.js
Other components
- Job pages
- Model providers
- Extension storage
Connections 26
- Job pages → Page adapter: renders pages
- Page adapter → LinkedIn adapter: uses LinkedIn adapter
- Page adapter → Indeed adapter: uses Indeed adapter
- Page adapter → Service worker: sends job data
- Service worker → Side panel: sends results
- Side panel → Service worker: requests actions
- Service worker → Config manager: loads settings
- Service worker → Resume library: manages profiles
- Resume library → Resume structure: normalizes profiles
- Resume library → Extension storage: reads and writes
- Service worker → Match engine: runs analysis
- Service worker → Analysis cache: checks and stores results
- Service worker → Scoring profile: builds cache context
- Match engine → Analysis prompts: builds prompts
- Match engine → Provider adapter: requests completion
- Provider adapter → Model providers: calls configured provider
- Match engine → Sponsor review: checks sponsorship
- Sponsor review → IND dataset: checks organisation
- Match engine → Result validation: validates response
- Match engine → Evidence scoring: scores evidence
- Match engine → Scoring profile: uses scoring policy
- Analysis cache → Extension storage: reads and writes
- Service worker → Position manager: manages saved jobs
- Position manager → Extension storage: reads and writes
- Page adapter → Job pages: injects score signals
- Side panel → Position manager: saves positions