Back to templates

Template details

Portfolio Template

A Jekyll portfolio website template to showcase your work using GitHub Pages, designed for Prep Fellows.

About this template

Portfolio Template is a Jekyll-based website template built for MLH Prep Fellows to create a personal portfolio site that showcases projects, experience, and education on GitHub Pages.

What is Portfolio Template?

Portfolio Template is a free Jekyll website template that turns YAML data files into a static portfolio site hosted on GitHub Pages or Netlify. It takes structured entries for projects, work experience, and education from files in the _data directory and renders them into a clean page layout. The template is designed for participants in the MLH Fellowship Prep program and is publicly available on GitHub with a one-click "Use this template" button.

Key Features

  • Jekyll framework — Built on the static site generator Jekyll, so the site produces plain HTML with no database or server-side processing.
  • YAML data-driven content — Projects, experience, and education are defined in _data/projects.yml, _data/experience.yml, and _data/education.yml. Each entry supports fields like title, event, date, role, company, and logo.
  • Project posts — Enables adding markdown files in the projects folder with front matter (title and layout), linked to a project list entry via a page-name field.
  • GitHub Pages deployment — Publishes directly to GitHub Pages, but only works on username.github.io — not username.github.io/repo-name.
  • Netlify deployment — Can also be deployed on Netlify, which avoids the GitHub Pages sub-path limitation.
  • Simple configuration — All site-wide settings live in _config.yml, where you set the URL and any other metadata.
  • Local development — Run bundle install --path vendor/bundle and bundle exec jekyll serve to preview locally, provided Ruby and Bundler are installed.

Who is it for?

This template is built for MLH Prep Fellows and early-career developers who want a straightforward, data-driven portfolio site without building one from scratch. It suits anyone comfortable editing YAML and markdown files rather than using a visual website builder.

  • MLH Prep Fellows — Use the template to present fellowship projects, with each project listed in YAML and optionally expanded into a detailed markdown post.
  • CS students and bootcamp graduates — Quickly assemble a portfolio that lists coursework, internships, and personal projects.
  • Open-source contributors — Track and display technical contributions and work experience in a clean static format.

What can you do with Portfolio Template?

  • Showcase capstone projects — List each project with title, event, and date, and link to a dedicated write-up page via a markdown post.
  • Document your work history — Add roles, companies, dates, and even company logos in experience.yml to create a resume-style experience section.
  • Build an education listing — Record courses, institutions, and dates in education.yml to highlight your academic background.
  • Deploy a personal site in minutes — Click "Use this template" on GitHub, update your URL in _config.yml, fill in the data files, and push to GitHub Pages or Netlify.

How does Portfolio Template work?

  1. Click the "Use this template" button on the GitHub repository to create your own copy.
  2. Update _config.yml with the URL where your site will be hosted, making sure it ends with a slash.
  3. Fill in _data/projects.yml, _data/experience.yml, and _data/education.yml with your own project, experience, and education entries.
  4. Optionally, create markdown files in the projects folder and reference them by adding a page-name field to the matching projects.yml entry.
  5. Deploy using GitHub Pages (only on username.github.io) or Netlify.

Pros and cons

  • Pros — No backend or database required; all content is managed through simple YAML files; built directly for GitHub Pages hosting.
  • Cons — GitHub Pages deployment only works on user/organization sites, not project sub-paths; local development requires Ruby and Bundler installed on your machine.

Pricing

Free — the template is publicly available on GitHub and can be used and modified without charge.

FAQ

Is Portfolio Template free?

Yes, the template is public on GitHub and free to use. You only pay for optional custom domains or third-party hosting services if you choose them.

Does it work on GitHub Pages project sites?

No, GitHub Pages deployment only works on username.github.io, not on username.github.io/repo-name. For project sub-paths, the README recommends using Netlify instead.

What data files do I need to edit?

The site reads from _data/projects.yml, _data/experience.yml, and _data/education.yml. Edit these YAML files to add your own projects, experience, and education entries.

How do I add a project post?

Create a new markdown file in the projects directory with front matter including a title and layout: page. Then add a page-name field to the corresponding entry in projects.yml to link them.

How do I preview the site locally?

Install Ruby and Bundler, then run bundle install --path vendor/bundle and bundle exec jekyll serve in the project directory. This will start a local Jekyll server.

screenshot of Portfolio Template on template0.com