Desktop App · Windows · Free & Open Source

Know if a GitHub profile
actually fits
the job.

GitMatch scans real dependency files — not just bios — and returns a precise match score against any job description. Built for hirers who need signal, not noise.

87%
avg. score accuracy
12
repos deep-scanned
6
dependency formats
Live analysis — @johndoe ● Complete
0
%
Calculating…
Final Candidate Score
Job Fit Score (70% weight)
0%
Engineering Quality Score (30% weight)
0%
react
typescript
node.js
graphql
postgresql
docker
kubernetes
terraform
Scanned 10 repos · 3.2s · Worker thread
Strong match

Five stages,
one score.


The analysis pipeline goes deeper than any profile scraper. It reads actual code — the packages you installed, the tools you depend on.

01

Fetch profile & repos

GitMatch pulls your public GitHub profile and top repos via the GitHub REST API. Read-only scope — no write access requested.

02

Deep scan & subdirectory crawl

The engine recursively crawls top repositories, descending into nested subdirectories (like client, server, and monorepo workspaces) to parse package manifests and locate test environments or CI configs.

package.json requirements.txt Gemfile go.mod pom.xml Cargo.toml
03

Parse the job description

Paste any job posting. The JD parser pulls out the role, required experience years, and technical skills — no special formatting needed.

04

Dual-Engine scoring (Worker Thread)

Matching runs inside an isolated Worker Thread using a dual-engine score: Job Fit (70% weight) and Engineering Quality (30% weight across 6 hygiene axes) are combined into a final rating without locking the UI.

05

Recruiter-Ready deliverables

Review rich dashboard lists, compare up to 29+ candidate matrices side-by-side, and generate beautiful, layout-budgeted multi-page vector PDF reports completely offline.

Built for people
who hire on evidence.

Every feature exists to remove one more layer of gut-feel from the hiring process.

01
Deep Subdirectory Scanning

Scans nested directories (like client, server, frontend, packages) for package files, Dockerfiles, and test suites to accurately evaluate monorepos and MERN stacks.

02
Weighted Job Fit Engine

Parses Job Descriptions, normalizes skill priorities (weights sum to 100), and scores candidate compatibility scaled by project confidence.

03
Candidate Quality Engine

Grades code bases across 6 distinct hygiene dimensions: Documentation (README), tests, CI/CD pipelines, modular layout, cadence, and complexity.

04
Candidate Comparison Engine

Recruiter dashboard comparing shared/exclusive skills, confidence counts, and engineering hygiene side-by-side. Dynamic layout wraps for up to 29+ profiles.

05
Offline PDF Report Exports

Generates beautiful candidate, screening summary, and comparison sheet PDFs completely offline (using PDFKit) with page budget safeguards.

06
Non-blocking Worker Thread

Delegates AST parsing, score math, and Git graph processing to a background worker thread, keeping the Electron desktop UI butter-smooth.

07
Reports History Directory

Persisted local screening history with instant keyword search, report reopening, and secure double-confirmation delete overlays.

08
Dual Design Themes

Seamless transition between high-contrast dark theme (ideal for developers) and a soft cream light mode styling system.

09
Local Secure OAuth Model

Official GitHub OAuth 2.0 flow token storage using Electron's native credentials isolation store. No external server stores your keys.

Production-grade
all the way
down.


Every layer is chosen deliberately — not because it's trendy, but because it's the right tool for what GitMatch needs to do.

DesktopElectron 29Context Isolation · IPC
FrontendReact 18 + ViteReact Router DOM
StylingVanilla CSSCustom design system
IconsLucide ReactAccessible, scalable
BackendNode.js + ExpressOAuth server
GitHub API@octokit/restREST + GraphQL
ConcurrencyWorker ThreadsNode.js built-in
Storageelectron-storeLocal token cache
PDF EnginePDFKitOffline vector layout

Analysis pipeline

github.service.js
REST + GraphQL API client. Fetches profile metadata, repositories, and raw code files.
profileSkillExtractor.js
Crawls monorepos and deep directories for 6 manifest formats, converting items to normalized skill tokens.
candidateQualityEngine.js
Evaluates candidate codebase hygiene across 6 key metrics (testing, documentation, architecture, CI/CD).
weightedScoringEngine.js & worker.js
Combines Job Fit (70%) and Quality (30%) scores inside a background worker thread.
pdfReportService.js
Assembles high-fidelity offline vector PDFs (candidates, screening tables, or comparisons) via PDFKit.

Your data doesn't
leave your machine.

No secrets in the renderer
OAuth Exchange in Main Process

All GitHub OAuth token exchanges happen inside the secure Node.js main process. The renderer — and therefore any injected script — never sees credentials.

Strict context isolation
Typed IPC Bridge Only

Renderer cannot access Node.js APIs directly. Only the strictly typed electronAPI surface is exposed via the preload script.

No hardcoded credentials
Environment Variables

Client ID and Secret are loaded at runtime from .env via dotenv. They never appear in the bundled renderer code or version control.

Minimal attack surface
Narrow IPC Channels

The preload bridge exposes exactly the channels GitMatch needs — nothing more. No broad require() access from the renderer side.

Stop guessing.
Start scoring.

Free desktop app for Windows. Connect your GitHub OAuth App in 5 minutes and score your first candidate immediately.

Download GitMatch.exe View source on GitHub
Windows 10/11 · Requires GitHub OAuth App · MIT License