Skip to content

ayushpatil0810/github-profile-roaster

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ”₯ GitHub Roaster

Python Flask Google Gemini License

πŸš€ Get brutally honest feedback about your GitHub profile with AI-powered roasts!

A fun web application that analyzes your GitHub profile and repositories to generate hilarious, AI-powered roasts at different intensity levels.

✨ Features

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

🌢️ Roast Levels

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

πŸš€ Quick Start

Prerequisites

  • Python 3.8+
  • GitHub account (for testing)
  • Google Gemini API key

Installation

  1. Clone the repository

    git clone https://github.com/yourusername/github-roaster.git
    cd github-roaster
  2. Install dependencies

    pip install -r requirements.txt
  3. Set up environment variables

    # Create a .env file in the root directory
    echo "GEMINI_API_KEY=your_gemini_api_key_here" > .env
  4. Run the application

    python main.py
  5. Open your browser Navigate to http://localhost:5000

πŸ”§ Configuration

Getting a Gemini API Key

  1. Visit Google AI Studio
  2. Create a new API key
  3. Copy the key to your .env file

Getting a GitHub Token (Optional but Recommended)

For better rate limits (5000/hour vs 60/hour):

  1. Visit GitHub Token Settings
  2. Generate new token (classic)
  3. Don't select any scopes (public access only)
  4. Copy the token to your .env file

See GITHUB_TOKEN_SETUP.md for detailed instructions.

Environment Variables

Variable Description Required
GEMINI_API_KEY Your Google Gemini API key βœ… Yes
GITHUB_TOKEN GitHub Personal Access Token ⚠️ Recommended

πŸ“ Project Structure

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

🎨 UI Preview

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

πŸ”§ Tech Stack

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

🌟 How It Works

  1. Input: User enters a GitHub username and selects roast intensity
  2. Data Fetching: App fetches user data and repositories from GitHub API
  3. Analysis: AI analyzes coding patterns, repo quality, and GitHub activity
  4. Generation: Gemini AI generates a contextual roast based on the data
  5. Display: Results are shown with user stats and the generated roast

🀝 Contributing

We welcome contributions! Here's how you can help:

  1. Fork the repository
  2. Create a feature branch: git checkout -b feature/amazing-feature
  3. Commit your changes: git commit -m 'Add amazing feature'
  4. Push to the branch: git push origin feature/amazing-feature
  5. Open a Pull Request

Contribution Ideas

  • 🎨 UI/UX improvements
  • 🌍 Internationalization support
  • πŸ“Š Additional GitHub metrics analysis
  • πŸ”§ Performance optimizations
  • πŸ§ͺ Unit tests
  • πŸ“± Mobile app version

πŸ“Š API Usage

The app uses the following GitHub API endpoints:

  • GET /users/{username} - User profile data
  • GET /users/{username}/repos - User repositories

Rate limits apply according to GitHub's API policies.

πŸ›‘οΈ Privacy & Security

  • βœ… No user data is stored permanently
  • βœ… Only public GitHub information is accessed
  • βœ… API keys are secured via environment variables
  • βœ… No authentication required from users

πŸ“„ License

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

πŸ™ Acknowledgments

  • 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

πŸ“ž Support

If you encounter any issues or have questions:

  1. Check the Issues page
  2. Create a new issue if your problem isn't already reported
  3. Provide detailed information about the problem

Made with ❀️ and lots of β˜•

Give it a ⭐ if you enjoyed getting roasted!

About

Get brutally honest feedback about your GitHub profile with AI-powered roasts!

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors