RepoRadar
This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend Every October, my friend Ahmad says the same thing: "I want to contribute to open source this year." And every October, they open GitHub, search for "good first issue", scroll through a few thousand results, and close t
This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend Every October, my friend Ahmad says the same thing: "I want to contribute to open source this year." And every October, they open GitHub, search for "good first issue", scroll through a few thousand results, and close the tab. Ahmad is a final-year CS student who's comfortable with React and Python but has never opened a PR on someone else's project. The skills aren't the problem. The problem is that GitHub search doesn't know who they are. It can't tell a repo that fits them from one that will eat their weekend and give nothing back. So I built RepoRadar for them: an open-source project finder that starts from you, not from the search bar. Tell it who you are, once. Upload a CV (or paste it) and an open-weight model turns it into an editable profile: languages, skills, interests, experience, and certifications with who issued them. Add your GitHub username and it cross-checks the languages you actually write in your own repos. Pick how big you want to go. Entry level (smaller repos with good first issue labels), mid level (established projects asking for help), or big projects (25k+ stars). Get 5 real repos. Each one comes with a short "why this fits you" note tied to your actual background, a suggestion for which issue to start with, and a list of issues that are open and unassigned right now. Say "not for me." Skipped repos never come back, and neither do ones you've already seen. Every click on "Find 5 more" brings something new. There's no account and no database. Your profile lives in your browser, and Export / Import JSON lets you back it up or move it to another laptop. Live app: reporadar1.vercel.app To try it, open Settings, paste a free Groq API key (a GitHub token is optional but recommended), then upload a CV on My profile and hit Find 5 repos. / reporadar β RepoRadar Find open-source projects that fit your skills, with open, unassigned issues you can pick up today. Upload your CV (or fill the form). An open-weight model extracts your languages, skills, experience and certifications. Pick a level: Entry, Mid, or Big projects. Get 5 real repos from GitHub, each with a "why it fits you" note and starter issues. Skip what you don't like. Repos you've already seen never come back. How it works Profile βββΊ open LLM: profile β GitHub search terms βββΊ GitHub API: real repos filtered by level (never invented by the model) βββΊ open LLM: shortlist best fits βββΊ GitHub API: keep repos with open, unassigned issues βββΊ open LLM: explain each match + which issue to start with Bring your own key: in Settings, paste a free Groq key and pick a model from the live list. Keys stay inβ¦ View on GitHub Stack: Next.js (App Router), TypeScript and Tailwind, deployed on Vercel. The model is gpt-oss-120b, an open-weight model released under Apache 2.0, served through Groq's OpenAI-compatible API. GitHub's REST API supplies the repo data. The core design rule: the model never invents a repo or an issue. LLMs are great at matching and explaining, and terrible at remembering which repos exist and which issues are still open. So the work is split: Profile βββΊ open model: profile β GitHub search terms (languages + topics) βββΊ GitHub API: real repos, filtered by level, minus everything already seen βββΊ open model: shortlist the best fits for this person βββΊ GitHub API: keep only repos with open, unassigned issues right now βββΊ open model: explain each match + which issue to start with A few details I'm happy with: Levels are hardcoded and concrete. "Entry" means 50β3,000 stars with at least one good first issue. "Mid" means 3kβ25k stars with help wanted issues. "Big" means 25k+. Everything must have been pushed to in the last 90 days, so no abandoned repos. Structured output everywhere. Each model call asks for JSON with a fixed shape. Every name the model returns is checked against the real GitHub results, and anything it made up is dropped. If a model call fails, the app falls back to a simple star-sorted list instead of an error page. The model sees your GitHub, not just your CV. CVs exaggerate. Your public repos don't. If you give your username, the languages you actually use are fed into the matching. Bring your own key. Your Groq key and optional GitHub token are stored only in your browser and sent only with your own requests. Export JSON deliberately leaves them out, so a backup file never contains secrets. A live model list. "Test key & load models" asks the provider which models it serves today, so the dropdown never offers a retired model. No database, on purpose. It's built for one person, so a login system and Postgres would have been effort with no payoff. localStorage plus JSON export covers everything: profile, seen repos, skipped repos and saved repos. RepoRadar is a tool for getting into open source, so building it on a closed, black-box model would have felt backwards. But open weights also made real technical differences: No lock-in. gpt-oss-120b is the same model whether it runs on Groq, Together, OpenRouter, Hugging Face or someone's own GPU. The app talks to a plain OpenAI-compatible endpoint, so switching hosts is one line in providers.ts, not a rewrite. With a closed model, the model and the company come as a package. A real path to privacy. A CV is personal. Today it goes through Groq's API, but because the weights are open, anyone who doesn't want that can run the exact same model on their own server with vLLM or Ollama and point RepoRadar at it. Same prompts, same behaviour, and the CV never leaves their machine. A closed API can't offer that at any price. Free for the person it's for. Ahmad is a student. Open models on Groq's free tier mean the tool costs them nothing to use, and it'll keep costing nothing. I know what I'm running. The license, model card and weights are public. I can say exactly which model reads your CV and what it's allowed to be used for. It can grow with them. If the matching ever needs to be sharper, open weights can be fine-tuned on examples of good repo matches. That's not something you can do with a closed model.
Key Takeaways
- β’This is a submission for the Hacktoberfest Weekend Challenge: Build for a Friend Every October, my friend Ahmad says the same thing: "I want to contribute to open source this year." And every October, they open GitHub, search for "good first issue", scroll through a few thousand results, and close t
- β’This story was reported by Dev.to, covering developments in the dev space.
- β’AI advancements continue to reshape industries β read the full article on Dev.to for complete coverage.
π Continue reading the full article:
Read Full Article on Dev.to βShare this article


