A Streamlit-based web application that generates personalized cold emails by analyzing job postings and matching them with relevant portfolio projects.
- Web-based interface for easy interaction
- Automatic job posting analysis
- Skills extraction from job descriptions
- Portfolio project matching
- AI-powered email generation
- Clean and modern UI
- Clone the repository:
git clone https://github.com/yourusername/ColdMailGenerator.git
cd ColdMailGenerator- Create a virtual environment (recommended):
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
pip install -r requirements.txt- Set up environment variables:
- Create a
.envfile in the root directory - Add your API keys and configuration (refer to
.env.exampleif available)
- Create a
- Start the Streamlit application:
streamlit run main.py-
Open your web browser and navigate to the provided local URL (typically http://localhost:8501)
-
Enter a job posting URL in the input field
-
Click "Submit" to generate a personalized cold email
ColdMailGenerator/
├── main.py # Main application entry point
├── chains.py # LLM chain implementations
├── portfolio.py # Portfolio management
├── utils.py # Utility functions
├── vectorstore/ # Vector database storage
├── resources/ # Additional resources
└── requirements.txt # Project dependencies
- langchain
- langchain-community
- langchain-groq
- unstructured
- selenium
- chromadb
- streamlit
- pandas
- python-dotenv
Contributions are welcome! Please feel free to submit a Pull Request.
- Built with Streamlit
- Powered by LangChain
- Uses ChromaDB for vector storage