ContribHub is a client-side web application designed to help developers discover high-quality, beginner-friendly open-source issues. It aggregates "Good First Issues" and "Help Wanted" labels across curated CNCF/LF foundations and top global GitHub repositories.
- Global Issue Aggregation: Concurrently fetches live issues from curated CNCF/LF projects and top GitHub repositories (>5k stars).
- Dynamic Filtering:
- Foundation: CNCF, LF AI, Top GitHub
- Status: Available, Has PRs/Taken, Bookmarked
- Language: Go, TypeScript, Java, C++, Python, Rust
- Project: Dynamically generated list based on fetched results
- Persistent Bookmarking: Save issues to
localStoragefor a personal backlog. - UI State Persistence: Search queries and filters survive page refreshes.
- Rate Limit Handling: Accepts a GitHub Personal Access Token to increase API limits (60 → 5,000 req/hr).
- Language Detection: Heuristic parsing of issue labels to detect language even when API metadata is missing.
- HTML5 — Semantic layout
- CSS3 — Custom properties, CSS Grid/Flexbox, Neobrutalist styling
- Vanilla JavaScript (ES6+) — Async
fetch, DOM manipulation, Event Delegation,localStorage - No external frameworks or bundlers — Maximum performance and simplicity
Because ContribHub uses standard web technologies, you can run it using any basic local HTTP server.
# Clone or navigate to the directory
cd contrib-hub
# Start a local Python web server
python3 -m http.server 8000
# Open your browser
http://localhost:8000npx serve .- Open the app in your browser.
- (Optional) Enter a GitHub Personal Access Token in settings to increase rate limits.
- Use the filter bar to narrow issues by foundation, language, status, or project.
- Bookmark interesting issues for later.
- Click an issue card to open it on GitHub and start contributing.
- Add sorting by date, comments, or label priority
- Show issue age and time-to-close estimates
- Display maintainer responsiveness metrics
- Add dark/light theme toggle with persistence
- Export bookmark list to JSON/CSV
- Add PWA support for offline reading
- Internationalization (i18n) support
We welcome contributions of all kinds! Please see CONTRIBUTING.md for guidelines.
- Found a bug? Open an issue
- Want a new feature? Start a discussion
- Ready to code? Check out good first issues
A huge thank you to everyone who contributes to this project — code, issues, design ideas, and feedback all matter. If you contribute and want to be listed here, open an issue and we'll add you.
Distributed under the MIT License. See LICENSE for more information.