goodFirstHuman
matches open source issues to the contributor,not the other way round
Finding your first open source contribution shouldn't feel like searching for a needle in a haystack. “Good first issue” labels exist on thousands of repositories, but they tell you nothing about whether you are the right person for that issue.
The Idea
goodFirstHuman flips the model.
Instead of asking contributors to browse and filter endlessly, it builds a profile of who they are:
Tech stack
Experience level
Domains of interest
Preferred type of work
Using this, it surfaces issues that genuinely fit them.
How It Works
Under the hood, a continuous pipeline:
Ingests issues from GitHub
Enriches each issue with:
Difficulty scoring
Tech stack detection
Repository health metrics
Mentorship availability flags
A 1024-dimensional semantic embedding (via HuggingFace BGE model)
All of this is stored in PostgreSQL with pgvector.
At query time, a three-tier ranking system is applied:
SQL filtering
Cosine similarity (semantic matching)
Weighted domain + repository health scoring
This produces a ranked list of personalized recommendations, along with transparent match explanations shown directly in the UI.
The Result
Beginners see:
Which repositories want someone like them
Why an issue matches their skills
How approachable the community is
Experienced contributors get:
Issues that challenge them at the right level
All before they even click a link.
Tech Stack
Next.js
Node.js
PostgreSQL
pgvector
Meilisearch
Redis
BullMQ