Lesson 2 12 min

Finding Your First Project

Learn how to find open source projects that match your skills and interests — from evaluating project health to identifying beginner-friendly issues with AI assistance.

🔄 Recall Bridge: In the previous lesson, you learned why open source accelerates your career and how AI removes barriers for new contributors. Now let’s find the right project for your first contribution.

Finding the right project is the difference between a rewarding first contribution and giving up in frustration. The goal isn’t finding the “best” project — it’s finding one that matches your skills, interests, and available time, with maintainers who welcome newcomers.

Strategy 1: Contribute to Tools You Already Use

The easiest path is contributing to software you already know as a user:

AI prompt for finding contribution opportunities:

I regularly use these tools/libraries: [LIST YOUR TOOLS]. Check their GitHub repositories for: (1) Open issues labeled ‘good first issue’, ‘help wanted’, or ‘beginner’, (2) Documentation that could be improved, (3) Missing test cases, (4) Outdated dependencies. Which of these projects has the most beginner-friendly contribution opportunities?

Why this works: You already understand the use cases, can reproduce bugs, and know what good documentation should say. You’re contributing as a user who happens to code, not a stranger trying to understand the project from scratch.

Strategy 2: Use Discovery Platforms

Several platforms aggregate beginner-friendly issues across thousands of projects:

PlatformWhat It DoesBest For
GitHub “good first issue” searchSearch all GitHub issues by labelFinding issues in your language
Up-for-grabs.netCurates projects wanting new contributorsBrowsing by technology
CodeTriageSends open issues to your inbox dailyPassive discovery over time
firstcontributionsPractice repository for first-time PRsLearning the PR workflow itself
First Timers OnlyIssues reserved for absolute beginnersYour very first contribution

AI prompt for filtering results:

I found these 10 open issues on Up-for-grabs.net: [PASTE TITLES AND LINKS]. I know [YOUR LANGUAGE] at a [BEGINNER/INTERMEDIATE/ADVANCED] level. Rank these by: (1) How achievable they are for my skill level, (2) How recently the project was updated, (3) How responsive the maintainers are. Tell me which 2-3 I should focus on and why.

Strategy 3: Search GitHub Directly

GitHub search query for beginners:

label:"good first issue" language:python is:open sort:updated

Replace python with your language. Add stars:100..5000 to filter for medium-sized projects (large enough to matter, small enough to be welcoming).

Evaluating Project Health

Before investing time, check these five indicators:

IndicatorHealthyWarning Sign
Last commitWithin 1-2 weeksMonths ago
Issue response timeDaysWeeks or never
PR merge ratePRs being merged regularlyMany open, unreviewed PRs
CONTRIBUTING.mdExists with clear instructionsMissing or outdated
Community toneWelcoming, constructive feedbackHarsh, dismissive, or silent

AI prompt for project evaluation:

Evaluate this GitHub repository for beginner-friendliness: [REPO URL]. Check: (1) When was the last commit? (2) How quickly do maintainers respond to issues? (3) Are PRs being reviewed and merged? (4) Is there a CONTRIBUTING.md? (5) What’s the tone in issue comments — welcoming or hostile? Give me a 1-5 score and your recommendation: contribute or skip.

Reading CONTRIBUTING.md

Every healthy project has a CONTRIBUTING.md file (or a section in the README). Before writing any code, read it completely.

AI prompt to summarize contribution rules:

Here’s the CONTRIBUTING.md for [PROJECT NAME]: [PASTE CONTENT]. Summarize: (1) What’s the workflow for submitting changes? (2) Are there branch naming conventions? (3) What tests do I need to run? (4) Is there a code style guide? (5) Do I need to sign a CLA (Contributor License Agreement)? (6) Anything unusual I should know?

Common contribution requirements:

RequirementExampleWhy It Exists
Issue before PR“Open an issue first to discuss”Prevents wasted work on unwanted changes
Branch namingfix/issue-123-typoKeeps branches organized
Commit formatfeat: add validation for emailAutomated changelog generation
Tests required“All PRs must include tests”Prevents regressions
CLA signatureClick-through agreementLegal protection for the project

Quick Check: You found a project with 2,000 stars, commits from yesterday, and issues responded to within 24 hours. But there’s no CONTRIBUTING.md. Is this still a good choice? (Answer: Yes — many healthy projects don’t have formal CONTRIBUTING.md files. Check the README for contribution instructions instead. If neither exists, look at recent merged PRs to reverse-engineer the expected workflow. The project health indicators — recent commits and responsive maintainers — are more important than formal documentation.)

Key Takeaways

  • The best first project is one you already use as a developer — you understand the context, can reproduce bugs, and know what good documentation should say, which gives you a natural advantage over contributing to unfamiliar projects
  • Project health matters more than popularity: check last commit date, issue response time, PR merge rate, and community tone — a 500-star project with active maintainers is far better than a 50K-star abandoned one
  • Always read CONTRIBUTING.md before writing code — five minutes understanding the project’s workflow, branch naming, commit format, and testing requirements prevents hours of revision and the #1 reason first contributions get rejected

Up Next

In the next lesson, you’ll learn how to understand an unfamiliar codebase quickly using AI — navigating architecture, reading patterns, and finding exactly where to make your change.

Knowledge Check

1. You find a popular project (50K stars) with a 'good first issue' label. The issue was created 2 years ago, the last commit was 8 months ago, and 3 people have commented 'I'd like to work on this' with no response from maintainers. Should you work on this issue?

2. You know Python and want to contribute to open source. You ask AI: 'Find me a Python project to contribute to.' It suggests Django, Flask, and FastAPI. Is this good advice?

3. You found a project you like. Before contributing code, what's the first thing you should do?

Answer all questions to check

Complete the quiz above first

Related Skills