Inspiration 🔥

We've all been there - scrolling through GitHub profiles, wondering "am I actually a good developer?" or seeing someone's pristine commit history and feeling inadequate. We wanted to create something that turns this anxiety into entertainment while providing genuine insights. GitGud was born from the idea: what if your GitHub profile could roast you back, and what if you could battle other developers in a friendly competition?

Developer culture is full of memes about "git gud" (get good), imposter syndrome, and commit history jokes. We thought: why not embrace that culture and build a platform that's both hilarious and helpful?

What it does 💻

GitGud is a full-stack AI-powered platform that analyzes GitHub profiles and generates:

  • Comedic Roasts: Brutally honest (but fun) commentary on your coding habits
  • Actionable Advice: Real suggestions to improve your developer profile
  • Developer Archetypes: Personality profiles based on your commit patterns
  • PVP Mode: Battle other developers head-to-head with AI-generated comparisons
  • Global Leaderboard: Compete for the top spot based on your wins
  • Chrome Extension: One-click roasts directly from any GitHub profile page

How we built it 🛠️

Tech Stack:

  • Frontend: React + TypeScript + Vite + Tailwind CSS
  • Backend: Node.js + TypeScript + Fastify
  • AI: OpenAI GPT-4o-mini for roast generation and comparisons
  • TTS: ElevenLabs for text-to-speech (hear your roast read aloud!)
  • Auth: GitHub OAuth for PVP mode
  • Deployment: Docker + Docker Compose for easy local/cloud deployment
  • Extension: Chrome Manifest V3 with content scripts and background workers

Architecture Highlights:

  • RESTful API with rate limiting and caching to optimize API costs
  • In-memory PVP matchmaking system with real-time status polling
  • Stateless design with session management for OAuth flows
  • Responsive UI with custom components built on shadcn/ui
  • Content scripts that detect GitHub profile pages automatically

Challenges we ran faced 🚧

1. OAuth in Docker: Getting GitHub OAuth callbacks to work properly with Docker containers and session management was tricky. We had to carefully configure CORS, cookie settings, and ensure session persistence across redirects.

2. Rate Limiting Balance: Finding the sweet spot between protecting our API from abuse and allowing PVP mode's polling mechanism to work smoothly. Too strict = broken UX, too loose = potential abuse.

3. AI Prompt Engineering: Crafting prompts that consistently produce funny yet constructive roasts across different developer profiles took many iterations. We needed the AI to be harsh but not mean, and always provide actionable feedback.

4. Chrome Extension Manifest V3: The new Manifest V3 requirements meant rethinking how we handle background processes and message passing between content scripts, background workers, and popups.

5. Caching Strategy: Balancing fresh data vs. API costs. We implemented a smart caching system that stores GitHub API responses and OpenAI results to minimize redundant expensive calls.

6. Real-time PVP Updates: Creating a polling mechanism that feels real-time without hammering the server. We optimized polling intervals and added proper cleanup to prevent memory leaks.

What we learned 📚

  • API Cost Optimization: Caching and rate limiting are crucial when working with paid APIs
  • OAuth Flows: Deep dive into session management, cookie security, and redirect flows
  • Docker Networking: Understanding how containers communicate and configuring CORS properly
  • AI Prompt Engineering: The art of getting consistent, high-quality output from LLMs
  • Chrome Extension Development: Working within the constraints of Manifest V3
  • Real-time Architectures: Building responsive UIs without WebSockets using smart polling

What's next for GitGud 🚀

  • More Game Modes: Team battles, tournaments, weekly challenges
  • Enhanced Analytics: Deeper insights into coding patterns and language expertise
  • Social Features: Share roasts, comment on battles, follow favorite developers
  • Mobile App: Native iOS/Android apps for on-the-go roasting
  • Integration with More Platforms: GitLab, Bitbucket support
  • Custom Roast Styles: Let users choose comedy styles (sarcastic, motivational, technical)
  • Achievement System: Badges and unlockables for consistent improvement

Built With

Share this project:

Updates