Inspiration

Recruiters spend hours scrolling through resumes and half-read GitHub profiles, yet still wonder who can truly ship production-ready code.
We imagined an “instant tech recruiter” that evaluates a developer the way engineers do: by reading their commits, not their buzzwords.

What it does

GitHire automatically:

  1. Scrapes + scores code quality
    Shallow clones each repo, samples representative files, and runs a custom readability/complexity rubric
  2. Extracts skills & experience
    Parses repo metadata, READMEs, topics, and commit messages to infer stacks
  3. Matches candidates to roles
    Compares extracted skills to a job spec in real-time, returning a weighted match %, matched repositories, and an AI-generated rationale.
  4. Visualizes everything in a Next.js dashboard so recruiters can sort, search, and filter their ideal candidate.

How we built it

  • Backend:
    • Python / Flask REST API
    • PyGithub for metadata, GitPython (depth = 1) for shallow clones
    • Lizard CLI for cyclomatic complexity
    • Google Gemini 1.5-Flash for natural-language scoring & summaries
    • Redis in-memory cache to avoid re-cloning the same repo twice
  • Frontend:
    • Next.js 14 App Router
    • Tailwind CSS + shadcn/ui components
    • Dashboard pages driven by SWR hooks hitting the Flask API
  • DevOps:
    • Docker-compose for one-command spin-up
    • GitHub Actions CI (lint, unit tests, type-check)

Accomplishments that we're proud of

  • Built an end-to-end pipeline (clone → score → match → visualize) in < 36 hours.
  • Achieved consistent 95 %+ JSON compliance from the LLM after prompt-engineering.

What we learned

  • Shallow git clones + smart sampling beat brute-force every time.
  • Cyclomatic complexity alone ≠ code quality; indentation consistency & comment ratio correlate surprisingly well with readability.
  • Prompt rigidity (explicit JSON schema, no prose) is the key to reliable LLM integration.

What's next for GitHire

  1. Interview-ready coding challenges auto-generated from repo weak spots.
  2. Slack / Teams bot: “/githire @candidate” to drop an instant skill card.
  3. Self-hosted mode for companies with private GitHub Enterprise Cloud.
  4. Improving efficiency and accuracy for various grading criteria

Built With

Share this project:

Updates