This project is a web scraper and cold email generator that leverages LLMs (via GroqCloud API), vector databases (ChromaDB), and Streamlit for a seamless user experience. It scrapes job descriptions from the web, extracts structured job information, matches your portfolio, and generates a personalized cold email for recruiters. Usefull tool for the job applicant to write cold Emails.
- Web Scraping: Extracts job descriptions from any public job posting using LangChain's WebBaseLoader.
- LLM Integration: Uses GroqCloud's LLM API for job extraction and email generation.
- Portfolio Matching: Stores your tech stack and portfolio links in ChromaDB for relevant matching.
- Streamlit UI: Simple web interface for inputting job URLs and viewing generated emails.
- Environment Management: Uses
.envfor secure API key management.
- Input: Enter a job posting URL in the Streamlit app.
- Scraping: The app scrapes and cleans the job description.
- Extraction: An LLM extracts structured job data (role, experience, skills, description).
- Portfolio Match: Your portfolio is queried for relevant projects/skills.
- Email Generation: The LLM generates a tailored cold email using the job info and your portfolio.
- Output: The email is displayed in the Streamlit app, ready to copy and send.
-
Clone the repository
git clone <repo-url> cd ColdEmailUsingGroq
-
Install dependencies
pip install -r requirements.txt
-
Set up your environment variables
- Create a
.envfile in the root directory:GROQ_API_KEY=your_groq_api_key_here
- Create a
-
Prepare your portfolio
- Place your
my_portfolio.csvinapp/resource/with columns:Techstack,Links.
- Place your
-
Run the Streamlit app
streamlit run [main.py](http://_vscodecontentref_/0)
- LangChain (WebBaseLoader, Prompting)
- LangChain WebBaseLoader
- GroqCloud LLM API
- ChromaDB (vector database)
- Streamlit (UI)
- python-dotenv (env management)
- pandas (portfolio CSV handling)
MIT License