Skip to content

heza-ru/GitGrill

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🦆 GitGrill - SearDuck Code Roasts

The merciless web app that roasts your GitHub profile—commit by commit, emoji by questionable emoji.

Live Demo GitHub Stars License

Where SearDuck Roasts Your GitHub Code with Pixel-Perfect Precision


📸 Screenshots

🎯 Target Acquisition

Enter any GitHub username to begin the roasting process GitGrill Homepage

🔥 The Roasting Process

Watch SearDuck analyze your coding patterns in real-time Loading Animation

💀 Brutal Results

Get a detailed breakdown of your coding crimes Roast Results

📱 Mobile Experience

Perfectly optimized for mobile roasting on-the-go

Mobile View

Note: Add screenshots to the screenshots/ directory and uncomment the image links above.

🚀 Features

🎮 Retro Gaming Experience

  • 8-bit Aesthetic: Complete with CRT monitor effects and pixel-perfect animations
  • SearDuck Theme: Debugging duck mascot guides your roasting journey
  • Arcade-Style UI: Nostalgic gaming interface with authentic retro sounds

🔥 Advanced Roasting Engine

  • AI-Powered Analysis: Sophisticated algorithms analyze 15+ coding metrics
  • Personalized Burns: Custom roasts based on your actual GitHub behavior
  • 29+ SearDuck Wisdom Quotes: Philosophical insights from the debugging duck
  • Multi-Language Support: Roasts tailored to 15+ programming languages

📊 Comprehensive Profile Analysis

  • Duck Classification System: Get categorized from "Alpha Duck" to "Rubber Duck"
  • Productivity Scoring: 10-point scale based on commit patterns and quality
  • Social Impact Metrics: Follower analysis and community engagement scoring
  • Repository Quality Assessment: Naming conventions, diversity, and maintenance patterns

📱 Modern Web Experience

  • Fully Responsive: Perfect on desktop, tablet, and mobile devices
  • Lightning Fast: Optimized React 18 with serverless backend
  • Social Sharing: Share your roasts across all major platforms
  • Progressive Web App: Install on your device for quick access

🛠️ Tech Stack

Category Technology Purpose
Frontend React 18 Modern UI framework with hooks
Styling Custom CSS3 Retro gaming aesthetics & animations
Backend Netlify Functions Serverless JavaScript functions
API GitHub REST API v3 Repository and user data fetching
Deployment Netlify CDN-optimized static hosting
Fonts Press Start 2P, JetBrains Mono Authentic retro gaming typography
Effects CSS Animations, Clip-path CRT monitor simulation

🚀 Demo

🌐 Live Application

Visit GitGrill.netlify.app to start roasting GitHub profiles immediately!

🎯 Try These Legendary Targets

  • torvalds - The Linux Creator (Red difficulty)
  • gaearon - The React Creator (Orange difficulty)
  • heza-ru - The Duck Father himself (Purple difficulty)

🏃‍♂️ Installation & Setup

📋 Prerequisites

Before you begin, ensure you have the following installed:

  • Node.js (v16.0 or higher) - Download here
  • npm (v8.0 or higher) - Comes with Node.js
  • Git - Download here
  • Netlify CLI (for local development) - Install with: npm install -g netlify-cli

🔧 Local Development Setup

1. Clone the Repository

# Clone the repository
git clone https://github.com/heza-ru/GitGrill.git

# Navigate to project directory
cd GitGrill

2. Install Dependencies

# Install main project dependencies
npm install

# Install Netlify Function dependencies
cd netlify/functions
npm install

# Return to project root
cd ../..

3. Environment Setup (Optional)

Create a .env file in the root directory for GitHub API authentication:

# .env (optional - for higher rate limits)
GITHUB_TOKEN=your_github_personal_access_token_here

Note: Without a token, you get 60 requests/hour. With authentication, you get 5,000 requests/hour.

4. Start Development Server

# Start the development server with Netlify Functions
npm run dev

# Alternative: Use Netlify CLI
netlify dev

5. Open Your Browser

Navigate to http://localhost:8888 to see GitGrill running locally!

🚀 Production Deployment

Deploy to Netlify (Recommended)

Option 1: One-Click Deploy

Deploy to Netlify

Option 2: Manual Deploy
# Build the project
npm run build

# Deploy to Netlify (requires Netlify CLI)
netlify deploy --prod
Option 3: GitHub Integration
  1. Fork this repository
  2. Connect your Netlify account to GitHub
  3. Create a new site from Git
  4. Select your forked repository
  5. Deploy automatically on every push!

📱 Mobile Development

GitGrill is fully responsive! Test on mobile by:

# Get your local IP address
ipconfig getifaddr en0  # macOS
# or
hostname -I | awk '{print $1}'  # Linux

# Visit http://YOUR_IP:8888 on your mobile device

🎯 How GitGrill Works

graph TD
    A[👤 Enter GitHub Username] --> B[🔍 Fetch Profile Data]
    B --> C[📊 Analyze Repositories]
    C --> D[🧮 Calculate Metrics]
    D --> E[🦆 Generate SearDuck Roast]
    E --> F[🎨 Display Results]
    F --> G[📱 Share on Social Media]
    
    style A fill:#22d3ee,stroke:#0891b2,color:#fff
    style E fill:#fbbf24,stroke:#d97706,color:#000
    style F fill:#10b981,stroke:#059669,color:#fff
Loading

🔬 Analysis Process

  1. 👤 Profile Extraction

    • Fetches public GitHub profile information
    • Gathers follower/following ratios and account age
    • Analyzes bio completeness and profile setup
  2. 📊 Repository Deep Dive

    • Scans up to 100 most recent repositories
    • Categorizes original vs forked content
    • Evaluates naming conventions and descriptions
  3. 💻 Technical Assessment

    • Language diversity analysis (supports 15+ languages)
    • Commit frequency and consistency patterns
    • Repository maintenance and activity levels
  4. 🦆 SearDuck Intelligence

    • Applies 15+ sophisticated roasting algorithms
    • Generates personalized burns based on actual behavior
    • Delivers wisdom through 29+ unique duck quotes
  5. 🎨 Visualization Engine

    • Creates duck classification badges
    • Generates productivity scores (1-10 scale)
    • Builds interactive metric dashboards

🦆 Duck Classification System

GitGrill categorizes developers into distinct duck types based on comprehensive analysis:

🦆 Duck Type 📊 Requirements 🎨 Badge Color 🔥 Roast Intensity
👑 ALPHA DUCK Productivity Score ≥ 8 Gold Respectful Acknowledgment
🎯 SENIOR DUCK Productivity Score 6-7 Green Professional Teasing
🌟 JUNIOR DUCK Productivity Score 4-5 Blue Encouraging Criticism
🦴 FOSSIL DUCK Low Commit Frequency Gray Archaeological Humor
🥱 ONE-TRICK DUCK Single Language Orange Specialization Jokes
😵 EMOJI DUCK High Emoji Ratio Pink Professionalism Roasts
🦆 RUBBER DUCK Below Average Red Debugging Suggestions

🔥 Roasting Categories

GitGrill's advanced analysis engine evaluates multiple dimensions:

📈 Performance Metrics

  • Commit Frequency: Monthly contribution patterns
  • Repository Activity: Recent vs. stale project analysis
  • Language Diversity: Programming polyglot assessment
  • Social Impact: Follower/following ratio analysis

🎯 Quality Assessments

  • Repository Naming: Creativity vs. generic patterns
  • Project Maintenance: Archive and abandonment rates
  • Code Organization: Empty repositories and fork ratios
  • Professional Presence: Profile completeness scoring

🎭 Behavioral Analysis

  • Emoji Usage: Professional vs. casual communication style
  • Commit Messages: Descriptive vs. generic patterns
  • Project Variety: Specialization vs. exploration balance
  • Community Engagement: Open source participation levels

⚙️ API Information

🔐 GitHub API Integration

  • Rate Limits: 60 requests/hour (unauthenticated) or 5,000/hour (with token)
  • Scope: Public repositories and profile information only
  • Privacy: No private data access or storage
  • Caching: Results cached for improved performance

📊 Supported Data Points

  • User profile information (public only)
  • Repository metadata and statistics
  • Programming language distributions
  • Commit frequency patterns
  • Social network metrics (followers/following)

🛠️ Development & Customization

🎨 Styling Customization

The retro theme is built with CSS custom properties:

:root {
  --primary-green: #00ff7f;
  --secondary-cyan: #22d3ee;
  --accent-yellow: #fbbf24;
  --pixel-font: 'Press Start 2P', cursive;
  --mono-font: 'JetBrains Mono', monospace;
}

🦆 Adding New Roast Templates

Extend the roasting engine in netlify/functions/github-roast.js:

// Add new language-specific roasts
LANGUAGE_ROASTS.YourLanguage = [
  "Custom roast template for your language",
  "Another variation for variety",
  "Third option for randomization"
];

// Add new roasting categories
function customAnalysis(profile, repositories) {
  // Your custom analysis logic here
  return personalizedRoast;
}

📱 Mobile Optimization

GitGrill is fully responsive with breakpoints:

  • Mobile: ≤480px (single column layout)
  • Tablet: ≤768px (optimized touch targets)
  • Desktop: >768px (full feature set)

🚨 Troubleshooting

Common Issues

"User not found" Error

  • Verify the GitHub username is correct and public
  • Check if the user account exists and isn't suspended

Rate Limit Exceeded

  • Wait 60 minutes for rate limit reset
  • Add GitHub token to .env file for higher limits
  • Use the demo mode for testing

Loading Indefinitely

  • Check network connection
  • Verify Netlify Functions are deployed correctly
  • Look for errors in browser console

Mobile Display Issues

  • Clear browser cache
  • Ensure JavaScript is enabled
  • Try incognito/private browsing mode

🔧 Development Issues

Netlify Functions Not Working

# Reinstall function dependencies
cd netlify/functions
rm -rf node_modules package-lock.json
npm install
cd ../..
npm run dev

Build Failures

# Clear cache and reinstall
rm -rf node_modules package-lock.json
npm install
npm run build

🤝 Contributing

We welcome contributions from developers of all skill levels! Here's how you can help make GitGrill even better:

🌟 Ways to Contribute

🐛 Bug Reports

Found a bug? Help us squash it!

  • Check existing issues first
  • Use the bug report template
  • Include screenshots and error messages
  • Provide steps to reproduce

✨ Feature Requests

Have an idea for a new feature?

  • Check the roadmap for planned features
  • Open a feature request issue
  • Explain the use case and benefit
  • Include mockups if possible

🦆 New Roast Templates

Help expand SearDuck's roasting vocabulary!

  • Add new language-specific roasts
  • Create more personalized burn categories
  • Improve the duck classification system
  • Add new wisdom quotes

🎨 UI/UX Improvements

Make GitGrill even more beautiful!

  • Improve mobile responsiveness
  • Add new animations and effects
  • Enhance accessibility features
  • Optimize loading performance

🔧 Development Workflow

1. Fork & Clone

# Fork the repository on GitHub, then:
git clone https://github.com/your-username/GitGrill.git
cd GitGrill

2. Create Feature Branch

# Create a descriptive branch name
git checkout -b feature/awesome-new-roast-category
# or
git checkout -b fix/mobile-button-sizing
# or  
git checkout -b docs/improve-installation-guide

3. Make Changes

  • Follow existing code style and conventions
  • Add comments for complex logic
  • Test your changes thoroughly
  • Ensure mobile responsiveness

4. Test Locally

# Install dependencies
npm install

# Start development server
npm run dev

# Test on mobile (get your IP)
ipconfig getifaddr en0  # macOS

5. Commit & Push

# Stage your changes
git add .

# Use conventional commit messages
git commit -m "feat: add new duck classification for AI developers"
# or
git commit -m "fix: resolve mobile button overflow issue"
# or
git commit -m "docs: update installation instructions"

# Push to your fork
git push origin your-branch-name

6. Open Pull Request

  • Use the PR template
  • Include screenshots of UI changes
  • Reference related issues
  • Request review from maintainers

📋 Contribution Guidelines

Code Style

  • Use meaningful variable names
  • Follow React best practices
  • Maintain consistent indentation
  • Add JSDoc comments for functions

Commit Messages

Follow Conventional Commits:

  • feat: New features
  • fix: Bug fixes
  • docs: Documentation updates
  • style: Code formatting
  • refactor: Code restructuring
  • test: Adding tests
  • chore: Maintenance tasks

Pull Request Requirements

  • ✅ Passes all existing tests
  • ✅ No console errors or warnings
  • ✅ Mobile responsive (if UI changes)
  • ✅ Follows project code style
  • ✅ Includes appropriate documentation

🔒 Security & Privacy

🛡️ Data Protection

  • No Storage: GitGrill doesn't store any user data
  • Public Only: Only accesses public GitHub information
  • No Authentication: No login required or personal data collected
  • Ephemeral: All data is processed in real-time and discarded

🔐 API Security

  • GitHub tokens (if used) are never logged or stored
  • Rate limiting prevents abuse
  • All requests are made server-side for security
  • No cross-site scripting vulnerabilities

📊 Performance

Optimization Features

  • Serverless Architecture: Scales automatically with demand
  • CDN Delivery: Global content distribution via Netlify
  • Mobile Optimized: Reduced animations and effects on mobile
  • Efficient API Usage: Batched requests and smart caching

📈 Performance Metrics

  • Load Time: <2 seconds on average
  • Lighthouse Score: 95+ Performance, 100 Accessibility
  • Mobile Ready: Optimized for 3G networks
  • SEO Optimized: Meta tags and social sharing ready

📄 License

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

📝 What this means:

  • ✅ Commercial use allowed
  • ✅ Modification allowed
  • ✅ Distribution allowed
  • ✅ Private use allowed
  • ❗ License and copyright notice required

🙏 Acknowledgments

🌟 Special Thanks

  • GitHub API - For providing comprehensive developer data
  • SearDuck Community - For debugging wisdom and inspiration
  • Open Source Community - For being great sports about code roasts
  • Contributors - Every bug report and feature request makes GitGrill better

🦆 The SearDuck Philosophy

"In debugging code, as in life, sometimes you need a rubber duck. But when that duck starts roasting your GitHub profile, you know you've found something special."


🚀 Ready to Get Roasted?

Visit GitGrill

Built with 🦆 and ❤️ by the GitGrill team

Remember: SearDuck is always watching your commits! 🦆👀


Star ⭐ this repository if GitGrill roasted you good!

🦆 Fun & Silly Feature Ideas

1. SearDuck Personality Modes

// Different duck personalities for variety
🎭 "Sassy Duck" - Extra sarcastic and witty
😤 "Grumpy Duck" - Old programmer who's seen it all
🤓 "Nerdy Duck" - Overly technical and pedantic
🎪 "Drama Duck" - Theatrical and over-the-top
😴 "Sleepy Duck" - Tired dev who commits at 3am
🦹 "Ninja Duck" - Mysterious and cryptic roasts

2. Random Duck Facts Integration

// Sprinkle actual duck facts throughout roasts
"Did you know ducks have waterproof feathers? 
Unlike your code, which isn't bug-proof."

"Ducks can sleep with one eye open. 
Clearly more vigilant than your code reviews."

"A duck's quack doesn't echo. 
Your code documentation doesn't exist either."

3. Seasonal/Holiday Themes

// Special themed roasts
🎃 Halloween: "Your code is scarier than any horror movie"
🎄 Christmas: "Santa's naughty list has nothing on your commit history"
💝 Valentine's: "Your code and bugs have a toxic relationship"
🎆 New Year: "Resolution: Write better code (spoiler: you won't)"
☘️ St. Patrick's: "You'd have better luck finding a four-leaf clover than bug-free code"

4. Duck Sound Effects

// Audio feedback for different actions
🦆 QUACK! - When loading completes
🎺 Sad trombone - For particularly brutal roasts
🔔 Ding! - For achievement unlocks
📯 Fanfare - For "Alpha Duck" classifications
💥 Explosion - For "Nuclear" severity roasts

5. Random Coding Memes Integration

// Popular programming memes in roasts
"Your code works on your machine? Shocking revelation!"
"99 little bugs in the code, 99 little bugs..."
"It's not a bug, it's a feature (that nobody wanted)"
"Stack Overflow called - they want their copy-pasted code back"
"console.log('debugging like it's 1999')"

6. Developer Horoscope

// Based on primary programming language
 "JavaScript Aries: Your async/await is in retrograde"
 "Python Leo: Your indentation is cosmically aligned"
 "C++ Scorpio: Memory leaks are in your future"
 "PHP Pisces: Swimming in a sea of deprecated functions"

7. Commit Message Poetry

// Turn bad commit messages into haikus
"Fixed the bug bad" (5)
"Nobody knows what it was" (7) 
"Ship it anyway" (5)

"Update README" (5)
"For the thousandth time today" (7)
"Still says TODO" (5)

8. Duck Joke Generator

// Programming duck puns and jokes
"Why don't ducks make good programmers? 
They're always debugging in the bath!"

"What's a duck's favorite programming language? 
Quack-Script!"

"Why did the rubber duck break up with the developer?
Too many one-way conversations!"

9. Fake Awards & Achievements

// Silly badges users can "earn"
🏆 "Most Creative Repository Name" (for repos named 'test' or 'project')
🎨 "Abstract Artist" (for incomprehensible code)
🕐 "Time Traveler" (for commits dated in the future)
🔥 "Pyromaniac" (for deleting more code than adding)
🦆 "Duck Whisperer" (for having 'duck' in repo names)

10. Random Programming Quotes (Duck-ified)

// Classic quotes with duck twists
"Talk is cheap. Quack is cheaper." - Linus Torvalds (Duck Version)
"Any fool can write code that a duck can understand." - Martin Fowler (Duck Version)
"There are only two hard things in Computer Science: cache invalidation, naming things, and convincing a rubber duck you're right." - Phil Karlton (Duck Version)

11. Roast Roulette

// Spin the wheel for random roast focus
🎰 "Today's special: Repository naming disasters!"
🎲 "Rolling for... Emoji usage catastrophe!"
🎯 "Target acquired: Commit message creativity!"
🎪 "Ladies and gentlemen... The fork-to-original ratio spectacular!"

12. Developer Bingo Card

// Generate a bingo card based on their GitHub
[X] Has repository named "test"
[ ] More forks than original repos  
[X] Last commit was "fix typo"
[ ] Has empty repository
[X] Uses more than 5 languages
[ ] Profile picture is not their face
[X] Has "TODO" in repository description
[ ] Commits on weekends only
[X] Repository with 0 stars

13. Rubber Duck Debugging Simulator

// Interactive debugging session
SearDuck: "Tell me about your bug..."
User: *explains problem*
SearDuck: "...quack..."
User: "Oh wait, I see the issue now!"
SearDuck: "My work here is done. 🦆"

14. Code Smell Parfumery

// Describe code issues as fancy perfumes
"Eau de Spaghetti" - For tangled code
"Essence of Legacy" - For old, unmaintainable code  
"Parfum de Copy-Paste" - For duplicated code
"Cologne de Comments" - For over-commented obvious code
"Fragrance de Framework" - For over-engineered solutions

15. Developer Superstitions

// Fun "predictions" based on patterns
"Your commits spike on Fridays - clearly a risk-taker"
"You favor odd-numbered versions - a rebel at heart"
"Your repository names follow no pattern - chaos incarnate"
"You commit in the early morning - either dedicated or insomniac"

16. ASCII Art Reactions

// Different ASCII ducks for different scores
// For Alpha Ducks:
    ___
   (o o)
  (  V  )  <- Impressed duck
   \   /
    \_/

// For Rubber Ducks:
    ___
   (x x)
  (    )  <- Dead duck
   \   /
    \_/

17. Random "Did You Know?" Coding Facts

// Sprinkle throughout the roast
"Did you know the first computer bug was literally a bug? 
Your code continues this noble tradition."

"The term 'debugging' comes from Admiral Grace Hopper. 
You're still debugging like it's 1947."

18. Magic 8-Ball Style Predictions

// Shake for random developer fortune
"Will my next commit break production?"
🎱 "Signs point to yes"

"Should I refactor this code?"  
🎱 "Ask again later (it'll still be messy)"

"Will I ever understand this codebase?"
🎱 "Outlook not so good"

19. Developer Spirit Animal (Beyond Ducks)

// Based on coding patterns
🐌 "Code Snail" - Slow and steady commits
🐙 "Octopus" - Works on 8 projects simultaneously  
🦘 "Kangaroo" - Jumps between languages frequently
🦔 "Hedgehog" - Defensive programming taken literally
🐒 "Code Monkey" - Literal interpretation

20. Fake Loading Messages

// Humorous loading states
"Counting rubber ducks..."
"Analyzing questionable life choices..."
"Measuring spaghetti code density..."
"Calculating technical debt interest..."
"Searching for documentation... still searching..."
"Loading comments... error 404: comments not found"

These features would keep GitGrill entertaining and silly while adding variety to the roasting experience! Which ones sound most fun to implement? 🦆😄

About

GitGrill: a stylized roast engine that torch‑renders your GitHub profile—one retro‑flavored burn at a time.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Contributors