Portfolio for Internship Applications: Do You Need One?
Before you spend a weekend building a portfolio site, find out whether your field actually reads them. For some tracks a portfolio is required, for others a single GitHub link does the whole job, and for a few it's a distraction from the resume that really matters. This guide gives you the honest verdict for your field, a matched list of what to include, a caption formula, a hosting pick, and the clean way to link it so recruiters can open it in one tap.
Do you even need a portfolio?
Start here so you don't build something nobody asked for. The honest answer depends entirely on your field, and it falls into three buckets.
Portfolio expected as a real, curated collection: design (UX, graphic, product), writing and journalism, marketing and content, and some product roles. Here the work is the qualification. A recruiter can't judge a designer or a writer from bullet points, so a portfolio is effectively required, and its absence reads as a gap.
Portfolio expected, but as a link and not a designed site: software, CS, and data. Your "portfolio" is your GitHub profile with a few documented projects. Nobody in these fields expects a hand-built website. A clean repo list does the job, and a personal site is a nice-to-have on top, never a requirement.
Portfolio usually optional or skippable: finance, consulting, operations, and general business. These roles are filtered by resume, cover letter, and interviews (case, technical, behavioral). A portfolio rarely helps and can look like you misread the norms of the field. Put your energy into a sharp resume instead.
Two rules cut across all three. First, always check the specific posting: if an application has a "portfolio" or "website" field, or the description asks for work samples, that overrides the general norm for your field. Second, a portfolio never replaces a resume. It's supporting proof, not a substitute for the one-page document every application still needs.
What actually belongs in your portfolio, by field
Once you know you need one, the mistake to avoid is dumping everything you've ever made into it. Curate for the role. Here's what to show and where it lives, by field.
Software / CS
Your GitHub profile is the portfolio. Aim for two to four repositories that each have a real README: what the project does, how to run it, and a line on the interesting decision you made. Pin your strongest repos to the top of your profile so they're the first thing a recruiter sees. Skip the tutorial clones and the empty "hello world" repos, or move them to a separate account. A visitor should understand your best work in thirty seconds without cloning anything.
Data / analytics
Show the thinking, not just the output. Good pieces are annotated notebooks, a dashboard someone can click, and a short question-to-analysis-to-finding write-up. One clean analysis that moves from a real question to a defensible finding beats five half-labeled notebooks. Host on GitHub, Kaggle, a shared Notion page, or a PDF, whatever keeps your charts and commentary readable side by side.
Design (UX / graphic / product)
Case studies, not a gallery of final shots. For each of three to six projects, show the process: the problem, a few iterations, the decisions you made and why, then the final result. The reasoning is what separates a designer from someone who can push pixels. Host on Behance or Dribbble, both of which are free, or a simple one-page site if you want full control over layout.
Writing / journalism / content
Three to six clips, published or sample. Lead with your strongest and most relevant piece for the role. If you've been published, link the live pieces; if not, polished samples count just as much when they show range and a clear voice. Host in a shared, view-only doc, on a free clip service, or a simple site. Make sure every link opens the actual piece, not a paywalled or login-gated page.
Marketing
Show outcomes and thinking together. Strong pieces are a campaign write-up, one content sample you made, and an analytics screenshot framed as goal-to-action-to-result. A screenshot of follower growth means nothing on its own; paired with "goal was X, I did Y, result was Z," it becomes evidence. Notion or a one-page site handles this mix of text, images, and screenshots well.
How many pieces (and why fewer is better)
Three to six strong pieces for most fields, two to four repos for code. That's the whole answer, and the emphasis is on strong.
Fewer, better pieces win for a simple reason: a portfolio is judged by its weakest visible item, and every piece is a promise you can talk about it in an interview. If you include something you cobbled together and can't explain, an interviewer will find it and ask. Lead with your single strongest piece, order the rest by relevance to the role, and cut anything you'd hesitate to defend out loud. No filler, no "just to round it out." A tight portfolio of three things you know cold beats a padded one of eight you half-remember.
How to caption each piece: problem, what you did, outcome
A piece without context makes the reader do the work of figuring out why it matters. Don't make them. Caption every item in two or three sentences using the same shape:
Problem (why this exists) → what you did (your specific role and tools) → outcome (the result, quantified honestly).
A data example: "The campus bike-share had no view of when demand peaked. I pulled a year of trip data into a notebook and built a heatmap of usage by hour. It showed 40% of trips land in a two-hour evening window, which I wrote up as a scheduling recommendation." A marketing example: "A campus club's Instagram was inactive. I ran it for six weeks on a content calendar I built in Canva. It grew from 80 to 240 followers over that window."
Quantify when you honestly can, and when there's no metric, describe the concrete result instead: the artifact someone adopted, the clear before and after, the decision you defended. Never invent a number. A modest true figure survives the follow-up question; a made-up one falls apart in a single exchange. This same problem-to-outcome story is also your answer when an interviewer says "walk me through this," so writing it once pays off twice. For more on choosing which project to build and capturing an outcome in the first place, that guide goes deep.
Where to host it
Pick the host that matches your field and gets out of the way. Here are the real trade-offs.
- GitHub (and GitHub Pages): the standard for code, and free for static sites. Use it for software and data. If you want a simple one-pager, Pages hosts it at no cost.
- A simple personal site (one-pager): the most flexible option and worth it for design, writing, or marketing if you want control over how work is presented. Costs you a bit of setup time.
- Behance / Dribbble: built for design work, free, and discoverable. Least setup for visual portfolios.
- Notion or a shared doc: the fastest to stand up and easy to update. Great for marketing, data write-ups, and clip collections. Set sharing to public view-only.
- PDF: the easiest thing to attach to an application, and it never breaks or expires. The trade-off is that it's static and can get large. Good as a backup even if you also have a link.
Whatever you pick, three things are non-negotiable: it must be public with no login wall, it must open cleanly on a phone, and every link inside it must work. A recruiter who hits a permissions error just moves on.
How to link it on your resume, LinkedIn, and applications
A portfolio nobody can find isn't doing anything. Put the link in the three places recruiters actually look.
On your resume, the URL goes in the header or contact line, next to your email and GitHub, as a short labeled link (yourname.com or github.com/yourname), not a raw tracking URL. The mechanics of the rest of that one-page resume live in the resume with no experience guide. On LinkedIn, add it to your Featured section so the work shows visually, and drop the URL in Contact info too; the LinkedIn profile for students guide covers how to set the Featured section up. On application forms, paste it into the "portfolio" or "website" field when there is one, and into the LinkedIn or additional-info field when there isn't.
Then do the one test most people skip: open the link in an incognito window before you send anything. That's the fastest way to catch a private repo, a doc set to "restricted," or a page that only loaded because you were already logged in.
Frequently asked questions
Do I need a portfolio for a software engineering internship?
Usually not a designed website. The expected "portfolio" for a software internship is a clean GitHub profile with two to four documented repositories, pinned so your best work shows first. A personal site is a nice-to-have that can help you stand out, but recruiters won't penalize you for skipping it as long as your code is easy to find and read.
How many projects should a student portfolio have?
Three to six strong pieces for most fields, two to four repos for code. Fewer and stronger wins every time. Include only work you can explain end to end in an interview, and lead with your single best piece.
What if I don't have any real projects yet?
You have more than you think. Coursework, club or volunteer work, a weekend project, or a virtual experience program can all be portfolio pieces when you frame them by problem and outcome instead of listing them as tasks. If you're starting from zero, the guide on which project to build walks through picking one you can finish fast.
Is a portfolio a replacement for a resume?
No. The resume is required and does the first-pass filtering on nearly every application. The portfolio is supporting proof that backs up what your resume claims. You need the resume either way; the portfolio is what you add when your field expects to see the work itself.
Where should I host my portfolio for free?
Match the host to your field: GitHub or GitHub Pages for code, Behance or Dribbble for design, Notion or a shared doc for marketing and data write-ups, and a PDF as an easy-to-attach backup for anyone. Whatever you choose, keep it public and mobile-friendly.
Do this today: decide which bucket your field falls into. If a portfolio is expected, pick your three strongest pieces, caption each one with problem-to-what-you-did-to-outcome, choose a host, and add a clean labeled link to your resume and LinkedIn. If your field skips portfolios, spend that time making sure your GitHub and LinkedIn are tidy instead, then go browse internships and apply with materials that match what your field actually reads.