An open API service indexing awesome lists of open source software.

https://github.com/aravinda-1402/cold_email_generator

An automated cold email generator leveraging Retrieval-Augmented Generation (RAG), combining LangChain's ChatGroq model with ChromaDB for targeted outreach. The project includes a Streamlit for intuitive job description parsing, skill matching, and personalized email generation.
https://github.com/aravinda-1402/cold_email_generator

Last synced: 2 months ago
JSON representation

An automated cold email generator leveraging Retrieval-Augmented Generation (RAG), combining LangChain's ChatGroq model with ChromaDB for targeted outreach. The project includes a Streamlit for intuitive job description parsing, skill matching, and personalized email generation.

Awesome Lists containing this project

README

        

# 📧 Cold Email Generator

This Cold Email Generator automates the process of extracting job listings from career pages and generating targeted cold emails. Leveraging **Groq LLM**, **LangChain**, and **Streamlit**, this tool ensures that outreach emails are personalized with relevant portfolio links stored in a **vector database**.

---

## 🔍 Overview

Many businesses spend significant resources on recruiting and hiring talent. This tool assists **service-oriented companies** by identifying job openings and generating **customized outreach emails** to highlight relevant solutions.

For example, if a company is **hiring software engineers**, a **business development executive** from an AI & Software Consulting company (like "ABC") can use this tool to send personalized cold emails, offering skilled professionals or consulting solutions to fulfill the company's hiring needs.


Cold Email Generator Interface

---

## ⚙️ How It Works

The Cold Email Generator follows a structured pipeline:

1. **Scrape Job Listings**:
- The user enters a **career page URL** (e.g., Nike Careers).
- The tool **scrapes job listings** and **extracts details** (job title, skills, experience, description).

2. **Match Portfolio Links**:
- The tool queries a **vector store** to find **relevant portfolio projects** that match the job’s skillset.

3. **Generate Cold Email**:
- A **LLM (Large Language Model)** crafts a **personalized email**, introducing ABC’s services and **attaching relevant portfolio links**.

4. **Display the Email**:
- The **email is generated** in markdown format, ready for outreach.


Architecture Diagram

---

## 🛠️ Tech Stack

- **Streamlit** – User interface for entering job URLs and displaying emails.
- **LangChain** – Handles job extraction and email generation.
- **Groq LLM** – Processes extracted job data and generates cold emails.
- **ChromaDB** – Stores and retrieves relevant portfolio links based on job descriptions.

---

## 📥 Installation & Setup

### 1️⃣ Generate API Key

- Obtain an API key from **[Groq API Console](https://console.groq.com/keys)**.
- Add the key to your `.env` file:

```bash
echo "GROQ_API_KEY=your_api_key_here" > app/.env

### 2️⃣ Install Dependencies
```bash
pip install -r requirements.txt
```
### 3️⃣ Run the Application
```bash
streamlit run app/main.py

```

## 🎯 Future Enhancements

- ✅ **Multi-company outreach**: Automate cold emails for multiple companies in a batch.
- ✅ **Enhanced filtering**: Improve skill-matching with vector embeddings.
- ✅ **Automated follow-ups**: Generate follow-up emails based on client responses.

## 📝 License

This project is open-source and available under the **MIT License**.