A developer portfolio, on this page, is GitHub presence. Name, bio, two to six pinned repos you actually shipped to, and a README that names the change. It is not a PDF. Resume bullets belong on open source on your resume. This page will not write that article.
A screenshot of your GitHub profile is not a portfolio either. Someone who opens github.com/you should see work you can explain, not a green calendar.
Career intent is allowed. You can contribute because you want a job. That does not change the work: one specified issue, one scoped pull request, stay for review. It does change what you pin later.
Name, bio, then pins
Use your name. Not a joke handle unless that is how you already ship.
Bio: one or two sentences. What you write. What you are looking at. “Open to work” is fine. A slogan is not. Skip the badge wall.
Pin 2–6 repositories. Empty slots look worse than four good pins.
Pin:
- Repos you own that are real work — not a course tutorial you pushed once
- Forks you actually contributed to: a merged pull request you can open and walk through
Do not pin:
- Random stars. Starring is not contributing.
- A fork you never pushed a branch to
- Fifty one-line typo PRs across repos you never ran
- A famous name you cloned and never touched
What to pin is merged PRs you can explain. The review thread is part of the artifact. “The issue asked for X, I changed Y, CI was Z” is a portfolio. A wall of fix typo is not.
If you only have one merge, pin that repo and wait. After your first open source contribution is stay for issue two on the same project. Two or three PRs on one repo beat twenty nits on twenty names.
README: the problem, the PR, the change
A contribution needs text a stranger can follow without you on a call.
On a repo you own that points at the work — or in the profile README if that is the only surface — write:
- The problem
- The pull request link
- What you changed
Not a screenshot of the contribution graph. Not “Passionate developer seeking opportunities.” Not a list of languages you once compiled.
The PR is the artifact. Link it. If the change lives in someone else’s repo, pin the upstream (or your fork only if your commits are visible there) and put the PR URL where a reader will actually click it.
A profile README that is only an image of your GitHub profile is a loop. Delete it.
The graph is vanity
Green squares count commits that landed on GitHub: empty days you backfilled, private repos you hid, README nits. They do not count review.
The signal is merged pull requests with review comments. A maintainer asked a question. You answered. The diff changed. That thread is what a careful reader opens.
A year of green and zero merged PRs is a private-commit calendar. A few reviewed merges beat it.
Do not farm the graph. Do not grind Hacktoberfest as a square-painting contest. Spam PRs get closed. Closed spam is not a pin.
Get work worth pinning
You cannot pin what you have not merged.
Find a specified, unclaimed issue on a repo that still merges. Start on a live hub, not a gist of famous names:
How to pick the ticket: how to find good first issues. After the first merge, stay or leave: after your first open source contribution.
Related
- After your first open source contribution — stay for issue two, or leave
- How to find good first issues — labeled work on live hubs
- Hacktoberfest 2026 — not a PR-count contest
- Open source on your resume — resume bullets, not this page
FAQ
Is a GitHub screenshot a portfolio?
No. Name, bio, pinned repos, a README that names the change and links the PR. The screenshot is a picture of a website.
What should I pin?
Two to six repos you own, or forks you actually contributed to. Merged PRs you can explain. Not random stars. Not fifty typo PRs.
Does the contribution graph matter?
Mostly no. Merged PRs with review comments are the signal. The calendar is vanity. Do not farm it.
Should I use Hacktoberfest to fill the graph?
No. Do not farm spam PRs for squares. Hacktoberfest 2026 is not a counting contest. One merged, reviewed PR is the pin.
Where do resume bullets go?
On open source on your resume. This page is GitHub presence only.