{"id":20433303,"url":"https://github.com/jpcadena/ice-breaker","last_synced_at":"2025-09-18T13:49:59.124Z","repository":{"id":210616923,"uuid":"727000230","full_name":"jpcadena/ice-breaker","owner":"jpcadena","description":"A Flask-based web app leveraging LangChain and OpenAI's LLM for innovative IceBreaker interactions via social media insights.","archived":false,"fork":false,"pushed_at":"2025-05-13T20:30:07.000Z","size":2147,"stargazers_count":6,"open_issues_count":7,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-06-03T18:40:33.757Z","etag":null,"topics":["api","artificial-intelligence","chatgpt","flask","ice-breakers","large-language-model","llm","openai","pydantic","python"],"latest_commit_sha":null,"homepage":"https://github.com/jpcadena/ice-breaker","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/jpcadena.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-12-04T01:04:34.000Z","updated_at":"2025-02-03T01:06:14.000Z","dependencies_parsed_at":"2024-12-03T16:30:05.952Z","dependency_job_id":"353e4370-c2f8-4b8a-972b-a61ad6d93d34","html_url":"https://github.com/jpcadena/ice-breaker","commit_stats":null,"previous_names":["jpcadena/ice-breaker"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/jpcadena/ice-breaker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpcadena%2Fice-breaker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpcadena%2Fice-breaker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpcadena%2Fice-breaker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpcadena%2Fice-breaker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jpcadena","download_url":"https://codeload.github.com/jpcadena/ice-breaker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jpcadena%2Fice-breaker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262199320,"owners_count":23274057,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["api","artificial-intelligence","chatgpt","flask","ice-breakers","large-language-model","llm","openai","pydantic","python"],"created_at":"2024-11-15T08:18:32.771Z","updated_at":"2025-09-18T13:49:54.055Z","avatar_url":"https://github.com/jpcadena.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ice-breaker\n\n\u003c!-- Improved compatibility of back to top link: See: https://github.com/othneildrew/Best-README-Template/pull/73 --\u003e\n\u003ca name=\"readme-top\"\u003e\u003c/a\u003e\n\n\u003c!-- PROJECT SHIELDS --\u003e\n\u003c!--\n*** Markdown \"reference style\" links for readability.\n*** Reference links are enclosed in brackets [ ] instead of parentheses ( ).\n--\u003e\n\n\n\u003c!-- PROJECT LOGO --\u003e\n\u003cbr /\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://github.com/othneildrew/Best-README-Template\"\u003e\n    \u003cimg src=\"static/logo.png\" alt=\"Logo\" width=\"90\" height=\"100\"\u003e\n  \u003c/a\u003e\n\n\u003ch3 align=\"center\"\u003eLLM IceBreaker\u003c/h3\u003e\n\n  \u003cp align=\"center\"\u003e\n    LLM IceBreaker with a Flask web application\n    \u003cbr /\u003e\n    \u003ca href=\"https://github.com/jpcadena/ice-breaker\"\u003e\u003cstrong\u003eExplore the docs\n»\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr /\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n\n\n\u003c!-- TABLE OF CONTENTS --\u003e\n\u003cdetails\u003e\n  \u003csummary\u003eTable of Contents\u003c/summary\u003e\n  \u003col\u003e\n       \u003cli\u003e\n      \u003ca href=\"#about-the-project\"\u003eAbout The Project\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#built-with\"\u003eBuilt With\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\n      \u003ca href=\"#getting-started\"\u003eGetting Started\u003c/a\u003e\n      \u003cul\u003e\n        \u003cli\u003e\u003ca href=\"#prerequisites\"\u003ePrerequisites\u003c/a\u003e\u003c/li\u003e\n        \u003cli\u003e\u003ca href=\"#installation\"\u003eInstallation\u003c/a\u003e\u003c/li\u003e\n      \u003c/ul\u003e\n    \u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#usage\"\u003eUsage\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contributing\"\u003eContributing\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#security\"\u003eSecurity\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#code-of-conduct\"\u003eCode of Conduct\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#license\"\u003eLicense\u003c/a\u003e\u003c/li\u003e\n    \u003cli\u003e\u003ca href=\"#contact\"\u003eContact\u003c/a\u003e\u003c/li\u003e  \u003c/ol\u003e\n\u003c/details\u003e\n\n\n\n\u003c!-- ABOUT THE PROJECT --\u003e\n\n## About The Project\n\n![Project][project-screenshot]\n\nIceBreaker is a Flask-powered web application that harnesses the power of LangChain and OpenAI's Large Language Models (LLM) to create engaging and personalized IceBreaker strategies. By integrating with social media APIs such as Google Search, Twitter, and LinkedIn, IceBreaker offers a unique approach to connecting with people online, leveraging the advanced capabilities of ChatGPT for intelligent, context-aware interactions.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n### Built with\n\n[![Python][python-shield]][python-url] [![Flask][flask-shield]][flask-url] [![Pydantic][pydantic-shield]][pydantic-url] [![OpenAI][openai-shield]][openai-url] [![Google][google-shield]][google-url][![Twitter][twitter-shield]][twitter-url] [![LinkedIn][linkedin-shield]][linkedin-homepage][![HTML5][html5-shield]][html5-url] [![CSS3][css3-shield]][css3-url] [![isort][isort-shield]][isort-url] [![Black][black-shield]][black-url] [![Ruff][ruff-shield]][ruff-url] [![MyPy][mypy-shield]][mypy-url] [![pre-commit][pre-commit-shield]][pre-commit-url] [![GitHub Actions][github-actions-shield]][github-actions-url] [![Poetry][poetry-shield]][poetry-url] [![Pycharm][pycharm-shield]][pycharm-url] [![Visual Studio Code][visual-studio-code-shield]][visual-studio-code-url] [![License: MIT][license-shield]][license-url]\n\n### Components\n\n- **Flask Backend**: Serves as the backbone of the application, handling HTTP requests, API interactions, and serving dynamic content using Jinja2 templating.\n\n- **LangChain with OpenAI LLM**: Utilizes advanced language models for generating personalized and contextually relevant IceBreaker suggestions.\n\n- **Social Media Integration**: Leverages APIs from Google Search, Twitter, and LinkedIn to gather insights and tailor conversations effectively.\n\n- **Frontend**: Built with HTML and CSS, providing a user-friendly interface for interaction.\n\nThis application stands out by combining cutting-edge AI with practical social media insights, offering a novel way to break the ice in digital communications.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\u003c!-- GETTING STARTED --\u003e\n\n## Getting started\n\n### Prerequisites\n\n- [Python 3.11][python-docs]\n\n### Installation\n\n1. Clone the **repository**\n   ```\n   git clone https://github.com/jpcadena/ice-breaker.git\n   ```\n2. Change the directory to **root project**\n   ```\n   cd ice-breaker\n   ```\n3. Install **Poetry** package manager\n   ```\n   pip install poetry\n   ```\n4. Install the project's **dependencies**\n   ```\n   poetry install\n   ```\n5. Activate the **environment**\n   ```\n   poetry shell\n   ```\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\u003c!-- USAGE EXAMPLES --\u003e\n\n## Usage\n\n1. **Setting up environment variables:**\n\n   If you find a `.env.sample` in the project directory, make a copy of it and rename to `.env`.\n\n   ```\n   cp .env.sample .env\n   ```\n\n   This `.env` file will be used to manage your application's environment variables.\n\n\n2. **Configuring your credentials:**\n\n   Open the `.env` file in a text editor and replace the placeholder values with your actual credentials.\n   ```\n   # .env file\n   TWITTER_API_KEY=your_x_api_key\n   OPENAI_API_KEY=your_openai_api_key\n   ```\n   Be sure to save the file after making these changes.\n\n\n3. **Starting the WSGI server:**\n\n   To start the local server on your machine, run the following command in your terminal:\n\n   ```\n   flask run --debug\n   ```\n\n   The `--debug` flag enables debug mode and hot reloading, which means the\n   server will automatically update whenever you make changes to the code.\n\n\n4. **Interacting with the app:**\n\n   Once your server is running, you can interact with it using the\n   Javascript client at your web browser at `http://localhost:5000`.\n\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\n\u003c!-- CONTRIBUTING --\u003e\n\n## Contributing\n\n[![GitHub][github-shield]][github-url]\n\nPlease read our [contributing guide](CONTRIBUTING.md) for details on our code of conduct, and the process for submitting pull requests to us.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- SECURITY --\u003e\n\n## Security\n\nFor security considerations and best practices, please refer to our [Security Guide](SECURITY.md) for a detailed guide.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- CODE_OF_CONDUCT --\u003e\n\n## Code of Conduct\n\nWe enforce a code of conduct for all maintainers and contributors. Please read our [Code of Conduct](CODE_OF_CONDUCT.md) to understand the expectations before making any contributions.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- LICENSE --\u003e\n\n## License\n\nDistributed under the MIT License. See [LICENSE](LICENSE) for more information.\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- CONTACT --\u003e\n\n## Contact\n\n- [![LinkedIn][linkedin-shield]][linkedin-url]\n\n- [![Outlook][outlook-shield]](mailto:jpcadena@espol.edu.ec?subject=[GitHub]ice-breaker)\n\n\u003cp align=\"right\"\u003e(\u003ca href=\"#readme-top\"\u003eback to top\u003c/a\u003e)\u003c/p\u003e\n\n\u003c!-- MARKDOWN LINKS \u0026 IMAGES --\u003e\n\u003c!-- https://www.markdownguide.org/basic-syntax/#reference-style-links --\u003e\n\n[project-screenshot]: static/banner.png\n[python-docs]: https://docs.python.org/3.11/\n\n[linkedin-shield]: https://img.shields.io/badge/linkedin-%230077B5.svg?style=for-the-badge\u0026logo=linkedin\u0026logoColor=white\n[outlook-shield]: https://img.shields.io/badge/Microsoft_Outlook-0078D4?style=for-the-badge\u0026logo=microsoft-outlook\u0026logoColor=white\n[python-shield]: https://img.shields.io/badge/python-3670A0?style=for-the-badge\u0026logo=python\u0026logoColor=ffdd54\n[flask-shield]: https://img.shields.io/badge/flask-%23000.svg?style=for-the-badge\u0026logo=flask\u0026logoColor=white\n[pydantic-shield]: https://img.shields.io/badge/Pydantic-FF43A1?style=for-the-badge\u0026logo=pydantic\u0026logoColor=white\n[openai-shield]: https://img.shields.io/badge/chatGPT-74aa9c?style=for-the-badge\u0026logo=openai\u0026logoColor=white\n[html5-shield]: https://img.shields.io/badge/HTML5-E34F26?style=for-the-badge\u0026logo=html5\u0026logoColor=white\n[pycharm-shield]: https://img.shields.io/badge/PyCharm-21D789?style=for-the-badge\u0026logo=pycharm\u0026logoColor=white\n[github-shield]: https://img.shields.io/badge/github-%23121011.svg?style=for-the-badge\u0026logo=github\u0026logoColor=white\n[ruff-shield]: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/charliermarsh/ruff/main/assets/badge/v1.json\n[black-shield]: https://img.shields.io/badge/code%20style-black-000000.svg?style=for-the-badge\u0026logo=appveyor\n[mypy-shield]: https://img.shields.io/badge/mypy-checked-2A6DB2.svg?style=for-the-badge\u0026logo=appveyor\n[visual-studio-code-shield]: https://img.shields.io/badge/Visual_Studio_Code-007ACC?style=for-the-badge\u0026logo=visual-studio-code\u0026logoColor=white\n[poetry-shield]: https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/python-poetry/website/main/static/badge/v0.json\n[isort-shield]: https://img.shields.io/badge/%20imports-isort-%231674b1?style=flat\u0026labelColor=ef8336\n[github-actions-shield]: https://img.shields.io/badge/github%20actions-%232671E5.svg?style=for-the-badge\u0026logo=githubactions\u0026logoColor=white\n[pre-commit-shield]: https://img.shields.io/badge/pre--commit-F7B93E?style=for-the-badge\u0026logo=pre-commit\u0026logoColor=white\n[css3-shield]: https://img.shields.io/badge/CSS3-1572B6?style=for-the-badge\u0026logo=css3\u0026logoColor=white\n[license-shield]: https://img.shields.io/badge/License-MIT-yellow.svg\n[google-shield]: https://img.shields.io/badge/google-4285F4?style=for-the-badge\u0026logo=google\u0026logoColor=white\n[twitter-shield]: https://img.shields.io/badge/Twitter-%231DA1F2.svg?style=for-the-badge\u0026logo=Twitter\u0026logoColor=white\n\n[linkedin-url]: https://linkedin.com/in/juanpablocadenaaguilar\n[linkedin-homepage]: https://linkedin.com\n[python-url]: https://docs.python.org/3.11/\n[python-url]: https://www.python.org/\n[flask-url]: https://palletsprojects.com/p/flask/\n[pydantic-url]: https://docs.pydantic.dev\n[openai-url]: https://openai.com/\n[html5-url]: https://developer.mozilla.org/en-US/docs/Glossary/HTML5\n[pycharm-url]: https://www.jetbrains.com/pycharm/\n[github-url]: https://github.com/jpcadena/ice-breaker\n[ruff-url]: https://beta.ruff.rs/docs/\n[black-url]: https://github.com/psf/black\n[mypy-url]: http://mypy-lang.org/\n[visual-studio-code-url]: https://code.visualstudio.com/\n[poetry-url]: https://python-poetry.org/\n[isort-url]: https://pycqa.github.io/isort/\n[github-actions-url]: https://github.com/features/actions\n[pre-commit-url]: https://pre-commit.com/\n[css3-url]: https://developer.mozilla.org/en-US/docs/Web/CSS\n[license-url]: https://opensource.org/licenses/MIT\n[google-url]: https://www.google.com/\n[twitter-url]: https://twitter.com/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjpcadena%2Fice-breaker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjpcadena%2Fice-breaker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjpcadena%2Fice-breaker/lists"}