Scrape, classify & chat over your LinkedIn Saved Posts using Supabase + pgvector, Vercel Edge Functions, Playwright MCP, Firecrawl MCP, and OpenRouter LLMs.
- One-time bootstrap scrape of every saved post (β 400 posts)
- Daily incremental sync via Vercel cron (stops on first duplicate)
- Rigid Topic β Category β Subcategory taxonomy for clean filtering
- Fast vector & full-text search (pgvector + Postgres)
- Chat assistant with switchable models:
o4-mini-high
,o4-mini
,gpt-4.1
,gemini-2.5-flash
- Firecrawl enrichment for external links (optional)
- Cursor AI rule-files for structured, SOLID, KISS code generation
Layer | Tech |
---|---|
Front-end | Next.js (App Router), Tailwind, shadcn/ui |
Back-end | Vercel Edge Functions + Playwright MCP |
Database | Supabase Postgres + pgvector |
AI / LLM | OpenRouter (OpenAI & Gemini models) |
Agents | MCP Servers (playwright, firecrawl, tavily, git, github, sequential-thinking, memory) |
git clone https://github.com/BjornMelin/linkedin-saved-posts-ai.git
cd linkedin-saved-posts-ai
cp .env.example .env.local # add your keys + LinkedIn li_at cookie
pnpm install
pnpm dev # local Next.js + Supabase
Then open http://localhost:3000 and log in with Supabase Email-Link Auth.
Secrets stay only in Vercelβs encrypted env-store β never commit them.
GitHub secret-scanning is active for public repos. If a secret leaks, rotate immediately.