Inspiration

LinkedIn feeds are flooded with clickbait and manipulative engagement tactics that drown out real insights. I wanted to reclaim my feed.

What it does

LinkedLens is a Chrome extension that analyzes your LinkedIn feed in real-time and classifies every post as either "Genuine Value" or "Engagement Bait." It labels posts instantly and can optionally hide the junk, so you can focus on content that teaches you something, shares real insights, or sparks genuine discussion.

Posts get sorted into two categories:

Genuine Value: Real insights, educational content, actual discussions, industry news, and thoughtful advice

Engagement Bait: Clickbait headlines, manipulation tactics, humble brags, excessive promotion, and low-quality content designed just to farm reactions

How we built it

LinkedLens was built as a Chrome Extension using vanilla JavaScript with no frameworks. The architecture includes:

Content Script (content.js): Extracts posts from LinkedIn's DOM, handles API communication, applies visual labels, and manages toggling visibility

Popup UI (popup.html/js/css): Provides a dashboard showing feed statistics, classified posts, and controls for settings

AI Integration: Works seamlessly with either Google Gemini 2.0 Flash (free tier available) or OpenRouter (pay-per-use with model flexibility)

Privacy-First: All API keys stay encrypted on your device using Chrome's storage API—no data collection, no tracking

The extension automatically analyzes posts as soon as they load, labels them with visual indicators, and remembers your preferences between sessions.

Challenges we ran into

LinkedIn's DOM structure changes frequently, so I implemented multiple selector fallbacks to ensure the extension keeps working.

Accomplishments that we're proud of

We're proud of building a production-ready extension that actually works and solves a real problem.

What we learned

We learned a lot about Chrome Extension APIs, particularly how to work with content scripts, messaging between components, and Chrome's storage system. We also gained practical experience integrating multiple AI APIs and handling their different response formats and error cases. Building for a constantly-changing platform like LinkedIn taught us the importance of defensive programming and graceful degradation.

What's next for LinkedLens

We'd like to expand LinkedLens to other social platforms like Twitter/X and Facebook. We're also considering adding more granular classification categories (e.g., "Self-Promotion" vs "Clickbait"), user feedback mechanisms to improve the AI over time, and a community feature where users can flag misclassified posts. We'd also love to build a dashboard where users can see trends in their feed over time.

Built With

  • chrome-extension-(manifest-v3)
  • chrome-storage-api
  • css3
  • google-gemini-2.0-flash-api
  • html5
  • openrouter-api
  • vanilla-javascript
Share this project:

Updates