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 nameWhat you getURL
<username>.github.ioYour main personal site — one per accounthttps://<username>.github.io
Anything else, e.g. my-projectA project page — as many as you wanthttps://<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:

al-folio Recommended for research
github.com/alshedivat/al-folio

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.

Minimal Mistakes
github.com/mmistakes/minimal-mistakes

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.

academicpages
github.com/academicpages/academicpages.github.io

Similar goal to al-folio (academic CV site), forked from Minimal Mistakes. Good alternative if al-folio's structure doesn't click for you.

Just the Docs
github.com/just-the-docs/just-the-docs

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

🍴 Copying the template
  1. Go to the template's GitHub page (e.g. github.com/alshedivat/al-folio).
  2. 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.
  3. 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.
  4. Make sure the visibility is set to Public.
  5. Click Create.

Step 5 — Turn on GitHub Pages

⚙️ Settings → Pages
  1. In your new repo, click the Settings tab, then Pages in the left menu.
  2. 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.yml file), 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 (or master), folder / (root), and Save.
  3. Go to the Actions tab and watch the build run (a few minutes the first time). A green checkmark means it worked.
  4. 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:

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.io and is public
  • GitHub Pages is enabled (Settings → Pages) and the Actions tab shows a green build
  • https://<username>.github.io loads in a browser
  • _config.yml updated with your real name, bio, and links
  • Your REU project added as a project/portfolio entry
  • You've done the edit → git addgit commitgit push loop 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.