A full-stack application to manage LinkedIn outreach campaigns and unify all LinkedIn messages across accounts β with AI-powered personalized messaging, web scraping, and real-time conversation updates.
This project is built as part of the OutFlo Founding Tech Internship Task. It demonstrates a scalable MERN stack application with:
- π― Campaign management for LinkedIn outreach
- π¨ Unified LinkedIn messaging dashboard
- π€ AI-generated personalized messages
- πΈοΈ Lead scraping and integration
- β‘ Real-time WebSocket updates and webhook ingestion
- βοΈ Fully deployed and production-ready
linkedin-campaign/
βββ backend/ # Express.js + TypeScript + MongoDB backend
βββ frontend/ # React + TypeScript frontend
βββ README.md # Root readme (you are here)
| Layer | Tech Details |
|---|---|
| Frontend | React, TypeScript, ShadCn UI, Tailwind CSS |
| Backend | Node.js, Express, TypeScript, MongoDB |
| AI Engine | Google Generative AI SDK |
| Real-time | WebSockets via ws |
| LinkedIn API | Unipile (for message sync via li_at cookie) |
| Deployment | Frontend: Vercel Β· Backend: AWS EC2 |
- π Campaign management with full CRUD support
- π Campaign status toggle: ACTIVE, INACTIVE, DELETED
- π€ Personalized LinkedIn message generation using AI
- π Lead scraping from LinkedIn search URL
- π₯ Lead storage and searchable UI display
- π JWT-based user authentication (email/password)
- π Connect multiple LinkedIn accounts using li_at cookie (via Unipile)
- π¨ Initial message sync from all connected accounts
- π Webhook endpoint for real-time new message ingestion
- β‘ WebSocket setup for pushing new messages live to the UI
- π§Ύ Unified, chronological message feed across accounts
- Developed by Vivek Tripathi
- For queries, reach out via [email protected]