← Back to Projects
DevFolio Analyzer

DevFolio Analyzer

Porfolio & GitHub profile intelligence — scored, structured, and actionable.

Live Code

Overview

Connects the GitHub REST API with Anthropic Claude to evaluate developer profiles across contribution consistency, repository quality, tech breadth, and documentation depth. Scoring is deterministic and decoupled from the AI layer — a stable numeric score is computed first, then Claude generates qualitative feedback on top of it. This ensures the dashboard renders correctly regardless of model response variance. Authenticated users get a persistent analysis history; guest mode allows instant evaluation without signup.

Key Features

  • GitHub profile ingestion via REST API — repositories, stars, forks, commit cadence, language breakdown
  • Deterministic scoring (0–100) across contribution consistency, tech breadth, documentation quality, and profile completeness
  • Claude API integration constrained by a structured system prompt — AI output is schema-validated before reaching the frontend
  • Guest mode for instant analysis without authentication
  • Persistent analysis history per authenticated user, stored in MongoDB
  • Interactive dashboard with KPI cards, score trends, and improvement recommendations

Tech Stack

Frontend: React 18, React Router, Recharts

Backend: Node.js, Express

Database: MongoDB, Mongoose

Auth: JWT, bcryptjs

Challenges

  • LLM output inconsistency — Claude responses varied in structure when prompts were underspecified, breaking frontend render logic
  • GitHub API rate limits — unauthenticated requests cap at 60/hr, causing failures for users with large profiles
  • Scoring subjectivity — defining what makes a 'strong' profile required iterating on evaluation criteria with real test accounts

Solutions

  • Enforced a strict JSON schema in the system prompt with fallback defaults for missing fields; added a validation layer before the response reaches the frontend
  • Implemented optional GitHub OAuth token pass-through for authenticated calls (5,000 req/hr), with per-user token caching in session
  • Separated deterministic scoring logic from the AI layer entirely — the score is computed server-side first; Claude only sees the structured data, not raw API output

Future Improvements

  • Repository-level language and contribution breakdown per project
  • Side-by-side profile comparison against role-specific baselines (junior/mid/senior)
  • Webhook-triggered re-analysis on new GitHub pushes