Personal portfolio and blog. Jekyll static site hosted on GitHub Pages.
Full maintenance docs are in docs/ — browsable on GitHub (links below) and
published on the live site at https://goodlookslikethis.com/docs/:
- docs/README.md — start here; 60-second mental model + map.
- docs/maintenance.md — run locally, deploy, add/reorder/hide content, troubleshooting.
- docs/case-studies.md — how the case section works (ordering, hiding, the nav data file).
- docs/architecture.md — structure, old/new front matter, data files, known messy bits.
The quick-reference below covers the most common tasks.
bundle exec jekyll serve --draftsDrafts live in _drafts/ and are only built with the --drafts flag.
Create a file in _posts/ named YYYY-MM-DD-title-slug.md. Minimum front matter:
---
layout: 2023/post
title: Title here
subtitle: One-liner
intro: >
Intro paragraph shown prominently on the post and in listings.
tags: [tag-one, tag-two]
categories: [category]
hero_image: /i/your-image.jpg
hero_image_alt: Description of image
date: YYYY-MM-DD
---
Post content here.Images go in /i/ — create a subdirectory for the topic if there are multiple images.
Pick the right collection for the work, create a file there, and use the 2023/case layout:
---
layout: 2023/case
title: Project name
subtitle: One-liner
intro: >
Short summary.
challenge: What the problem was.
approach: How you tackled it.
result: What happened.
hero_image: /i/cases/project-slug/hero.jpg
hero_image_alt: Description
tags: [service-design, leadership]
---
Full case study content.For strategy cases, add noCallOut: "true" to suppress the default CTA footer.
Cases in a section are ordered alphabetically by filename (use a-, b-, c-
prefixes to control order), and a case is hidden from its section index by adding
exception to its tags. Full details in docs/case-studies.md.
| Directory | URL | Use for |
|---|---|---|
_cases/ |
/cases/ |
Base collection; its index.html lists the categories |
_cases_leadership/ |
/cases/leadership/ |
Design leadership, people management |
_cases_sdingov/ |
/cases/sdingov/ |
Service design in government |
_cases_strategy/ |
/cases/strategy/ |
Strategy, direction-setting |
_cases_business/ |
/cases/business/ |
Commercial / business-facing work |
_cases_practitioner/ |
/cases/practitioner/ |
Senior IC, hands-on craft |
_cases_remote/ |
/cases/remote/ |
Remote teams and distributed work |
Current layouts are in _layouts/2023/. There are older layouts at _layouts/ root — these are still used by old posts, don't delete them.
All styles are in /css23/:
grid.css— layout and gridtypography.css— type scaleposts-index.css— blog listing stylesleadership.css— leadership case styles
Things that exist but aren't wired up or finished:
_drafts/— 14 draft posts, mostly 2020 stubs_cases-WIP/— 17 in-progress case studies_posts-older-to-process/— 50 old posts not yet reviewed or published_posts-author-archive-old/— 61 author archive posts_cases_Zolder/— 44 archived cases (not in config, won't build)
_data/cases.yml— portfolio theme labels_data/constants.yml— case collection slugs and display names_data/linkedin-recommendations.yml— LinkedIn recommendation text_data/roles.json— role/experience data