0xarchit/github-profile-analyzer

Github Profile analyzer or analyser and reviewer tool. Gives review based on first 100 repos and only includes those forks in which user has contributions to avoid fake results | #1 profile analyzer on github

GitHub Profile Analyzer – What It Is

A web app that lets a user log in with their GitHub account and receive an AI‑generated score and report about their public profile. It pulls data such as language usage, contribution streaks, repository statistics, and then runs a model (the README calls it AI‑driven) to classify the developer type and assign a proficiency rating. The result can be viewed in the browser or exported as a PDF.


Core Features (as described in the README)

Category What the app does
Profile analysis • AI‑powered evaluation with a numeric score
• Detects languages used and estimates proficiency
• Summarises repository activity and contribution metrics
• Classifies the user into a developer type (e.g., front‑end, back‑end, full‑stack, etc.)
Authentication & security • GitHub OAuth 2.0 login
• Session handling with JWT (jose library)
• AES‑256‑GCM encryption for any stored sensitive data
• Rate‑limiting via Upstash and general XSS/SQL‑injection safeguards
Data & export • Parses the contribution calendar in real‑time and computes streaks
• Generates a PDF report (react‑pdf) that includes profile snapshots

• Stores analysis history encrypted for later retrieval | | Performance | • Caches frequent queries in Upstash Redis • Optimised PostgreSQL queries, concurrent request handling, HTTP compression | | User experience | • Requires GitHub sign‑in; a “star verification” step gates access • Guest sessions are allowed • Responsive UI built with Tailwind CSS, includes dark‑mode support |


Tech Stack (exactly as listed)

  • Framework: Next.js 16 (app router) with React 19
  • Language: TypeScript
  • Runtime: Bun
  • Database: Neon PostgreSQL
  • Auth: JWT via the jose library
  • Caching / Rate limiting: Upstash Redis & Upstash Rate Limit
  • PDF generation: react-pdf
  • Styling: Tailwind CSS + custom UI components
  • Validation: Zod schemas

Getting Started (from the README)

  1. Prerequisites – Install the Bun runtime and have a GitHub OAuth app, a Neon PostgreSQL instance, and an Upstash Redis instance ready.
  2. Clone & install
    git clone https://github.com/0xarchit/github-profile-analyzer.git
    cd github-profile-analyzer
    bun install
    
  3. Configure – Create a .env.local file with the keys listed in the README (GITHUB_TOKENS, JWT_SECRET, UPSTASH_TOKEN, etc.).
  4. Run locally
    bun run dev   # starts the dev server at http://localhost:3000
    
  5. Production build
    bun run build
    bun run start
    

How You Might Use It

  • Personal branding – Generate a polished PDF that showcases your open‑source contributions for job applications or portfolios.
  • Recruiter screening – Quickly obtain a quantitative “score” and language proficiency overview for a candidate’s public GitHub activity.
  • Community insights – Compare multiple developers’ profiles (via the analysis history) to spot trends in language adoption or contribution habits.

Limitations & Things to Note

  • The analysis is public‑profile only; private repositories are not considered.
  • The AI model that produces the score is not described in the repo, so its methodology and bias are opaque.
  • Access is gated by a “star verification” step, which may limit usage for users who haven’t starred the repo.
  • All data handling (encryption, rate limiting, etc.) is implemented, but security depends on correctly setting the environment secrets.

Community & Maintenance

  • MIT‑licensed, so you can fork or modify freely.
  • The project tracks stars with a Star History chart and a StarMapper visual.
  • Contributions are welcomed via the linked CONTRIBUTING.md.
  • Security disclosures should follow the SECURITY.md policy.

All information above is taken directly from the repository’s README; no additional features have been inferred.

Related

  • Project
  • Project
  • Project
  • Project
  • Project