-
-
An overview of prospect profile
-
Buying signals coming from recent posts of LinkedIn DOM using chrome built-in AI
-
Refine messages using chrome build-in AI
-
Tech stack with the number of people who are working in that tech stack, recent job listings
-
AI Message Composer with context of linkedin profile and backend response
-
-
A financial overview with earning call links, budget availability check
-
Known customers, Top competitors, case studies
-
News and signals about the company's positive and negative impact.
-
AI Quick Summary, keypoints, TLDR.
-
recent posts
-
The key decision-makers alongside their LinkedIn profiles, number of years they have been here, their titles
-
Risk signals including: - Negative news - Layoffs - Earnings calls
Inspiration
I have a friend named Akshay in my office (TrueFoundry), who is an SDR. While looking over his shoulder, I saw that his daily work is monotonous and tedious. He has to go through 15 prospects a day with his checklist:
- Talk to Perplexity (open another tab, search, copy results back)
- Come back on LinkedIn
- Make sure CRM has the data for his co-members in the sales team
- Check if they're not talking to the same prospect again and whether they've reached out before
- Check company financial data, SEC filings, YTD/YOY growth, earnings, budgetary constraints, news, and conference speaking
All of this could be automated. He wanted to do this directly on LinkedIn without switching tabs. The answer was simple - build a Chrome extension with AI that brings everything to LinkedIn.
Watching Akshay spend hours jumping between 10+ tabs made me realize: sales research hasn't evolved much. By the time research is done, SDRs are too exhausted to write good outreach emails. The workflow is broken.
So I built LinkedIntel - AI-powered intelligence, all right there on LinkedIn.
What it does
LinkedIntel gives you instant company and prospect intelligence directly on LinkedIn. No tabs, no switching.
Company Intelligence:
- Live financials, SEC filings, stock data
- Breaking news with sentiment analysis
- Latest funding rounds and investors
- Current tech stack (200+ categories via Sumble API)
- Recent hiring signals and job postings
- Decision makers with verified roles and LinkedIn URLs
Person Intelligence:
- Decision maker scoring (budget authority and influence)
- Recent activity (posts, events, speaking engagements)
- Pain points extracted from content
- Conversation hooks based on recent activity
When Akshay researches a company, he gets real-time news, funding, financials, and tech stack in one view - right on LinkedIn.
How we built it
I built a backend that pulls from Sumble API (tech stack, contacts) and Perplexity AI (news, financials, funding). The extension detects LinkedIn profiles and companies, extracts data, and displays it in a floating panel.
The backend has a 7-stage pipeline: detect profile → check cache → fetch real-time data if needed → synthesize results → return. Everything is cached for 24 hours to balance speed and freshness.
Tech stack:
- Frontend: Vanilla JS, Tailwind CSS, Chrome MV3 APIs
- Backend: Bun, Express, PostgreSQL on Fly.io
- AI: Perplexity AI, Sumble API
- Infrastructure: Supabase
Challenges we ran into
Service Workers: MV3 service workers sleep after 30 seconds. Had to rebuild everything around stateless message passing and aggressive caching.
LinkedIn SPA: Traditional page loads don't work with LinkedIn's single-page app. Used chrome.webNavigation + MutationObserver to catch profile changes instantly.
Script Load Order: Content scripts depend on each other but Chrome doesn't guarantee order. Fixed with explicit manifest ordering + defensive null checks + retry logic.
Costs: Initial version was expensive per analysis. Switched to smart caching and got costs down significantly.
AI Output Quality: LLMs love hallucinating missing data. Had to rewrite prompts many times to force them to omit data they don't have. Better to show 3 real metrics than 10 "N/A" entries.
Accomplishments that we're proud of
Built a real-time intelligence pipeline from Sumble and Perplexity so sales teams always have current data - not stale cache.
Cached loads are under 500ms, faster than LinkedIn's native tabs.
No placeholder data - if we don't have it, we don't show it. SDRs only see actionable intelligence.
Production-ready: full auth, usage tracking, billing, error handling.
What we learned
Two-tier caching makes or breaks the product. Difference between 4 seconds and 400ms determines if people use it. Cached responses beat LinkedIn's own tabs.
MV3 is brutal - service workers sleep, no persistent state. Everything had to be stateless with message passing.
Prompt engineering took many iterations. Negative instructions ("NEVER say Not disclosed") work better than positive ones.
LinkedIn's SPA broke all assumptions. Had to use web navigation APIs + MutationObserver for dynamic detection.
Building directly into LinkedIn (not a separate dashboard) eliminated friction. Akshay's problem wasn't research - it was leaving LinkedIn to do it.
What's next for LinkedIntel
Real-time alerts: Monitor prospects for job changes, funding, hiring spikes.
Team workspaces: Shared research with real-time updates. No more duplicate outreach or "did we already talk to this person?" problems.
Meeting prep: Pre-call briefings with talking points, questions, case studies.
CRM sync: Auto-push enriched data to Salesforce, HubSpot, Pipedrive. Automate Akshay's CRM checklist.
Multi-platform: Expand beyond LinkedIn to Twitter/X, company sites, Sales Navigator.
LinkedIntel: Because SDRs should spend their time booking meetings, not researching them.
Built With
- 2.0
- ai
- astro
- css3
- express.js
- fly.io
- git
- gpt
- html5
- javascript
- node.js
- npm
- oauth
- openai
- perplexity
- postcss
- postgresql
- sentry
- sql
- sumble
- supabase
- typescript


Log in or sign up for Devpost to join the conversation.