Enter any GitHub username and instantly get a complete breakdown of their profile. No API key, no login, no setup — just a username.
| Feature | Details |
|---|---|
| Profile Score | Calculated score out of 100 based on 9 real criteria |
| Language Chart | Interactive pie chart of top languages across all repos |
| Top Repos | Bar chart of most-starred repositories |
| Score Breakdown | Exactly what's helping and hurting the score |
| Improvement Tips | Personalised suggestions based on what's missing |
| Recently Updated | Latest repos with stars, forks, language, date |
| Stats Overview | Repos, stars, forks, followers, following, account age |
| Criteria | Max Points |
|---|---|
| Has a bio | 10 |
| Has a portfolio/website | 10 |
| Has a profile README repo | 15 |
| 10+ followers | 10 |
| 5+ public repos | 10 |
| Active in last 30 days | 15 |
| Stars earned across repos | 15 |
| Account 1+ years old | 10 |
| Custom avatar set | 5 |
| Total | 100 |
Step 1 — Clone the repo
git clone https://github.com/Premnath-06/github-profile-analyzer.git
cd github-profile-analyzerStep 2 — Install dependencies
pip install -r requirements.txtStep 3 — Run the app
streamlit run app.pyYour browser opens automatically at http://localhost:8501. Type any GitHub username and hit Analyze →.
github-profile-analyzer/
github_api.py ← fetches raw data from GitHub public API
analyzer.py ← processes data, calculates score & insights
charts.py ← builds all Plotly interactive visualizations
app.py ← Streamlit UI, ties everything together
requirements.txt
README.md
Each file has a single responsibility. Clean separation of concerns.
User enters username
↓
github_api.py — fetches user, repos, events
↓
analyzer.py — calculates score, languages, top repos
↓
charts.py — builds gauge, pie, bar charts
↓
app.py — displays everything in the browser
Built by Premnath-06 — CS student and game developer learning Python by building real tools.