A Chrome extension that detects and blurs obnoxious LinkedIn posts using on-device AI — those boastful job announcements, humble brags, and buzzword-heavy thought leadership posts cluttering your feed.
Uses on-device AI powered by Transformers.js to classify LinkedIn posts in real-time. Zero-shot classification determines if a post is brag-worthy and blurs it with a clean overlay. No post content or personal data ever leaves your browser — the only network request the extension makes is a one-time download of the open-source model weights from Hugging Face.
- Smart Detection — Catches new job announcements, internship flexes, humble brags, AI buzzword posts, career milestone celebrations, and more
- Adjustable Sensitivity — Slider from "Chill" (only obvious brags) to "Aggressive" (catches borderline posts)
- Blur Score Badge — Optional color-coded badge showing the blur score (0–100) on each post
- Instant Toggle — Enable/disable blurring without reloading the page
- Hover to Reveal — Blurred posts unblur with a snappy animation on hover
- Privacy First — All inference runs locally in your browser
blr/
├── manifest.json # Chrome extension manifest (MV3)
├── lib/
│ ├── transformers.min.js # Bundled Transformers.js library
│ ├── ort-wasm-simd.wasm # Bundled ONNX runtime (SIMD)
│ └── ort-wasm.wasm # Bundled ONNX runtime (fallback)
├── src/
│ ├── background/
│ │ └── background.js # Service worker — offscreen document management
│ ├── content/
│ │ ├── content.js # LinkedIn feed scanner, blur + score badge
│ │ └── content.css # Blur overlay styles and animations
│ ├── offscreen/
│ │ ├── offscreen.html # Offscreen document entry point
│ │ ├── offscreen.js # Proxy between chrome messaging and the worker
│ │ └── worker.js # ML inference engine in a Web Worker
│ └── popup/
│ ├── popup.html # Extension popup UI
│ └── popup.js # Popup logic (settings, status polling)
├── assets/
│ ├── icon.png # Source icon (128×128)
│ ├── logo-popup.png # Popup header logo
│ ├── logo-black.svg # Vector logo (light backgrounds)
│ ├── logo-white.svg # Vector logo (dark backgrounds)
│ └── icons/
│ ├── icon16.png
│ ├── icon48.png
│ └── icon128.png
├── README.md
├── PRIVACY_POLICY.md
├── LICENSE
└── .gitignore
- Clone this repository
- Open
chrome://extensionsin Chrome - Enable Developer Mode (toggle in top-right)
- Click Load unpacked and select the project folder
- Navigate to LinkedIn — the model will load automatically (~10–15 seconds on first run, cached after)
- Popup — Click the extension icon to see model status, adjust sensitivity, or toggle features
- Sensitivity — Drag the slider to control how aggressively posts are flagged
- Blur Scores — Toggle score badges to see the raw blur score (0–100) on each post
- Hover — Hover over any blurred post to reveal its content
- Chrome Extension Manifest V3 with Offscreen Document API
- Transformers.js v2.17.1 (Xenova/mobilebert-uncased-mnli model)
- Zero-shot Classification with 20 candidate labels (10 blur-worthy, 10 normal)
Created by Kush Mathur and Eddie Macgill.
MIT License, Copyright (c) 2026 Kush Mathur and Eddie Macgill — see LICENSE for details.