Why this matters
By the end of this program you'll have real, concrete things to show: an REU research project, experiments you ran, a poster, maybe a paper. A portfolio site is where that lives permanently — something you can put on a resume, a LinkedIn profile, or a grad school application, that stays online long after this Slack channel goes quiet. It costs nothing and takes about an hour to get live for the first time.
Step 1 — Your GitHub account
Some of you already have a GitHub account from this program (you needed one to look at the ComplianceGPT code). If you don't yet, go to github.com/join and create one now — it's free.
Pick your username carefully
Your GitHub username becomes part of your portfolio's public URL forever: https://<username>.github.io. Before you commit to one:
- Use something professional — a version of your real name if it's available (
jsmith,jane-smith), not a gamer tag from 2015. - Shorter is better. It's what you'll say out loud when someone asks "where can I see your work?"
- You can rename a GitHub account later (Settings → Account), but old links and clones can break, so it's worth 30 seconds of thought now.
- If you already have an account with a username you're not thrilled with but have history on (stars, contributions, this program's repos) — it's usually fine to keep it. Consistency has value too.
Step 2 — The one rule that makes GitHub Pages work
GitHub will host a website for free directly from a repository, but there's a special naming rule you need to know before you pick a template:
| Repo name | What you get | URL |
|---|---|---|
<username>.github.io | Your main personal site — one per account | https://<username>.github.io |
Anything else, e.g. my-project | A project page — as many as you want | https://<username>.github.io/my-project |
For your main portfolio, the repository name must match your GitHub username exactly (case doesn't matter, but the spelling does), and the repo must be public. If you mistype it — even one character off — GitHub will not turn it into your username.github.io site. It'll just be a regular repo that happens to be named that.
This site you're reading right now is exactly this: it lives in a repo called priscilladanso.github.io, which is why it loads at priscilladanso.github.io. This reu2026 page is a project folder inside that same repo, which is why its URL is priscilladanso.github.io/reu2026/.
Step 3 — Pick a Jekyll template
GitHub Pages runs on a static-site generator called Jekyll. You don't need to build a site from nothing — start from a template repo, then make it yours. Here are three solid, actively-maintained options depending on what you want:
Built specifically for academic/research portfolios — has ready-made sections for Projects, Publications, CV, News, and a blog. If you want to show off your REU project the way a grad student or professor would, start here.
General-purpose, very popular, huge amount of documentation and Stack Overflow answers if you get stuck. Great if you want a simpler personal site / blog rather than an academic CV layout.
Similar goal to al-folio (academic CV site), forked from Minimal Mistakes. Good alternative if al-folio's structure doesn't click for you.
Really a documentation-site theme, but works well if your "portfolio" is closer to a technical write-up / project wiki than a CV.
Not sure? Pick al-folio. It's the one most REU/research students end up with, and its README walks through the exact steps below.
Step 4 — Get the template into your own account
- Go to the template's GitHub page (e.g.
github.com/alshedivat/al-folio). - Click the green "Use this template" button (top right) — if the repo doesn't have that button, click "Fork" instead. Either way you end up with your own copy under your account.
- When prompted for a repository name, type exactly
<your-username>.github.io— not the template's original name. If you already created the repo with a different name, you can rename it later in Settings → Repository name. - Make sure the visibility is set to Public.
- Click Create.
Step 5 — Turn on GitHub Pages
- In your new repo, click the Settings tab, then Pages in the left menu.
- Under "Build and deployment," check the Source dropdown:
- If the template ships a GitHub Actions workflow (al-folio does — check for a
.github/workflows/deploy.ymlfile), leave Source set to "GitHub Actions". The site builds automatically on every push. - If there's no workflow file, set Source to "Deploy from a branch", pick branch
main(ormaster), folder/ (root), and Save.
- If the template ships a GitHub Actions workflow (al-folio does — check for a
- Go to the Actions tab and watch the build run (a few minutes the first time). A green checkmark means it worked.
- Visit
https://<your-username>.github.io. It may take an extra minute or two to go live the very first time — refresh if it 404s immediately.
Step 6 — Set up local editing (recommended)
You can technically edit files directly on github.com, but for anything beyond a typo, you want to preview changes on your own machine before pushing them live.
# Clone your new site to your computer git clone https://github.com/<your-username>/<your-username>.github.io.git cd <your-username>.github.io # Install Ruby (macOS, via Homebrew) if you don't already have it brew install ruby # Install Jekyll + the project's exact gem versions gem install bundler bundle install # Serve the site locally with live rebuilds bundle exec jekyll serve # Now open http://localhost:4000 in your browser
Every template's README has slightly different local-setup instructions (some, like al-folio, offer a Docker option too) — if the commands above don't match, follow the template's own README first.
Step 7 — Make it yours
Almost every Jekyll template is configured from one file: _config.yml, at the repo root. Open it and change at minimum:
- name / title — your name
- description / bio — one or two sentences about you
- email, GitHub, LinkedIn, etc. — your real links (delete any social links you don't use)
- avatar / profile picture — swap the placeholder image in
/assets/img/
Add your REU project
Most academic templates have a _projects/ folder (al-folio) or a _portfolio/ folder (Minimal Mistakes) where each file is one project entry. Add one for your REU work this summer: what question you investigated, what you built, your result (e.g. "compared prompting strategies for LLM-based HIPAA compliance extraction across 137 real court cases"), and a link to your code or poster if you have one.
Step 8 — The commit/push loop (how you update it, forever)
This is the one workflow you'll repeat every time you want to change anything about your site — today, and years from now:
# 1. Make your edits in a text editor / VS Code, save the files # 2. See what changed git status # 3. Stage the files you want to commit git add . # 4. Commit with a short message describing the change git commit -m "Add REU research project to portfolio" # 5. Push to GitHub git push
That's it. Pushing to main automatically re-triggers the build (check the Actions tab for progress), and your live site updates within a minute or two. No separate "deploy" step.
If git push asks for a password
GitHub no longer accepts your account password over the command line. Either connect via SSH (git@github.com:... remote + an SSH key in your account settings) or use a Personal Access Token as the password when prompted. GitHub's own docs walk through generating one under Settings → Developer settings → Personal access tokens.
If the build fails (red X in Actions)
Click into the failed run and read the error — it's almost always a YAML formatting mistake in _config.yml (indentation matters) or a broken link in a Markdown file's front matter. Fix it locally, re-run bundle exec jekyll serve to confirm it builds clean, then commit and push again.
Final Checklist
- GitHub account exists, username is one you're comfortable with long-term
- Repo is named exactly
<username>.github.ioand is public - GitHub Pages is enabled (Settings → Pages) and the Actions tab shows a green build
https://<username>.github.ioloads in a browser_config.ymlupdated with your real name, bio, and links- Your REU project added as a project/portfolio entry
- You've done the edit →
git add→git commit→git pushloop at least once successfully - Link added to your resume / LinkedIn / grad school applications
This site doesn't have to end when the program does.
Keep adding to it — every project, internship, and paper from here on out. It's the one piece of this summer that's entirely yours to keep building.