π― The Goal
Follow target buyers across the internet. Pull everyone in those threads, run them through a Company Brain (an LLM context layer) that knows the ICP, and surface the warm leads.
π¦ What You're Building
A system that:
- Pulls intel from relevant posts from Influencers in the space, Competitors, Thought Leaders, etc. via Apify
- Stores their name, title, profile URL, company details
- Evaluates each person via Claude to score relevance against the company's ICP
- Auto-drafts personalized openers for highly-scored target buyers
- Displays an Engaged Leads pipeline counter on the dashboard
β
βοΈ Setup
1. Clone & Install

β
git clone <https://github.com/YOUR_USERNAME/gtm-linkedin-tracker.git>
cd gtm-linkedin-tracker
npm installβ
2. Configure Environment
cp .env.example .envEdit .env and add your API keys:
β
3. Initialize Database
npx prisma db pushβ
4. Run
npm run devβ
π How It Works
β
Step 1: Add Profiles
Go to Profiles β Add LinkedIn profile URLs of the thought leaders you want to track.
β
Step 2: Configure Your ICP
Go to Settings β Define your company context:
- Company name & value proposition
- Target buyer roles (VP Sales, CTO, etc.)
- Anti-ICP signals (Recruiter, Student, etc.)
- Target company size
β
Step 3: Sync & Scrape
Click β‘ Sync Now on the Signal Feed to:
- Fetch the latest posts from tracked profiles
- Scrape all commenters from those posts
β
Step 4: Qualify Leads
Go to Pipeline β Click π§ Qualify Leads to:
- Run all unscored commenters through the AI evaluator
- Each commenter gets an ICP score (0-100), intent level, reasoning, and a personalized DM draft
β
Step 5: Outreach
Browse your qualified leads, filtered by intent level and ICP score. Copy the AI-drafted DM and reach out on LinkedIn.
ποΈ Tech Stack
- Framework: Next.js 16 (App Router)
- Database: SQLite via Prisma ORM
- Scraping: Apify (LinkedIn profile posts + post comments actors)
- AI: Google Gemini 2.0 Flash (structured JSON output)
- Styling: Vanilla CSS with Apple-inspired design system
π Project Structure
βββ prisma/
β βββ schema.prisma # Database schema
βββ src/
β βββ app/
β β βββ api/
β β β βββ context/ # Company ICP context CRUD
β β β βββ pipeline/ # Qualified leads endpoint
β β β βββ qualify/ # LLM qualification trigger
β β β βββ posts/ # Posts + commenters
β β β βββ profiles/ # Profile management
β β β βββ sync/ # Apify sync pipeline
β β β βββ interests/ # Interest keyword filters
β β βββ pipeline/ # Lead Pipeline UI
β β βββ settings/ # ICP Configuration UI
β β βββ interests/ # Interest Filters UI
β β βββ profiles/ # Profile Management UI
β β βββ layout.js # App shell + sidebar
β β βββ page.js # Signal Feed (dashboard)
β β βββ globals.css # Design system
β βββ lib/
β βββ apify.js # Apify scraper integration
β βββ llmEvaluator.js # Gemini AI qualification engine
β βββ prisma.js # Database client
βββ .env.example # Environment template
βββ package.jsonπ° Cost Estimates
β
π§ Configuration
Changing the LLM Provider
The evaluator in src/lib/llmEvaluator.js uses Google Gemini by default. To use a different provider, modify the callGemini() function to point to the OpenAI or Anthropic API instead.
β
Adjusting Qualification Batch Size
Edit BATCH_SIZE in src/lib/llmEvaluator.js (default: 15 commenters per LLM call).
β
Custom System Prompts
Use the Settings β Custom AI Instructions field to add domain-specific context like competitor names, tech stack preferences, or geographic targeting.
β
π License
MIT
π€ Contributing
PRs welcome! Please open an issue first to discuss what you'd like to change.
π¬ See It In Action
Hereβs a sample walkthrough of how this looks like once its set up!



β
π The Best Part
Surfacing warm leads is just one use case. The same setup is also pulling:
- Themes target buyers are leaning into week over week
- Topics heating up before they trend
- Competitive intel - which competitors keep getting named, and in what tone
- A live feed of what the category is actually thinking about
- Whatever signal the GTM team needs before a call
The output is a daily brief that turns a noisy feed into a structured intel layer. SDRs walk into every conversation already knowing what the buyer cares about!
π§ Want More AI-GTM Ideas Like This?
Follow the team building this stuff every day:
β [Piyush, CRO, Co-Founder]
β [Achintya, CEO, Co-Founder]
β [Gaurav, CTO, Co-Founder]
β [Disha, Head of Marketing]
β [Reo.Dev]


