What to Put on a Developer Portfolio: The Sections That Actually Matter
Most developer portfolios fail in the same way: they include everything the person could think of, arranged in the order they thought of it. A hero with a job title, a grid of every project ever touched, a skills bar chart claiming 87% CSS, and a contact form nobody uses. It's not that any single piece is wrong — it's that nothing is prioritized, so the visitor has to do the sorting themselves. They won't. They'll leave.
A portfolio isn't an archive of your work. It's an argument for hiring or paying you, made in about ninety seconds. Every section either advances that argument or dilutes it. Here's what earns its place, roughly in the order a visitor should hit it.
The one line that says what you do
The first thing above the fold should answer a single question: what do you do, for whom? Not your name in 72px font — the visitor can read your name in the tab. Not "Full-Stack Developer | Problem Solver | Coffee Enthusiast." A specific, useful sentence.
"I build fast, accessible web apps for early-stage SaaS teams" tells a founder in one read whether they're in the right place. "Passionate developer crafting digital experiences" tells them nothing, because it's true of everyone and commits to no one. Specificity feels risky — you worry about excluding people. But a portfolio that speaks clearly to your actual buyer converts far better than one that vaguely welcomes everybody.
Pair it with one obvious next action: a link to your best work, or a "get in touch" that goes somewhere real.
Three to five projects, with context
This is the portfolio. Everything else is supporting cast. And the single biggest upgrade you can make is to show fewer projects, each with more context.
A grid of twelve thumbnails signals volume, not quality, and it forces the visitor to guess which ones matter. Pick three to five pieces you'd be proud to be judged on, and for each one, answer the questions a real evaluator has:
- What was the problem? Who needed this and why?
- What was your role? Especially on team projects — say what you did.
- What did you actually build? The stack, the hard parts, the decisions.
- What happened after? Shipped to how many users? Moved which number? Even "used daily by the support team" beats silence.
A screenshot and a stack list is a thumbnail. A short case study is an argument. Non-technical buyers make decisions on outcomes and clarity, not on your choice of state management library — so lead with results, then let the technical detail back it up. (If writing these feels awkward, we broke down the format in how to write portfolio case studies that win clients.)
If some of your best work lives in private client or employer repos, describe it at whatever level you're allowed. Redacted context beats an empty portfolio.
A short, human About section
The About section is where most developers either write nothing or write a novel. The useful version sits in between: a few sentences that establish who you are, what you're into, and one thing that makes you memorable.
Its real job is trust. Someone about to email you wants a quick read on whether you're a competent human they'd enjoy working with. So write like a person. Mention what kind of problems you like, where you are (relevant for freelancers and remote roles), and maybe one genuine non-work detail. Skip the third-person corporate voice — "Sepehr is a results-driven engineer" reads worse than "I'm a developer who likes making slow things fast."
Contact — and make it frictionless
Every portfolio needs one unmissable way to get in touch, and it should never depend on the visitor scrolling to find it. A direct email link is fine and often better than a form, because forms imply "we'll get back to you" and email implies a person.
Include the profiles that back you up — GitHub for the code, LinkedIn if your audience lives there. But don't turn your contact section into a link farm of every platform you've ever signed up for. Two or three that matter.
Skills — mentioned, not measured
List your core technologies so the résumé-skimmers and keyword-matchers can confirm the fit. That's the whole job of a skills section.
What it should not be is a set of progress bars claiming you're "90% JavaScript, 75% Python." Nobody can verify a self-assigned percentage, and everyone knows it, so it reads as filler at best and slightly delusional at worst. A clean, grouped list — languages, frameworks, tools — does the job and respects the reader. Your actual proficiency shows up in the project write-ups anyway.
The sections you can usually cut
Not everything conventional earns its place. Be willing to delete:
- A generic resume dump. Link a PDF if you want, but a wall of every job you've held is your résumé, not your pitch.
- Testimonials you don't have. One real quote is powerful; fabricated or vague ones are worse than none. Add them when they're genuine.
- A blog you'll never update. An empty or stale "Latest Posts" section actively signals neglect. Only include it if you'll actually feed it.
- Animations that slow the first paint. A portfolio that takes four seconds to load has lost people who decide in one.
The test for any section is simple: does it advance the argument for hiring you? If you can't say how, cut it.
Structure the whole thing to be updated
Here's the part that determines whether any of this survives contact with real life: a portfolio only works if you keep it current, and you'll only keep it current if updating it is genuinely easy.
The portfolios that go stale are the ones where adding a project means editing JSX, resizing an image by hand, and pushing a deploy. That's a chore, so it doesn't happen, and six months later the site still lists a job you've left. The fix is to separate your content from your code — so adding a project or swapping a screenshot is a form you fill in, not a commit you make. That's the whole reason a portfolio with a built-in admin panel (a headless CMS you wire up yourself, or something self-hosted with editing already built in — the problem Nexfolio was made to solve) tends to actually stay current: five-minute edits get done, hour-long ones don't.
The bottom line
A strong developer portfolio isn't the one with the most on it — it's the one that makes a clear, fast argument and cuts everything that doesn't. A sharp one-liner, a handful of projects with real context, a human About, and a contact link you can't miss. That's the spine. Everything else is optional, and much of it is subtraction. Build it so it's easy to keep current, then keep it current — a live portfolio that says a little, well, beats a comprehensive one that stopped being true a year ago.
Want a portfolio you actually own?
Nexfolio is a self-hosted portfolio and admin CMS. Pay once, own the code, host it on your own accounts.
See how it works