A comprehensive AI-powered system that integrates multiple AI capabilities for sales development, meeting analysis, and knowledge management. The platform helps sales teams identify prospects, generate personalized outreach, automate follow-ups, and capture meeting insights.
- Overview
- Architecture
- Module Details
- Usage
- Development
- Deployment
- Technologies Used
- Contributing
- License
This system is designed to transform the traditional sales development process by leveraging AI at every stage:
- AI Lead Generator & Analyzer: Scrapes LinkedIn and other platforms to find and analyze potential leads.
- Personalized AI Email Generator: Creates highly personalized emails based on prospect data and pain points.
- AI Follow-up & Meeting Scheduler: Monitors email responses and automates follow-ups.
- AI Meeting Notes & Knowledge Base: Captures, summarizes, and makes searchable all meeting knowledge.
The system uses a modern microservices architecture:
├── Frontend (Next.js)
│ ├── Dashboard
│ ├── Prospect Management
│ ├── Email Editor
│ ├── Meeting Management
│ └── Knowledge Search
│
├── Backend (FastAPI)
│ ├── AI SDR Services
│ ├── Meeting AI Services
│ ├── Knowledge Base Services
│ └── Authentication/Authorization
│
├── Storage
│ ├── Supabase (Persistent Storage)
│ ├── Redis (Caching)
│ └── Pinecone (Vector Database)
│
└── External Services
├── Groq (LLM Provider)
├── MeetingBaaS (Meeting Bot)
└── Jina AI (Vector Embeddings)
The AI SDR module is responsible for finding, analyzing, and engaging with prospects.
- Functionality: Scrapes LinkedIn for potential leads, analyzes posts for pain points, and identifies promising prospects.
- Key Components:
LinkedInPublicScraper
: Scrapes LinkedIn contentanalyze_posts()
: Extracts insights from posts using LLMget_prospects()
: Filters and scores leads based on alignment
- Technologies: Selenium, BeautifulSoup, Groq LLM
- Functionality: Generates personalized email drafts using a multi-stage LangGraph workflow.
- Key Components:
build_workflow()
: Creates the email generation state graphsubject_agent()
: Generates compelling subject linescontent_builder_agent()
: Creates initial email contentcontent_refiner_agent()
: Refines and improves the draftfinal_draft_agent()
: Formats the final email
- Technologies: LangGraph, Groq LLM
- Functionality: Analyzes email responses for sentiment and intent, generates follow-ups.
- Key Components:
analyze_sentiment()
: Determines email sentiment and intentgenerate_followup_email()
: Creates contextual follow-up emailsGmailService
: Handles Gmail API integration
- Technologies: Google Gmail API, Groq LLM
The Meeting AI module handles meeting participation, transcription, and analysis.
- Functionality: Analyzes meeting transcripts to extract summaries, action items, and insights.
- Key Components:
analyze_meeting()
: Processes transcripts to generate structured insights- Few-shot examples for consistent output formatting
- Technologies: Groq LLM, MeetingBaaS API
- Functionality: Adds bots to meetings, receives webhooks with transcripts.
- Key Components:
/add-bot
: Endpoint to add a bot to a meeting/webhook
: Receives meeting completion events- Meeting status management
- Technologies: MeetingBaaS API, FastAPI
The Knowledge Base module stores and retrieves meeting knowledge.
- Functionality: Creates embeddings, stores meeting data, and enables semantic search.
- Key Components:
create_embedding()
: Generates vector embeddings using Jina AIstore_meeting_data()
: Chunks and stores meeting contentsearch_meetings()
: Performs vector similarity searchgenerate_rag_response()
: Creates RAG-based answers from meetings
- Technologies: Pinecone, Jina AI Embeddings, RAG
- Functionality: Provides a unified interface for LLM interactions.
- Key Components:
get_json_response()
: Gets structured JSON responsesget_streaming_response()
: Streams responses for UIget_completion()
: Gets regular text completions
- Technologies: Groq, LangChain
The frontend provides a user-friendly interface for the system.
- Functionality: Displays key metrics, recent activities, and insights.
- Key Components:
DashboardOverview
: Shows statistics and activityFollowUps
: Manages email responsesMeetingNotes
: Displays meeting summariesMeetingSearch
: Searches knowledge base
- Technologies: Next.js, Recharts, shadcn/ui
- Functionality: Displays and manages prospects found by the AI.
- Key Components:
ProspectList
: Lists all prospects with filteringProspectCard
: Displays prospect detailsProspectModal
: Shows detailed prospect informationEmailDrafts
: Manages email generation and sending
- Technologies: Next.js, shadcn/ui
- Functionality: Handles user authentication and authorization.
- Key Components:
login/page.tsx
: Login/signup interfacelogin/actions.ts
: Server actions for auth- Supabase integration
- Technologies: Next.js, Supabase Auth
- Node.js 19+
- Python 3.9+
- Docker (optional but recommended)
- Supabase account
- Pinecone account
- Groq API key
- MeetingBaaS account
Login with these creds:
- Email:jamikhann@gmail.com
- Pass: abcd1234
- Or directly login with github
-
Prospect Generation:
- Navigate to the Prospects page
- Set minimum alignment score and click "Generate New Prospects"
- View and filter prospects based on criteria
-
Email Generation:
- Click on a prospect to view details
- Select "Generate Email Draft"
- Edit the draft and send
-
Reply Tracking:
- Go to the Dashboard and select "Follow-ups" tab
- Click "Analyze Replies" to process new emails
- View sentiment analysis and suggested follow-ups
-
Meeting Management:
- Navigate to the Dashboard and select "Meeting Notes" tab
- Add a meeting bot by providing a meeting URL
- Once a meeting completes, view the transcript, summary, and insights
-
Knowledge Search:
- Use the search bar in the Meeting Notes tab
- Ask questions about past meetings
- View answers with source information
-
New AI Agents:
- Create a new service in
agents/services/
- Add endpoints in
agents/main.py
- Integrate with existing services as needed
- Create a new service in
-
New Frontend Components:
- Add components in
components/
- Create new pages in
app/
- Update navigation as needed
- Add components in
-
Database Changes:
- Update Supabase schema as needed
- Modify the relevant services that interact with the database
- Push your code to GitHub
- Connect your repository to Vercel
- Configure environment variables
- Deploy
- Push your code to GitHub
- Connect your repository to Railway
- Configure environment variables
- Set the start command:
uvicorn main:app --host 0.0.0.0 --port $PORT
- Deploy
- FastAPI: Web framework for building APIs
- LangChain: Framework for LLM applications
- LangGraph: State machines for LLM workflows
- Groq: LLM provider for text generation
- Selenium & BeautifulSoup: Web scraping
- Pinecone: Vector database for embeddings
- Jina AI: Embedding model provider
- Redis: Caching and temporary storage
- Supabase: PostgreSQL database and authentication
- Next.js 15: React framework with App Router
- TypeScript: Typed JavaScript
- Tailwind CSS: Utility-first CSS framework
- shadcn/ui: Component library
- Recharts: Charting library
- Sonner: Toast notifications
- React Hook Form: Form handling
- Docker: Containerization
- Railway: Backend deployment
- Vercel: Frontend deployment
This project is licensed under the MIT License - see the LICENSE file for details.
For questions or support, please contact mohdjamikhann@gmail.com.