An AI-powered open source project discovery tool. Tell it your skill level, languages, and interests — it finds real GitHub projects that genuinely need contributors like you.
- AI-Powered Recommendations — Claude analyzes your profile and suggests 5 tailored projects
- GitHub Integration — Real-time validation of repo activity, stars, and good-first-issues
- Skill-Aware — Different suggestions for beginners, intermediate, and expert contributors
- Search & Filter — Find projects by name, description, tags, or language
- Smart Sorting — Sort by relevance, stars, or recent activity
- Good First Issues Badge — Instantly identify beginner-friendly projects
- Real Metrics — Live data on stars, open issues, and repo health
- Auto-Save Profile — Your preferences are remembered between visits
- Search History — Access your last 5 searches
- Bookmark Projects — Save favorites for later
- Keyboard Navigation — Use Enter/Arrow keys to navigate the form
- Progress Bar — Visual feedback during AI processing
- Mobile Responsive — Works beautifully on all devices
- Animated Transitions — Smooth, polished interactions
npm installcp .env.example .env.local
# Edit .env.local and add your tokenHighly recommended:
GITHUB_TOKEN— Personal access token for GitHub API (no scopes needed for public repos)- Get one at github.com/settings/tokens
- Enables repo validation, real-time metrics, and rate limit increases
npm run devOpen http://localhost:3000 to see the app.
- Step 1 — Choose your experience level (Beginner / Intermediate / Expert)
- Step 2 — Select the languages you know
- Step 3 — Pick the areas that excite you
- Smart matching — Intelligent GitHub search based on your profile
- GitHub validation — Repos are verified and enriched with live data
- Smart results — Filter, sort, search, and bookmark your matches
- Next.js 14 (App Router)
- TypeScript
- Tailwind CSS
- GitHub API (via Octokit) - smart search & filtering
- Zod (validation)
- No AI needed - pure GitHub search
oss-compass/
├── app/
│ ├── api/recommend/route.ts # AI + GitHub API endpoint
│ ├── page.tsx # Main app with filtering & state
│ ├── layout.tsx
│ └── globals.css
├── components/
│ ├── SkillLevelPicker.tsx
│ ├── ChipSelector.tsx
│ ├── ProjectCard.tsx # With bookmarks & GitHub data
│ └── StepIndicator.tsx
├── lib/
│ ├── constants.ts
│ ├── validation.ts # Zod schemas
│ ├── github.ts # GitHub API utilities
│ ├── storage.ts # localStorage helpers
│ ├── cache.ts # Request caching
│ └── rate-limit.ts # Rate limiting utilities
└── types/
└── index.ts
- Request Caching — Same profile = instant results (30min cache)
- Parallel GitHub API Calls — Fast repo enrichment
- Rate Limiting — 10 AI requests per hour per IP to control costs and prevent abuse
- Input Validation — Zod schemas prevent bad data
- Error Boundaries — Graceful error handling with helpful messages
- Repo Validation — Filters out inactive or invalid projects
- Rate Limit Display — Users see remaining requests in real-time
- Keyboard Shortcuts — Enter to advance, arrows to navigate steps
- Loading Progress — Real-time progress bar with messages
- Empty States — Clear messaging when filters return no results
- Mobile Optimized — Touch-friendly with proper tap targets
Contributions are welcome! This project itself is a great place to practice OSS contributions.
MIT