Skip to content

outreach composer for job search is a streamlit app that generates personalized cold emails or linkedin messages. it uses the groq api & language models to extract job details from urls & craft professional messages. users can customize messages with their details, choose message type & creativity level & include portfolio links via a csv upload.

License

Notifications You must be signed in to change notification settings

amanovishnu/outreach-composer-for-job-search

Repository files navigation

outreach-composer-for-job-search

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.

Features

  • 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.

Installation

  1. Clone the repository:

    git clone https://github.com/amanovishnu/outreach-composer-for-job-search.git
    cd outreach-composer-for-job-search
  2. 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`
  3. Install the required dependencies:

    pip install -r requirements.txt

Usage

  1. Run the Streamlit application:

    streamlit run app.py
  2. Open your browser and navigate to http://localhost:8501.

  3. 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.

Getting Groq API Key

  1. Visit the Groq API website.
  2. Sign up for a free account.
  3. Navigate to the API section and generate a new API key.
  4. Copy the API key and use it in the application when prompted.

Docker

Build and Run Locally

To create and run the Docker image:

  1. Build the Docker image:

    docker build -t outreach-composer-for-job-search .
  2. Run the Docker container:

    docker run -p 8501:8501 outreach-composer-for-job-search
  3. Open your browser and navigate to http://localhost:8501.

Run with Pre-Built Image

A pre-built Docker image is available on Docker Hub:

  1. Pull the Docker image:

    docker pull amanovishnu/outreach-composer-for-job-search:latest
  2. Run the Docker container:

    docker run -p 8501:8501 amanovishnu/outreach-composer-for-job-search:latest
  3. Open http://localhost:8501 in your browser to use the Streamlit application.

File Structure

├── .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

License

This project is licensed under the MIT License. See the LICENSE file for details.

Contributing

Contributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.

Acknowledgements

Contact

For any questions or inquiries, please contact [email protected].

About

outreach composer for job search is a streamlit app that generates personalized cold emails or linkedin messages. it uses the groq api & language models to extract job details from urls & craft professional messages. users can customize messages with their details, choose message type & creativity level & include portfolio links via a csv upload.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published