Skip to content

hellosaumil/JobPostHighlightsExtension

Repository files navigation

Job Post Highlights Logo

Job Post Highlights Logo Job Post Highlights 🔍 🎯 📊

LLM-based Chrome extension that evaluates job postings against your resume using AI — extract key details, score relevance, and surface skill gaps in seconds using on-device and cloud LLMs.

Chrome MV3 Version BYOK Shortcut License: MIT

Full Demo

Full Extension Demo (Light) Full Extension Demo (Dark)

Demo Stills

Microsoft Job Analysis Example (Light) Microsoft Job Analysis Example (Dark)

OpenAI Job Analysis Example (Light) OpenAI Job Analysis Example (Dark)


✨ Features

  • Multi-Provider AI — Google Gemini (Cloud), Ollama (Local), or Chrome's On-Device Gemini Nano
  • 2-Stage Pipeline — Stage 1 extracts structured job details; Stage 2 scores relevance against your resume
  • Hybrid Extraction — Detects missing fields after Stage 1 and runs a targeted refinement pass for accuracy
  • Pre-Warmed Model — On-device Gemini Nano session initialized at startup; subsequent evals use clone() for fast execution
  • Privacy First — API keys and resume data stay in your browser (chrome.storage.local)
  • Premium UI — Glassmorphism design, dark/light themes, side panel + pop-out window modes, timing breakdown
  • Keyboard ShortcutCmd+J (Mac) / Ctrl+J (Windows) to open instantly
  • Relevance Scoring — 0–5 scale with match/gap analysis, leveling notes, and unique insights

🚀 Quick Start

git clone https://github.com/hellosaumil/JobPostHighlightsExtension.git
  1. Open chrome://extensions/ → Enable Developer mode
  2. Click Load unpacked → Select the cloned folder
  3. Pin the extension for quick access
  4. Open Settings (⚙️) → Choose your AI provider and configure
  5. Navigate to any job posting → Click Evaluate Relevance

See Setup Guide for detailed provider configuration.


🏗️ Architecture

The extension uses a 2-stage AI pipeline to minimize token usage and maximize accuracy:

flowchart LR
    A["🌐 Job Page"] --> B["📄 Extract DOM Text"]
    B --> C["⚡ Stage 1<br>Pre-Extract"]
    C --> D["🧠 Stage 2<br>Relevance Analysis"]
    D --> E["📊 JSON Output"]
    E --> F["🎨 UI Render"]

    subgraph Stage1["Pre-Extraction"]
        direction TB
        C0{"Pre-parse Settings"}
        C0 -->|"On-Device"| C1["Prompt API / Summarizer API<br>(Gemini Nano)"]
        C0 -->|"Model Provider"| C2["Cloud / Ollama<br>(Strict Schema)"]
        C1 -.->|"fallback"| C3["Regex Cleaner"]
        C2 -.->|"fallback"| C3
        C1 & C2 --->|"missing fields"| C4["Hybrid Refinement<br>(Main Provider + Offset)"]
    end

    subgraph Stage2["Relevance Scoring"]
        direction TB
        D1["On-Device"] ~~~ D2["Gemini Cloud"] ~~~ D3["Ollama"]
    end

    C --> C0
    Stage1 --> D
    D --> Stage2

    style Stage1 fill:#1a1a2e,stroke:#4a9eff,stroke-width:2px,color:#fff
    style Stage2 fill:#1a1a2e,stroke:#10b981,stroke-width:2px,color:#fff
Loading

See Architecture Guide for the full pipeline breakdown, scoring rubric, and output schema.


📁 Project Structure

JobPostHighlightsExtension/
├── manifest.json           # Chrome MV3 extension manifest
├── ai_service.js           # 2-stage AI pipeline, session mgmt, hybrid refinement
├── content.js              # DOM text extraction (content script)
├── background.js           # Service worker, side panel toggle, Ollama CORS bypass
│
├── prompts/
│   ├── stage_1.md          # Stage 1 extraction prompt (fields, rules, examples)
│   └── stage_2.md          # Stage 2 scoring rubric template
│
├── sidepanel.html/js       # Side panel UI + controller
├── window.html/js          # Pop-out window UI + controller (tab selector)
├── styles.css              # Shared styles (dark/light themes, glassmorphism)
│
├── assets/                 # Extension icons (16/48/128px + SVG)
└── docs/                   # Detailed documentation
    ├── setup.md            # Installation & provider config
    ├── ollama.md           # Ollama troubleshooting & CORS
    └── architecture.md     # Pipeline deep-dive & output schema

📚 Docs

Document Description
Setup Guide Installation, provider configuration, On-Device AI setup
Ollama Guide CORS troubleshooting, environment variables, recommended models
Architecture 2-stage pipeline, scoring rubric, output JSON schema

🛠️ Technologies

  • Platform: Chrome Extension (Manifest V3)
  • AI Providers: Gemini Cloud API, Ollama (Local), Chrome Built-in AI (Gemini Nano)
  • Frontend: Vanilla HTML / CSS / JavaScript (no frameworks)
  • Fonts: Space Grotesk, JetBrains Mono, Silkscreen
  • Design: Glassmorphism, CSS custom properties, responsive layouts

Acknowledgements

Thanks to Google Antigravity Gemini 3.1 Pro and Claude 4.6 for co-building this extension.


📄 License

MIT License — see LICENSE for details.

About

Chrome Extension to Summarize Job Posting and Match Against your Resume using Ollama or Google Cloud Models.

Topics

Resources

Stars

Watchers

Forks

Contributors