{"id":24888620,"url":"https://github.com/amanovishnu/cold-connect","last_synced_at":"2026-04-13T22:03:33.905Z","repository":{"id":269704522,"uuid":"908118495","full_name":"amanovishnu/cold-connect","owner":"amanovishnu","description":"cold-connect is a streamlit app that generates personalized cold emails or linkedin messages. it uses the groq api \u0026 language models to extract job details from urls \u0026 craft professional messages. users can customize messages with their details, choose message type \u0026 creativity level \u0026 include portfolio links via a csv upload.","archived":false,"fork":false,"pushed_at":"2025-03-03T11:35:37.000Z","size":65,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-09-08T05:42:55.102Z","etag":null,"topics":["cold-email-generator","docker","github-actions","groq-api","langchain-python","large-language-model","python310","streamlit"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/amanovishnu.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-25T07:18:59.000Z","updated_at":"2025-08-02T02:02:36.000Z","dependencies_parsed_at":"2025-02-01T14:20:21.497Z","dependency_job_id":"15a70112-187c-4299-93e8-b62dfb05d473","html_url":"https://github.com/amanovishnu/cold-connect","commit_stats":null,"previous_names":["amanovishnu/cold-email-generator","amanovishnu/outreach-composer-for-job-search"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/amanovishnu/cold-connect","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amanovishnu%2Fcold-connect","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amanovishnu%2Fcold-connect/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amanovishnu%2Fcold-connect/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amanovishnu%2Fcold-connect/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amanovishnu","download_url":"https://codeload.github.com/amanovishnu/cold-connect/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amanovishnu%2Fcold-connect/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31772643,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-13T20:17:16.280Z","status":"ssl_error","status_checked_at":"2026-04-13T20:17:08.216Z","response_time":93,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cold-email-generator","docker","github-actions","groq-api","langchain-python","large-language-model","python310","streamlit"],"created_at":"2025-02-01T16:14:11.819Z","updated_at":"2026-04-13T22:03:33.888Z","avatar_url":"https://github.com/amanovishnu.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cold-connect\n\n**`cold-connect`** 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.\n\n### Features\n- Extract job postings directly from career pages.\n- Create personalized cold emails or LinkedIn messages.\n- Tailor messages with user and referrer details.\n- Integrate relevant portfolio links into the messages.\n- Offer support for multiple language models and adjustable creativity levels.\n\n### Installation\n\n1. Clone the repository:\n    ```sh\n    git clone https://github.com/amanovishnu/cold-connect.git\n    cd cold-connect\n    ```\n\n2. Create a virtual environment using Anaconda or `virtualenv`:\n\n    **Using Anaconda:**\n    ```sh\n    conda create -n cenv python=3.10 -y\n    conda activate cenv\n    ```\n\n    **Using `virtualenv`:**\n    ```sh\n    python3 -m venv venv\n    source venv/bin/activate  # On Windows use `venv\\Scripts\\activate`\n    ```\n\n3. Install the required dependencies:\n    ```sh\n    pip install -r requirements.txt\n    ```\n\n### Usage\n\n1. Run the Streamlit application:\n    ```sh\n    streamlit run app.py\n    ```\n\n2. Open your browser and navigate to **`http://localhost:8501`**.\n\n3. Follow the steps in the sidebar to generate your personalized outreach messages:\n    - Input your Groq API Key.\n    - Upload your portfolio CSV file.\n    - Provide your name and the referrer’s name.\n    - Select the message type (email or LinkedIn message).\n    - Choose a language model and adjust the creativity level.\n    - Paste the job posting URL and click **\"Generate\"**.\n\n**Note:** The first time you run the application, downloading the embedding model may take 2-3 minutes.\n\n### Getting Groq API Key\n\n1. Visit the [Groq API website](https://groq.com/).\n2. Sign up for a free account.\n3. Navigate to the API section and generate a new API key.\n4. Copy the API key and use it in the application when prompted.\n\n\n### Docker\n\n##### Build and Run Locally\n\nTo create and run the Docker image:\n\n1. Build the Docker image:\n    ```sh\n    docker build -t cold-connect .\n    ```\n\n2. Run the Docker container:\n    ```sh\n    docker run -p 8501:8501 cold-connect\n    ```\n\n3. Open your browser and navigate to **`http://localhost:8501`**.\n\n##### Run with Pre-Built Image\n\nA pre-built Docker image is available on GitHub Container Registry (ghcr.io):\n\n1. Pull the Docker image:\n    ```sh\n    docker pull ghcr.io/amanovishnu/cold-connect:latest\n    ```\n\n2. Run the Docker container:\n    ```sh\n    docker run -p 8501:8501 ghcr.io/amanovishnu/cold-connect:latest\n    ```\n\n3. Open **`http://localhost:8501`** in your browser to use the Streamlit application.\n\n### File Structure\n\n```sh\n├── .github                   \u003c- GitHub configuration directory (e.g., workflows for CI/CD)\n├── notebook                  \u003c- Directory containing Jupyter notebook and portfolio CSV file\n│   └── my_portfolio.csv      \u003c- Sample portfolio CSV file\n├── .dockerignore             \u003c- Specifies files and directories to ignore when building the Docker image\n├── .env                      \u003c- Environment variables file (not included in the repository)\n├── .gitignore                \u003c- Git ignore file\n├── app.py                    \u003c- Main Streamlit application file\n├── chains.py                 \u003c- Contains the Chain class for extracting jobs and generating messages\n├── Dockerfile                \u003c- Dockerfile for containerizing the application\n├── LICENSE                   \u003c- License file\n├── portfolio.py              \u003c- Contains the Portfolio class for managing and querying portfolio links\n├── README.md                 \u003c- Project README file\n├── requirements.txt          \u003c- List of Python dependencies\n├── setup.cfg                 \u003c- Configuration for flake8 and mypy\n└── utils.py                  \u003c- Utility functions for cleaning text and fetching model lists\n\n```\n\n\n### License\nThis project is licensed under the MIT License. See the **LICENSE** file for details.\n\n### Contributing\nContributions are welcome! Please open an issue or submit a pull request for any improvements or bug fixes.\n\n### Acknowledgements\n- [Streamlit](https://streamlit.io/)\n- [Groq API](https://groq.com/)\n- [LangChain](https://langchain.com/)\n\n### Contact\nFor any questions or inquiries, please contact [geekymano@gmail.com](mailto:geekymano@gmail.com).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famanovishnu%2Fcold-connect","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famanovishnu%2Fcold-connect","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famanovishnu%2Fcold-connect/lists"}