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:
- Scrapes + scores code quality
Shallow clones each repo, samples representative files, and runs a custom readability/complexity rubric - Extracts skills & experience
Parses repo metadata, READMEs, topics, and commit messages to infer stacks - 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. - 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
- Python / Flask REST API
- Frontend:
- Next.js 14 App Router
- Tailwind CSS + shadcn/ui components
- Dashboard pages driven by SWR hooks hitting the Flask API
- Next.js 14 App Router
- DevOps:
- Docker-compose for one-command spin-up
- GitHub Actions CI (lint, unit tests, type-check)
- Docker-compose for one-command spin-up
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
- Interview-ready coding challenges auto-generated from repo weak spots.
- Slack / Teams bot: “/githire @candidate” to drop an instant skill card.
- Self-hosted mode for companies with private GitHub Enterprise Cloud.
- Improving efficiency and accuracy for various grading criteria
Built With
- beautiful-soup
- docker
- flask
- gitpython
- google-generativeai
- javascript
- lizard
- next.js
- pygithub
- tailwind
- typescript
Log in or sign up for Devpost to join the conversation.