# 🔍 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.*