Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitInsight AI

AI-powered recruiter assistant that analyzes a public GitHub profile and produces a recruiter-quality engineering assessment report.

Status: Phase 6 — Frontend Dashboard complete

Phases 1–5 established the full backend: skeleton, GitHub OAuth + ingestion, static analysis (6 tools), AI engine (LLM + skills), scoring + report generation.

Phase 6 (this phase) delivers the complete Next.js frontend:

  • Design system (src/styles/globals.css, tailwind.config.ts) — Dark slate base (#0d1117), electric-cyan accent (#00d4ff), JetBrains Mono for all data values. One color does the expressive work everywhere else is quiet.
  • Type-safe API client (src/lib/api.ts) — typed fetch wrapper for every backend endpoint; JWT from localStorage on each request.
  • Landing page — GitHub OAuth CTA, capability overview.
  • Analyze page (/analyze) — URL input form, useJobPoller for 2s polling with animated JobProgress bar (queued → fetching → cloning → analyzing → ai_processing → scoring → done), auto-redirect to dashboard on completion.
  • Dashboard (/dashboard/profile/[profileId]) — full recruiter report view: — OverviewCard: avatar, name, score ring dial (SVG conic, colored by score), hire recommendation badge, key stats — SkillRadarChart: Recharts RadarChart, 6-axis profile (backend, code quality, devops, security, testing, docs) — LanguageBarChart: horizontal bars with deterministic per-language colors — ScoreCategoryList: all 10 categories as colored progress bars with reason text — ExecutiveSummaryCard, StrengthsWeaknessesCard, RecommendationsCardSkillsGrid: confidence dots (5-pip scale) grouped by category — RepoHealthTable: signal icons (✓/—) for tests/CI/Docker/README per repo
  • UI primitivesScoreRing (SVG ring with glow), ProgressBar, Badge, Button, Spinner
  • HooksuseJobPoller (polling with terminal-state detection), useAuth (JWT + user state)
  • App router structure — Suspense boundaries on every useSearchParams call, loading skeleton, 404, global error boundary

Not yet: PDF export + resume verification + interview questions (Phase 7), rate limiting + full test suites + CI (Phase 8).

Repo layout

gitinsight-ai/
├── backend/                 # FastAPI service (Clean Architecture)
│   ├── app/
│   │   ├── api/v1/          # Route handlers only — no business logic
│   │   ├── core/            # Config, security, logging, exceptions
│   │   ├── schemas/         # Pydantic request/response models
│   │   ├── models/          # SQLAlchemy ORM models
│   │   ├── repositories/    # Data access layer (DB queries only)
│   │   ├── services/        # Business logic / use cases
│   │   ├── analysis_engine/ # Static analysis orchestration (Phase 3)
│   │   ├── ai_engine/       # LLM prompting, embeddings, RAG (Phase 4)
│   │   ├── report_generator/# Score aggregation + PDF export (Phase 5/7)
│   │   ├── workers/         # Celery tasks
│   │   ├── db/              # Session, base, Alembic glue
│   │   └── utils/
│   ├── alembic/              # Migrations
│   └── tests/{unit,integration,api}
├── frontend/                 # Next.js + TypeScript + Tailwind + shadcn/ui
│   └── src/{app,components,lib,hooks,types,styles}
├── docker/                   # Dockerfiles
├── docker-compose.yml
└── docs/
    ├── architecture.md
    ├── database-schema.md
    └── api-design.md

Local dev quickstart (once Phase 2+ code lands)

cp .env.example .env
docker compose up --build

Backend: http://localhost:8000/docs (OpenAPI) Frontend: http://localhost:3000

About

AI-powered GitHub engineering evaluator that analyzes repositories using static analysis, LLM-based insights, skill inference, and recruiter-focused scoring to generate comprehensive developer profiles and reports.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages