outreach-composer-for-job-search
is a Streamlit application designed to help job seekers generate personalized cold emails or LinkedIn messages. By leveraging the groq-api
and various language models, the app extracts job postings from provided URLs, cleans the text, and crafts professional outreach messages.
- Extract job postings directly from career pages.
- Create personalized cold emails or LinkedIn messages.
- Tailor messages with user and referrer details.
- Integrate relevant portfolio links into the messages.
- Offer support for multiple language models and adjustable creativity levels.
-
Clone the repository:
git clone https://github.com/amanovishnu/outreach-composer-for-job-search.git cd outreach-composer-for-job-search
-
Create a virtual environment using Anaconda or
virtualenv
:Using Anaconda:
conda create -n cenv python=3.10 -y conda activate cenv
Using
virtualenv
:python3 -m venv venv source venv/bin/activate # On Windows use `venv\Scripts\activate`
-
Install the required dependencies:
pip install -r requirements.txt
-
Run the Streamlit application:
streamlit run app.py
-
Open your browser and navigate to
http://localhost:8501
. -
Follow the steps in the sidebar to generate your personalized outreach messages:
- Input your Groq API Key.
- Upload your portfolio CSV file.
- Provide your name and the referrer’s name.
- Select the message type (email or LinkedIn message).
- Choose a language model and adjust the creativity level.
- Paste the job posting URL and click "Generate".
Note: The first time you run the application, downloading the embedding model may take 2-3 minutes.
- Visit the Groq API website.
- Sign up for a free account.
- Navigate to the API section and generate a new API key.
- Copy the API key and use it in the application when prompted.
To create and run the Docker image:
-
Build the Docker image:
docker build -t outreach-composer-for-job-search .
-
Run the Docker container:
docker run -p 8501:8501 outreach-composer-for-job-search
-
Open your browser and navigate to
http://localhost:8501
.
A pre-built Docker image is available on Docker Hub:
-
Pull the Docker image:
docker pull amanovishnu/outreach-composer-for-job-search:latest
-
Run the Docker container:
docker run -p 8501:8501 amanovishnu/outreach-composer-for-job-search:latest
-
Open
http://localhost:8501
in your browser to use the Streamlit application.
├── .github <- GitHub configuration directory (e.g., workflows for CI/CD)
├── notebook <- Directory containing Jupyter notebook and portfolio CSV file
│ ├── my_portfolio.csv <- Sample portfolio CSV file
│ └── notebook.ipynb <- Jupyter notebook for testing and development
├── .dockerignore <- Specifies files and directories to ignore when building the Docker image
├── .env <- Environment variables file (not included in the repository)
├── .gitignore <- Git ignore file
├── app.py <- Main Streamlit application file
├── chains.py <- Contains the Chain class for extracting jobs and generating messages
├── Dockerfile <- Dockerfile for containerizing the application
├── LICENSE <- License file
├── portfolio.py <- Contains the Portfolio class for managing and querying portfolio links
├── README.md <- Project README file
├── requirements.txt <- List of Python dependencies
├── setup.cfg <- Configuration for flake8 and mypy
└── utils.py <- Utility functions for cleaning text and fetching model lists
This project is licensed under the MIT License. See the LICENSE file for details.
Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.
For any questions or inquiries, please contact [email protected].