Skip to content

gioleylee/github-profile-analyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub Profile Analyzer

GitHub Profile Analyzer is a lightweight front-end project that turns a public GitHub username into a quick technical snapshot. It pulls live public data from the GitHub REST API and presents it as a clean, browser-based dashboard designed to make profile quality, repository traction, and activity patterns easy to scan.

Overview

This project focuses on a simple idea: take raw public GitHub profile data and reshape it into signals that are easier to scan, compare, and discuss. It keeps the surface area small, runs without framework or build tooling, and emphasizes clarity over complexity.

Features

  • Profile overview with follower, following, location, and bio details
  • Computed profile score based on public activity and repository signals
  • Compare mode for two public GitHub profiles
  • Clickable sample chips for quick exploration
  • Expandable score explanation with visible scoring criteria
  • Repository metrics including stars, forks, watchers, and recent updates
  • Top repositories ranked by public traction
  • Language distribution across public repositories
  • Recent public GitHub activity feed with daily and weekly event counts
  • Built-in light and dark mode toggle
  • Shareable profile links with ?user=<username>

Live Demo

  • GitHub Pages: https://gioleylee.github.io/github-profile-analyzer/

Preview

GitHub Profile Analyzer preview

What This Analyzes

  • Public profile signals such as followers, following, account age, and profile completeness
  • Repository footprint including public repos, stars, forks, watchers, and recent updates
  • Language distribution and overlap in compare mode
  • Recent public GitHub events shown as activity feed plus daily and weekly counts
  • An opinionated heuristic score based on visible public signals, not an official GitHub metric

What This Demonstrates

  • API integration against a real public data source
  • Client-side data transformation and scoring logic
  • Responsive UI design without a framework
  • Thoughtful information hierarchy for scan-heavy use cases
  • Lightweight product thinking with zero setup required

Tech Stack

  • HTML
  • CSS
  • Vanilla JavaScript
  • GitHub REST API

Run Locally

  1. Clone or download the project.
  2. Open index.html in a browser.
  3. Search for any public GitHub username, or use the built-in sample chips.

Design Decisions

  • No build step: the project opens directly in the browser, which keeps the setup friction close to zero.
  • Live data: the analyzer uses GitHub's public REST API rather than mocked data, so the experience stays grounded in real profiles.
  • Clear synthesis over raw output: the interface emphasizes summaries, top signals, and public traction rather than dumping API responses.
  • Shareable state: the selected username is stored in the URL for easy linking and repeatable demos.

Architecture

fetch -> aggregate -> score -> render

  • Fetch: request public user, repository, and event data from the GitHub API
  • Aggregate: derive totals, language mix, top repos, and recent activity counts
  • Score: calculate an opinionated profile score from visible public signals
  • Render: update the dashboard cards and charts in the browser

Repo Structure

.
|-- index.html
|-- styles.css
|-- app.js
|-- profile_analyzer_preview.png
|-- README.md
`-- .gitignore

Next Improvements

  • Add export or snapshot sharing for a generated profile view

Notes

  • The app only analyzes public GitHub data.
  • Anonymous GitHub API requests may be rate-limited.
  • Results depend on the profile data GitHub exposes publicly.

Releases

No releases published

Packages

 
 
 

Contributors