{"id":25862801,"url":"https://github.com/datachefhq/ai-roaster","last_synced_at":"2026-02-16T15:02:59.674Z","repository":{"id":268525660,"uuid":"904626297","full_name":"DataChefHQ/ai-roaster","owner":"DataChefHQ","description":"AI Roaster is an AI-powered roasting platform that generates witty and hilarious 'roasts' for teammates based on their unique characteristics","archived":false,"fork":false,"pushed_at":"2024-12-17T12:00:05.000Z","size":10802,"stargazers_count":2,"open_issues_count":5,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-10-06T01:37:18.860Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://chefroaster.ai/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DataChefHQ.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2024-12-17T08:55:41.000Z","updated_at":"2024-12-18T09:10:17.000Z","dependencies_parsed_at":"2025-06-17T03:05:19.877Z","dependency_job_id":"feca95b4-6d56-4ac3-9b94-5593366966d1","html_url":"https://github.com/DataChefHQ/ai-roaster","commit_stats":null,"previous_names":["datachefhq/ai-teammate-roaster"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DataChefHQ/ai-roaster","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataChefHQ%2Fai-roaster","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataChefHQ%2Fai-roaster/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataChefHQ%2Fai-roaster/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataChefHQ%2Fai-roaster/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DataChefHQ","download_url":"https://codeload.github.com/DataChefHQ/ai-roaster/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DataChefHQ%2Fai-roaster/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29510523,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-16T09:05:14.864Z","status":"ssl_error","status_checked_at":"2026-02-16T08:55:59.364Z","response_time":115,"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":[],"created_at":"2025-03-01T23:56:48.321Z","updated_at":"2026-02-16T15:02:59.653Z","avatar_url":"https://github.com/DataChefHQ.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# AI Roaster 😈\n\nAI Roaster is an AI-powered roasting platform that generates witty and hilarious \"roasts\" for team members based on\ntheir unique characteristics. This project combines a serverless backend with dynamic AI processing, voice-based\ninteractions, and customizable roast outputs.\n\n## How We Roasted Our Teammates 😂\n\n[![Watch the Video](./src/static/images/roast-video-gif.gif)](https://links.datachef.co/happy-2025-video)\n\n## Features\n\n- 🌶 **Funny and Personalized Roasts**: Create tailored and hilarious roasts for team members using their characteristics\n  and data.\n- 🔥 **Dynamic Roast Image Generation**: Generate roast-themed images unique to each team member.\n- 🌐 **Web Application**: A polished web interface for users to interact with the roasting experience.\n- 🔗 **Unique URLs for Roasts**: Share roasts easily using one-click URLs.\n- 🎙 **Voice Output Support**: Listen to your roast via Text-to-Speech (TTS) audio.\n\n**And it’s totally SERVERLESS! 😎**\n\n## Tech Stack\n\n- **Backend**: Python (Flask), AWS Lambda\n- **Frontend**: HTML, CSS, JavaScript\n- **Serverless Framework**: AWS infrastructure setup and deployment\n- **Dependencies**:\n    - Flask, Werkzeug, OpenAI API\n    - Boto3 for AWS interactions\n\n## Getting Started\n\n### Prerequisites\n\n1. You will need the following tools:\n- Python 3.10 or later\n- Node.js for Serverless Framework integration\n- AWS CLI configured with the required permissions\n\n2. **Create a Bucket to store assets**:\n   - Create an S3 bucket in your AWS account to store the roast images and other assets.\n   - Update the `ASSET_BUCKET` value in the `.env` file with the bucket name.\n\n3. **Create a Deployment Role**:  \n   The GitHub workflow uses [GitHub AWS OIDC](https://aws.amazon.com/blogs/security/use-iam-roles-to-connect-github-actions-to-actions-in-aws/).\n   - Create an IAM role in your AWS account for GitHub Actions.\n   - Update the `GITHUB_CI_ROLE` value in the `.env` file (GitHub Actions will use this role to deploy the project).\n\n4. **Set Up the OpenAI API Key**:\n   - Generate an OpenAI API Key.\n   - Store the key in AWS Secrets Manager.\n   - Update the `OPENAI_KEY_SECRET_NAME` in the `.env` file with the key's secret name.\n\n5. **Set Other Environment Variables**:\n   - Update `ASSET_BUCKET`, `AWS_ACCOUNT` and `REGION` in the `.env` file.\n\n### Training data\n\nTo bring the roasting experience to life, you need to provide descriptions and images for your teammates. Follow the \nsteps below to populate the database:\n\n1. **Create Roast Descriptions**:\n   - Provide a detailed description of the person, including quirky traits, unique experiences, and anything that can\n     serve as roast material—bonus points if you include pre-written roasts!\n   - Save each roast in a separate `.txt` file within the `src/roasts` directory.\n   - Use clear, descriptive file names (e.g., `john_doe.txt`).\n\n2. **Add Corresponding Images**:\n   - For each teammate, provide their image.\n   - Save the images in the `src/static/images/team` directory.\n   - Use the same naming convention as the `.txt` files (e.g., `john_doe.png` or `john_doe.jpg`).\n\n### Running Locally\n\n1. **Set Up the Environment**:\n   ```bash\n   pip install poetry\n   poetry install\n   ```\n2. **Configure environment variables**: Ensure your `.env` file is set up correctly and has the correct values.\n3. **Start the Server**:\n   ```bash\n   python -m src.main\n   ```\n4. **Open the application in your browser at**:\n   ```\n   http://127.0.0.1:5000/\n   ```\n\n## Deployment\n\nThe project uses the Serverless Framework for deployment on AWS Lambda, with GitHub Actions for deploying to AWS. \nTo deploy:\n- Commit your changes to the `master` branch.\n- The GitHub Actions pipeline will deploy to AWS and host your website.\n\n## Project Structure\n\n```\nAi-Roaster/\n├── src/\n│   ├── main.py                # Flask app and API handlers\n│   ├── bedrock.py             # Core AI logic for finding team members and roasting\n│   ├── roasts/                # Roast content files\n│   ├── static/                # Frontend assets (CSS, JS, images)\n│   ├── templates/             # HTML templates for the web app\n├── serverless.yml             # Serverless configuration\n├── pyproject.toml             # Python dependencies (Poetry)\n├── package.json               # Node.js dependencies\n```\n\n## Contributing\n\n1. Fork the repository and create a branch for your feature.\n2. Submit a pull request with detailed changes and test cases.\n\n## License\n\nThis project is licensed under the MIT License.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatachefhq%2Fai-roaster","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdatachefhq%2Fai-roaster","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdatachefhq%2Fai-roaster/lists"}