A fun web application that analyzes your GitHub profile and repositories to generate hilarious, AI-powered roasts at different intensity levels.
- π― Smart Analysis: Analyzes GitHub profiles, repositories, and coding patterns
- πΆοΈ Three Roast Levels: Choose from Mild, Medium, or Spicy roasts
- π€ AI-Powered: Uses Google Gemini AI for creative and contextual roasts
- π¨ Beautiful UI: Modern glassmorphism design with animated backgrounds
- β‘ Real-time: Instant roast generation with live GitHub API integration
- π± Responsive: Works perfectly on desktop and mobile devices
| Level | Description | Perfect For |
|---|---|---|
| π’ Mild | Light-hearted, playful teasing | Beginners or sensitive developers |
| π‘ Medium | Moderate sarcasm with good humor | Most users who want balanced fun |
| π΄ Spicy | Brutally honest with heavy wit | Experienced devs who can handle the heat |
- Python 3.8+
- GitHub account (for testing)
- Google Gemini API key
-
Clone the repository
git clone https://github.com/yourusername/github-roaster.git cd github-roaster -
Install dependencies
pip install -r requirements.txt
-
Set up environment variables
# Create a .env file in the root directory echo "GEMINI_API_KEY=your_gemini_api_key_here" > .env
-
Run the application
python main.py
-
Open your browser Navigate to
http://localhost:5000
- Visit Google AI Studio
- Create a new API key
- Copy the key to your
.envfile
For better rate limits (5000/hour vs 60/hour):
- Visit GitHub Token Settings
- Generate new token (classic)
- Don't select any scopes (public access only)
- Copy the token to your
.envfile
See GITHUB_TOKEN_SETUP.md for detailed instructions.
| Variable | Description | Required |
|---|---|---|
GEMINI_API_KEY |
Your Google Gemini API key | β Yes |
GITHUB_TOKEN |
GitHub Personal Access Token |
github-roaster/
βββ main.py # Flask application and main logic
βββ requirements.txt # Python dependencies
βββ .env # Environment variables (create this)
βββ .gitignore # Git ignore rules
βββ static/
β βββ style.css # Modern CSS with glassmorphism
βββ templates/
β βββ index.html # Main HTML template
βββ README.md # This file
The application features a modern design with:
- Glassmorphism effects for a sleek, modern look
- Animated background shapes for visual appeal
- Responsive design that works on all devices
- Interactive elements with smooth transitions
- GitHub-themed color scheme for brand consistency
- Backend: Flask (Python)
- Frontend: HTML5, CSS3, JavaScript
- AI: Google Gemini 2.5 Flash
- APIs: GitHub REST API
- Styling: Custom CSS with Glassmorphism
- Icons: Font Awesome
- Fonts: Inter (Google Fonts)
- Input: User enters a GitHub username and selects roast intensity
- Data Fetching: App fetches user data and repositories from GitHub API
- Analysis: AI analyzes coding patterns, repo quality, and GitHub activity
- Generation: Gemini AI generates a contextual roast based on the data
- Display: Results are shown with user stats and the generated roast
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
- π¨ UI/UX improvements
- π Internationalization support
- π Additional GitHub metrics analysis
- π§ Performance optimizations
- π§ͺ Unit tests
- π± Mobile app version
The app uses the following GitHub API endpoints:
GET /users/{username}- User profile dataGET /users/{username}/repos- User repositories
Rate limits apply according to GitHub's API policies.
- β No user data is stored permanently
- β Only public GitHub information is accessed
- β API keys are secured via environment variables
- β No authentication required from users
This project is licensed under the MIT License - see the LICENSE file for details.
- GitHub API for providing comprehensive user data
- Google Gemini for powerful AI capabilities
- Flask for the lightweight web framework
- Font Awesome for beautiful icons
- The open-source community for inspiration and tools
If you encounter any issues or have questions:
- Check the Issues page
- Create a new issue if your problem isn't already reported
- Provide detailed information about the problem
Made with β€οΈ and lots of β
Give it a β if you enjoyed getting roasted!