Files
cv/README.md

159 lines
5.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 🔍 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.*