- Clone the repository:
git clone https://github.com/hellosaumil/JobPostHighlightsExtension.git
- Open Chrome and navigate to
chrome://extensions/ - Enable Developer mode (toggle in top right)
- Click Load unpacked and select the extension folder
- Pin the extension to the toolbar for quick access
Open the extension → click the Settings (⚙️) icon → choose your AI provider.
Tip
Free, private, and fast — no API key needed. Recommended for Stage 1 pre-extraction.
Requirements:
- Chrome 127+ (Dev/Canary channel recommended)
- ~1.5 GB free disk space for the model download
Setup:
- Navigate to
chrome://flags - Enable
#prompt-api-for-gemini-nano→ Set to Enabled - Enable
#optimization-guide-on-device-model→ Set to Enabled BypassPerfRequirement - Restart Chrome
- Check
chrome://components→ Look for Optimization Guide On Device Model- If version shows
0.0.0.0, click Check for update - Wait for the model to download (~1.5 GB)
- If version shows
Note
If you see "not enough space" errors, the model needs ~1.5 GB of free disk space. Free up space or switch to a different provider.
Troubleshooting:
- Prompt API documentation — Official API reference and availability checks
- Informing users of model download — Handling download progress and availability states
- Built-in model download sample — Live demo to test if your browser supports on-device AI
- Get a free API key from Google AI Studio
- In Settings, select Google Gemini (Cloud) as the provider
- Choose your model:
- Gemini 3.1 Pro Preview — Best quality
- Gemini 3.1 Flash-Lite Preview — Faster, lower cost
- Paste your API key → Click Save Settings
Important
Your API key is stored locally in chrome.storage.local and never leaves your browser.
- Install Ollama from ollama.com
- Pull a model:
ollama pull gemma3:4b # Recommended for quality/speed balance - In Settings, select Ollama (Local) as the provider
- Set the server URL (default:
http://localhost:11434) - Click the refresh button to load available models
- Select your model → Click Save Settings
See Ollama Guide for CORS troubleshooting and performance tips.
The candidate resume is embedded as a text summary inside prompts/stage_2.md (substituted into the {{resumeSource}} placeholder at runtime by fetchPrompt() in ai_service.js).
To customize for your own resume, edit the hardcoded summary string in ai_service.js inside fetchPrompt():
// In ai_service.js → fetchPrompt()
const resumeSummary = "Your Name (Role, X years exp, Key Skills).";Note: An optional
resume.pdfpath exists in the codebase for future Gemini Cloud file-upload support, but is not currently used.
| Platform | Shortcut | Action |
|---|---|---|
| Mac | Cmd+J |
Open side panel |
| Windows/Linux | Ctrl+J |
Open side panel |
Customize in chrome://extensions/shortcuts.