Skip to content

MdKasif0/GitRoasted

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

258 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ”ฅ GitRoasted

Analyze, Roast & Rank Your GitHub Profile

Get your GitHub developer score out of 1000 with a savage AI roast

Live Demo Product Hunt License: MIT

Next.js TypeScript Firebase Tailwind CSS

๐Ÿš€ Live Demo โ€ข Made by- https://x.com/md_kasif_uddin ๐Ÿ“– Documentation โ€ข ๐Ÿ› Report Bug โ€ข โœจ Request Feature


โœจ What is GitRoasted?

GitRoasted is a free, open-source developer tool that analyzes your GitHub profile and gives you:

  • ๐Ÿ“Š Comprehensive Score - Out of 1000 based on 8 key metrics
  • ๐Ÿ”ฅ AI-Generated Roast - Savage but funny feedback on your coding habits
  • ๐Ÿ† Global Leaderboard - Compete with developers worldwide
  • ๐Ÿ’ก Improvement Tips - Actionable advice to boost your score
  • โš”๏ธ Profile Comparison - Battle other developers head-to-head
  • ๐Ÿ“ค Shareable Cards - Beautiful cards for social media

"GitRoasted turned my GitHub profile analysis into an addictive game!" - Developer


๐ŸŽฅ Documentation as a video

Watch GitRoasted Introduction

๐Ÿ‘† Click to watch the documentation video

Try it now:

  1. Visit gitroasted.netlify.app
  2. Enter any GitHub username
  3. Get instant analysis + roast!

Features in Action:

  • ๐ŸŽฏ Real-time GitHub profile analysis
  • ๐Ÿค– AI-powered personalized roasts
  • ๐Ÿ“Š Interactive score breakdowns
  • ๐Ÿ† Live leaderboard rankings
  • ๐ŸŽจ Customizable share cards

๐Ÿš€ Features

Core Features

  • โœ… GitHub Profile Analysis - Analyzes 100+ data points from GitHub API
  • โœ… 8-Metric Scoring System - Comprehensive evaluation (Impact, Consistency, Quality, Community, Diversity, Experience, Activity, Bonuses)
  • โœ… AI-Powered Roasts - Personalized 2-3 line roasts that are savage yet appreciative
  • โœ… Global Leaderboard - Real-time ranking with pagination and search
  • โœ… Profile Comparison - Head-to-head battles with detailed breakdowns
  • โœ… Quick Wins - Personalized improvement roadmap with actionable tips
  • โœ… Shareable Cards - Generate cards for Instagram, Twitter, or 3:4 format
  • โœ… Dark/Light Themes - Seamless theme switching with system preference detection
  • โœ… Fully Responsive - Optimized for mobile, tablet, and desktop
  • โœ… PWA Support - Installable progressive web app with offline support

Advanced Features

  • ๐ŸŽฏ Category Breakdown - Detailed scoring across all 8 categories
  • ๐Ÿ“ˆ Trend Analysis - Track score improvements over time
  • ๐Ÿ—บ๏ธ Improvement Roadmap - 3-phase plan to boost your score
  • ๐Ÿ’ก Project Recommendations - Specific project ideas based on your gaps
  • ๐Ÿ“Š Radar Chart Visualization - Visual comparison of your strengths
  • ๐Ÿ”” Real-time Updates - Live leaderboard with Firebase sync
  • ๐ŸŽจ Card Customization - Multiple themes and layouts for sharing
  • ๐ŸŒ Multi-language Support - Support for 10+ programming languages

๐Ÿ› ๏ธ Tech Stack

Frontend

  • Framework: Next.js 14 (App Router, TypeScript)
  • Styling: Tailwind CSS + Custom animations
  • UI Components: Custom components with glass-morphism design
  • Charts: Recharts for data visualization
  • Icons: React Icons
  • State Management: React Context + Hooks

Backend & Database

  • Database: Firebase Firestore
  • Authentication: None (public access)
  • API: GitHub REST API v3
  • Caching: localStorage + sessionStorage for performance

Deployment & Infrastructure

  • Hosting: Netlify
  • CDN: Netlify Edge Network
  • SSL: Auto-managed by Netlify
  • Analytics: Google Analytics 4

Development Tools

  • Language: TypeScript 5.0
  • Package Manager: npm
  • Linting: ESLint + Prettier
  • Version Control: Git + GitHub

๐Ÿ—๏ธ Architecture

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚                     Client Browser                       โ”‚
โ”‚  (Next.js 14 App + React Components + Tailwind CSS)     โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
                 โ”‚
                 โ”œโ”€ GitHub API (REST v3)
                 โ”‚  โ””โ”€ User data, repos, contributions
                 โ”‚
                 โ”œโ”€ Firebase Firestore
                 โ”‚  โ””โ”€ Leaderboard storage
                 โ”‚  โ””โ”€ User scores cache
                 โ”‚
                 โ””โ”€ localStorage
                    โ””โ”€ Client-side caching
                    โ””โ”€ User preferences

Data Flow:
1. User enters GitHub username
2. Fetch data from GitHub API (parallel requests)
3. Calculate score using 8-metric algorithm
4. Generate AI roast based on profile data
5. Store result in Firestore (if new/improved score)
6. Display results with animations
7. Cache in localStorage for 24h

๐Ÿ“Š Scoring Algorithm

GitRoasted evaluates profiles across 8 key dimensions (total 1000 points):

Category Points Description
๐Ÿ’ซ Impact 250 Stars received, repo quality, fork impact
๐Ÿ”ฅ Consistency 200 Contribution frequency, streaks, commitment
โœจ Quality 150 Code reviews, documentation, testing
๐Ÿ‘ฅ Community 150 Followers, collaboration, social engagement
๐ŸŒˆ Diversity 100 Programming languages, tech stack variety
๐Ÿ“… Experience 75 Account age, profile completeness
โšก Activity 50 Recent contributions (last 30-90 days)
๐Ÿ† Bonus 25 Exceptional achievements (viral repos, year streaks)

Score Ranges

  • ๐Ÿ† Elite (900-1000): Top 1% - GitHub Legend
  • โญ Exceptional (800-899): Top 5% - Star Developer
  • ๐Ÿ’ช Excellent (700-799): Top 10% - Highly Skilled
  • ๐Ÿ‘ Above Average (600-699): Top 25% - Solid Developer
  • ๐Ÿ“ˆ Average (400-599): Top 50% - Keep Building
  • ๐ŸŒฑ Developing (0-399): Room for Growth

๐Ÿš€ Getting Started

Prerequisites

Before you begin, ensure you have:

  • Node.js 18.0+ installed (Download)
  • npm 9.0+ (comes with Node.js)
  • Git installed (Download)
  • Firebase account (Sign up free)
  • GitHub account (for testing)

๐Ÿ“ฆ Installation

  1. Clone the repository

    git clone https://github.com/MdKasif0/GitRoasted.git
    cd GitRoasted
  2. Install dependencies

    npm install
  3. Set up environment variables

    Create a .env.local file in the root directory:

    # Firebase Configuration
    NEXT_PUBLIC_FIREBASE_API_KEY=your_api_key
    NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN=your_auth_domain
    NEXT_PUBLIC_FIREBASE_PROJECT_ID=your_project_id
    NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET=your_storage_bucket
    NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID=your_sender_id
    NEXT_PUBLIC_FIREBASE_APP_ID=your_app_id
    
    # GitHub API (Optional - for higher rate limits)
    GITHUB_TOKEN=your_github_personal_access_token
    
    # Analytics (Optional)
    NEXT_PUBLIC_GA_MEASUREMENT_ID=your_ga_id
  4. Set up Firebase Firestore

    a. Create a new Firebase project
    b. Enable Firestore Database
    c. Create a collection named leaderboard
    d. Set up Firestore rules:

    rules_version = '2';
    service cloud.firestore {
      match /databases/{database}/documents {
        match /leaderboard/{document} {
          allow read: if true;
          allow write: if true;
        }
      }
    }

    e. Create composite index:

    • Collection: leaderboard
    • Fields: score (Descending)
  5. Run the development server

    npm run dev
  6. Open your browser

    Navigate to http://localhost:3000


๐Ÿ”จ Build for Production

# Build the application
npm run build

# Start production server
npm start

# Or build and export static files
npm run build && npm run export

๐Ÿšข Deployment

Deploy to Netlify (Recommended)

  1. Connect your repository

    • Sign up at Netlify
    • Click "New site from Git"
    • Connect your GitHub repository
  2. Configure build settings

    Build command: npm run build
    Publish directory: .next
    
  3. Add environment variables

    • Go to Site settings โ†’ Environment variables
    • Add all variables from .env.local
  4. Deploy

    • Click "Deploy site"
    • Your site will be live at yoursite.netlify.app

Deploy to Vercel

# Install Vercel CLI
npm i -g vercel

# Deploy
vercel

# Follow the prompts to deploy

๐Ÿ“– Usage

Analyze a Profile

// Visit the homepage
https://gitroasted.netlify.app

// Enter any GitHub username
"torvalds", "gaearon", "your-username"

// Get instant results!

Using the API (Self-hosted)

# Fetch user score
GET /api/score?username=torvalds

# Response
{
  "username": "torvalds",
  "score": 892,
  "breakdown": {
    "impact": 230,
    "consistency": 180,
    "quality": 145,
    ...
  },
  "roast": "Your commit history..."
}

Embedding the Badge

Add your GitRoasted score to your GitHub README:

[![GitRoasted Score](https://gitroasted.netlify.app/api/badge/yourusername)](https://gitroasted.netlify.app/profile/yourusername)

GitHub Action Integration

Add to .github/workflows/update-score.yml:

name: Update GitRoasted Score

on:
  schedule:
    - cron: '0 0 * * 0' # Weekly
  workflow_dispatch:

jobs:
  update-score:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3
      - name: Update Score
        run: |
          curl -X POST https://gitroasted.netlify.app/api/refresh/${{ github.repository_owner }}

๐Ÿค Contributing

We love contributions! GitRoasted is open-source and welcomes contributions from developers of all skill levels.

How to Contribute

  1. Fork the repository

    Click the "Fork" button at the top right of this page

  2. Clone your fork

    git clone https://github.com/YOUR_USERNAME/GitRoasted.git
    cd GitRoasted
  3. Create a feature branch

    git checkout -b feature/amazing-feature
  4. Make your changes

    Follow our coding standards

  5. Commit your changes

    git commit -m "Add: amazing new feature"

    Use conventional commits:

    • feat: - New feature
    • fix: - Bug fix
    • docs: - Documentation
    • style: - Formatting
    • refactor: - Code restructuring
    • test: - Adding tests
    • chore: - Maintenance
  6. Push to your fork

    git push origin feature/amazing-feature
  7. Open a Pull Request

    Go to the original repository and click "New Pull Request"

Coding Standards

  • Use TypeScript for type safety
  • Follow ESLint rules (run npm run lint)
  • Write meaningful commit messages
  • Add comments for complex logic
  • Update documentation for new features
  • Write tests for new functionality (when applicable)

Areas We Need Help

  • ๐Ÿ› Bug fixes - Check open issues
  • โœจ New features - See roadmap
  • ๐Ÿ“ Documentation - Improve guides and examples
  • ๐ŸŒ Translations - Add support for more languages
  • ๐ŸŽจ Design - UI/UX improvements
  • โšก Performance - Optimization opportunities

๐Ÿ—บ๏ธ Roadmap

โœ… Completed

  • Core scoring algorithm (8 metrics)
  • AI-powered roast generation
  • Global leaderboard with pagination
  • Profile comparison feature
  • Quick wins improvement tips
  • Shareable social cards
  • PWA support
  • Dark/light themes
  • Mobile responsive design

๐Ÿšง In Progress

  • Team/Organization leaderboards
  • Historical score tracking (graph over time)
  • Achievement badge system
  • API rate limit optimization

๐Ÿ”ฎ Planned

  • Native mobile apps (iOS & Android)
  • VS Code extension
  • GitHub Action for README badges
  • Email notifications for score changes
  • Premium features (advanced analytics)
  • Integration with LinkedIn
  • Multi-user comparison (up to 5 users)
  • Custom scoring weights
  • Private leaderboards
  • Internationalization (i18n)

Vote on features: GitHub Discussions


๐Ÿ› Bug Reports & Feature Requests

Found a bug? Have an idea? We'd love to hear from you!

Bug Report: Open an issue

Feature Request: Open an issue

General Discussion: GitHub Discussions


๐Ÿ’ฌ Community & Support

Join our community of developers!

FAQ

Q: Is GitRoasted free?
A: Yes! GitRoasted is 100% free and open-source.

Q: How often does my score update?
A: Scores are cached for 24 hours. You can force refresh by searching again.

Q: Why is my score lower than expected?
A: Check the Quick Wins page for improvement tips!

Q: Can I use this for my company?
A: Absolutely! It's open-source under MIT license.

Q: Does GitRoasted collect my data?
A: We only store your public GitHub data (username, avatar, score). See Privacy Policy.

More questions? Check our full FAQ


๐Ÿ™ Acknowledgments

Built With Love By

Special Thanks

Inspired By

Resources


๐Ÿ“„ License

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

MIT License Summary

MIT License

Copyright (c) 2024 GitRoasted

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

What this means:

  • โœ… Commercial use allowed
  • โœ… Modification allowed
  • โœ… Distribution allowed
  • โœ… Private use allowed
  • โš ๏ธ No warranty provided
  • โš ๏ธ No liability accepted

โš–๏ธ Legal & Privacy

Data Usage

GitRoasted only uses publicly available GitHub data:

  • โœ… Public profile information
  • โœ… Public repositories
  • โœ… Public contributions
  • โŒ No private data accessed
  • โŒ No authentication required
  • โŒ No personal data collected

We respect the GitHub Terms of Service and API Terms.


๐ŸŒŸ Star History

Star History Chart


๐Ÿ“Š Project Stats

GitHub Repo stars GitHub forks GitHub issues GitHub pull requests GitHub contributors GitHub last commit GitHub code size


๐Ÿ”— Related Projects


๐Ÿ’– Support the Project

If you find GitRoasted useful, consider supporting it:

  • โญ Star this repo - It helps us grow!
  • ๐Ÿฆ Share on Twitter - Spread the word
  • ๐Ÿ’ Sponsor: Buy me a coffee
  • ๐Ÿ› Report bugs - Help us improve
  • ๐Ÿ’ก Suggest features - Shape the future

Made with ๐Ÿ”ฅ by developers, for developers

gitroasted.netlify.app

Twitter Follow GitHub followers


ยฉ 2024 GitRoasted. All rights reserved.

Website โ€ข Twitter โ€ข Discord โ€ข Contact