159 lines
5.6 KiB
Markdown
159 lines
5.6 KiB
Markdown
# 🔍 LinkedIn Job Analyzer
|
||
### AI-powered job analysis extension for Microsoft Edge & Chrome
|
||
> **Personal use only.** Powered by Gemini 2.0 Flash Lite (free tier — 1,000 requests/day).
|
||
|
||
---
|
||
|
||
## ✨ What It Does
|
||
|
||
When you open any LinkedIn job page, the extension automatically reads the job and gives you:
|
||
|
||
| Tab | What you get |
|
||
|-----|-------------|
|
||
| 📊 **Analysis** | Match score (X/100), strong matches, gaps, recommendation, best CV variant |
|
||
| ✉️ **Cover Letter** | Complete, personalized cover letter ready to send |
|
||
| 📝 **CV Tips** | Tailored headline, summary, keywords to add, what to emphasize |
|
||
| ❓ **Q&A** | Answers to application questions (Easy Apply form) |
|
||
| ⭐ **Benefits** | Perks, work arrangement, growth potential, red flags |
|
||
|
||
---
|
||
|
||
## 🚀 Installation (5 minutes)
|
||
|
||
### Step 1 — Get a Free Gemini API Key
|
||
|
||
1. Open: **https://aistudio.google.com/apikey**
|
||
2. Sign in with any Google/Gmail account
|
||
3. Click **"Create API Key"** → **"Create API key in new project"**
|
||
4. Copy the key (looks like: `AIzaSy...39 characters`)
|
||
5. **No credit card needed** — completely free
|
||
|
||
> Free tier: **1,000 requests/day** — more than enough for personal job search.
|
||
|
||
### Step 2 — Install the Extension in Edge
|
||
|
||
1. Open Microsoft Edge
|
||
2. In the address bar, type: **`edge://extensions`** and press Enter
|
||
3. Toggle **"Developer mode"** ON (bottom-left corner)
|
||
4. Click **"Load unpacked"**
|
||
5. Select this folder: `/path/to/linkedin-analyzer/`
|
||
6. The 🔍 icon will appear in your toolbar
|
||
|
||
**For Chrome:** Go to `chrome://extensions` instead — same steps.
|
||
|
||
### Step 3 — Configure the Extension
|
||
|
||
1. Click the **🔍 icon** in your toolbar
|
||
2. Paste your **Gemini API Key** in the field
|
||
3. Click **"Test"** to verify it works (should show ✅ Valid)
|
||
4. Review your **profile** — it's pre-filled with your data, edit if needed
|
||
5. Click **"Save Settings"**
|
||
|
||
---
|
||
|
||
## 📖 How to Use
|
||
|
||
### Automatic Mode (recommended)
|
||
1. Go to any LinkedIn job page: `linkedin.com/jobs/view/...`
|
||
2. Wait 1-2 seconds — a **🔍 purple button** appears in the bottom-right corner
|
||
3. Click it to open the analysis panel
|
||
4. You'll see the job title and company already extracted
|
||
5. Click **"⚡ Analyze This Job"**
|
||
6. Switch between tabs to see all results
|
||
7. Click **📋 Copy** to copy any result to clipboard
|
||
|
||
### Manual Mode
|
||
If auto-detection doesn't work (e.g. on job aggregators):
|
||
1. Open the panel
|
||
2. Click **"📋 Paste job description manually"**
|
||
3. Paste the full job description text
|
||
4. Click **"Use this text"**
|
||
5. Click **"⚡ Analyze This Job"**
|
||
|
||
### Q&A Auto-fill
|
||
When Easy Apply is open and you're on the Q&A tab:
|
||
- After generating answers, a **"📝 Auto-fill Answers"** button appears
|
||
- Click it to automatically fill the form fields
|
||
- Always review before submitting!
|
||
|
||
---
|
||
|
||
## ⚙️ Settings Reference
|
||
|
||
| Setting | Description |
|
||
|---------|-------------|
|
||
| **API Key** | Your Gemini API key from aistudio.google.com |
|
||
| **Test Key** | Verifies the key works with a live API call |
|
||
| **Profile** | Your CV/experience text — used in all AI prompts |
|
||
| **Reset Profile** | Restores the default pre-filled profile |
|
||
| **Language** | Auto (matches job language), Always English, Always Arabic |
|
||
| **Daily Usage** | Shows how many of your 1,000 daily requests you've used |
|
||
| **Clear Cache** | Removes stored analysis results (forces re-analysis) |
|
||
| **Clear All Data** | Removes everything including API key |
|
||
|
||
---
|
||
|
||
## 💡 Tips & Tricks
|
||
|
||
- **Results are cached for 24 hours** — revisiting the same job doesn't use quota
|
||
- **Drag the panel** by clicking and holding the header
|
||
- **Minimize** with the `−` button — the 🔍 toggle stays visible
|
||
- If LinkedIn **updates its layout**, use Manual Mode as fallback
|
||
- The **cover letter** is written in the job's language (Arabic or English) by default
|
||
- For the **best results**, keep your profile text detailed and up to date
|
||
|
||
---
|
||
|
||
## 🔒 Privacy & Security
|
||
|
||
- Your **API key is stored locally** in the browser extension storage — never sent anywhere except Google's Gemini API
|
||
- Your **profile data stays local** — only sent to Gemini when you click Analyze
|
||
- **No analytics**, no tracking, no external servers
|
||
- The extension only runs on `linkedin.com/jobs/*` pages
|
||
|
||
---
|
||
|
||
## ❓ Troubleshooting
|
||
|
||
| Problem | Solution |
|
||
|---------|----------|
|
||
| Panel doesn't appear | Wait 2-3 seconds after page loads, then scroll the page slightly |
|
||
| Job not detected | Use Manual Mode — paste the job description |
|
||
| "Daily limit reached" | Wait until midnight Pacific Time (PT) for quota reset |
|
||
| "Invalid API key" | Re-check the key in settings and click Test |
|
||
| Analysis is wrong | Edit your profile in settings to be more accurate |
|
||
| Panel overlaps content | Drag it to a different position |
|
||
|
||
---
|
||
|
||
## 📁 File Structure
|
||
|
||
```
|
||
linkedin-analyzer/
|
||
├── manifest.json # Extension configuration
|
||
├── content.js # Page scraper + overlay logic
|
||
├── overlay.css # Dark luxury UI styles
|
||
├── background.js # Gemini API calls + caching
|
||
├── popup.html # Settings page UI
|
||
├── popup.js # Settings logic
|
||
├── profile.js # Default profile data
|
||
├── icons/
|
||
│ ├── icon16.png
|
||
│ ├── icon48.png
|
||
│ └── icon128.png
|
||
└── README.md # This file
|
||
```
|
||
|
||
---
|
||
|
||
## 🔄 Updating
|
||
|
||
When LinkedIn changes its layout (happens 2-4x per year):
|
||
1. The DOM selectors in `content.js` → `extractJobData()` may need updating
|
||
2. Use browser DevTools (F12) on a job page to find new selectors
|
||
3. Manual Mode always works as fallback
|
||
|
||
---
|
||
|
||
*Built for personal job search use. Not affiliated with LinkedIn or Google.*
|