Skip to content

About

AI-powered tool that scrapes job postings and generates personalised cold emails using Llama 3, Groq, and LangChain.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

18 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Cold Email Generator using Llama-3, LangChain & Groq

A Streamlit-based application that scrapes job postings from career pages and automatically generates personalized cold emails using Llama 3 via Groq. This tool matches job requirements with your portfolio to craft compelling outreach messages.

🚀 Project Impact

Why should you care about this project?

👉 Automates Outreach: Generates professional cold emails from job URLs in seconds.
👉 Personalized Content: Matches job skills with specific portfolio links.
👉 Boosts Efficiency: Reduces time spent on initial outreach by a significant margin.

🌟 Features

  • Job Scraping: Extracts job details from any career or job listing webpage.
  • Skill Matching: Uses semantic understanding to match job requirements with your portfolio projects.
  • Fast Inference: Powered by Groq's LPU inference engine for near-instant generation.
  • Clean UI: Simple Streamlit interface for easy interaction.
  • LLM Integration: Leverages Llama 3 (llama3-8b-8192) via Groq API.

🧠 Architecture

graph LR
    A["User Input (Job URL)"] --> B["Web Scraper (WebBaseLoader)"]
    B --> C["Clean Text"]
    C --> D["Llama-3 (Job Extraction)"]
    D --> E["Portfolio Match"]
    E --> F["Llama-3 (Email Gen)"]
    F --> G["Streamlit UI"]
Loading

User Input → Web Scraper → Clean Text → Job Extraction → Portfolio Match → Email Generation → Streamlit UI

🛠️ Tech Stack

  • Frontend: Streamlit
  • LLM Integration: LangChain
  • Model: Llama-3.3-70b-versatile (via Groq)
  • Data Handling: Pandas (CSV Portfolio)

📂 Project Structure

cold-email-generator/
├── app/
│   ├── main.py          # Application entry point (Streamlit UI)
│   ├── chains.py        # LLM chains for extraction and email generation
│   ├── portfolio.py     # Portfolio loading and querying logic
│   ├── utils.py         # Utility functions (text cleaning)
│   └── resource/
│       └── my_portfolio.csv # Portfolio data
├── .env.example         # Example environment variables
├── requirements.txt     # Python dependencies
└── README.md            # Project documentation

🚀 Getting Started

  1. Clone the repository

    git clone https://github.com/Sam-Adarsh/Cold-Email-Generator.git
    cd Cold-Email-Generator
  2. Create a virtual environment (optional but recommended)

    python -m venv .venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  3. Install Dependencies

    pip install -r requirements.txt
  4. Set up Environment Variables Create a .env file in the root directory (use .env.example as a template) and add your Groq API key:

    GROQ_API_KEY=your_groq_api_key_here
  5. Run the App

    streamlit run app/main.py

👨💻 Author

Adarsh S
M.Tech in Artificial Intelligence
Interested in Generative AI, LLM Applications, and Production AI Systems.

About

AI-powered tool that scrapes job postings and generates personalised cold emails using Llama 3, Groq, and LangChain.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages