AI-powered GitHub developer profile analyzer — savage roasts, sharable reports, screenshot-worthy.
Github-Roast transforms any GitHub username or repo URL into a 13-dimension AI roast report — plus a custom formula that calculates your GitHub account's monetary value. Enter a GitHub handle → scrape their public profile, repos & events → DeepSeek AI generates a hilarious, brutally honest analysis covering roast, tech stack, weaknesses, career advice, and more.
Profile + Stats + Account Value (left) and Roast + Tech Stack + Weaknesses (right)
- Scrape — fetches profile, repos (up to 100), and public events via GitHub REST API (no browser needed)
- Analyze — sends formatted data to DeepSeek V4 Flash (free) or V4 Pro, returns structured JSON
- 13 Report Cards — about, roast, tech stack, weaknesses, open source influence, project highlights, collaboration style, activity pulse, career advice, achievements, life suggestion
- Account Value — proprietary formula calculates your GitHub worth in ¥ or $ based on stars, followers, original repos, and forks
- Download as Image — section-by-section PNG export via html2canvas, plus "Download All"
- Share to X — pre-filled tweet with your report card
- Bilingual UI — Simplified Chinese / English toggle
- Supports both Users & Organizations — auto-detects account type, uses different analysis prompts
# 1. Clone
git clone https://github.com/gokuscraper/github-roast.git
cd github-roast
# 2. Install Python deps
pip install -r requirements.txt
# 3. Configure API keys
# Create .streamlit/secrets.toml with:
# GITHUB_TOKEN = "ghp_your-github-token-here"
# OPENCODE_API_KEY = "sk-your-opencode-key-here"
# 4. Run
streamlit run streamlit_app.py| Key | Required | Where to get |
|---|---|---|
GITHUB_TOKEN |
Yes | GitHub Tokens (public_repo scope) |
OPENCODE_API_KEY |
Yes | OpenCode free channel |
SILICON_API_KEY |
Optional | SiliconFlow Console — used as fallback |
github-roast/
├── streamlit_app.py # Home page — username/URL input → scrape
├── pages/
│ └── 1_Analysis.py # 4-section analysis report page
├── lib/
│ ├── ai.py # AI prompts (individual/org), dual API strategy
│ ├── repo_utils.py # GitHub data formatting & stats
│ └── sidebar.py # Sidebar navigation
├── github_scraper/
│ ├── __init__.py # fetch_all() entry point
│ ├── client.py # GitHub API client wrapper
│ ├── config.py # API endpoints config
│ ├── fetcher.py # Fetch user + repos + events
│ ├── models.py # GitHubUser, GitHubRepo, GitHubEvent dataclasses
│ ├── parser.py # Parse raw API data → models
│ └── storage.py # Local JSON caching
├── locales/
│ ├── zh.json # Chinese UI strings
│ └── en.json # English UI strings
├── i18n.py # i18n helper
└── requirements.txt
flowchart LR
A[GitHub URL / Username] --> B[GitHub REST API]
B --> C[Profile JSON + Repos + Events]
C --> D[DeepSeek AI]
D --> E[13-Field JSON Report]
E --> F[4-Section Card Grid UI]
F --> G[Download PNG / Share to X]
- Input — GitHub username, full profile URL (
https://github.com/user), or repo URL (https://github.com/user/repo) - Scrape — fetches public data via GitHub REST API (
/users/{user},/users/{user}/repos,/users/{user}/events/public) - Detect — auto-detects User vs Organization and picks the matching analysis prompt
- Analyze — formatted data sent to DeepSeek with a savage, witty prompt in your chosen language
- Report — 13 cards grouped into 4 downloadable sections
- Share — download section-by-section or all-at-once as PNG, or share to X
| Layer | Technology |
|---|---|
| Frontend | Streamlit (single-page app) |
| AI Model | DeepSeek V4 Flash (free) / V4 Pro via OpenCode + SiliconFlow fallback |
| Data Source | GitHub REST API |
| Screenshot | html2canvas |
| Deployment | Streamlit Cloud |
| License | Apache 2.0 |
