← Back to site

Managing People

People (team members, project leads, anyone whose photo + role appears on the site) live in a single people collection. The same record can power all three surfaces where a person shows up:

  • Faces of BEARS — the portrait grid on the About Us page.
  • Meet the Team — the project lead callout on the landing page (one project’s lead is one person from this collection).
  • Testimonials — the quote carousel on the landing page. The quote itself lives in the separate Testimonials collection (see Managing Testimonials) and points back at a person here.

The collection is locale-agnostic: one entry per person, with roleEn / roleDe fields for the bilingual job title. Names and photos are shared across English and German.

Folder Structure

src/content/people/
├── matti-keller.mdx
├── jane-doe.mdx
└── ...

No en/ or de/ subfolder — one file per person.

Creating a Person

Create a new .mdx file under src/content/people/ named after the person (e.g., jane-doe.mdx). The filename becomes the slug used by other content (projects’ person reference, the URL of any future people-detail page).

---
name: "Jane Doe"
roleEn: "Propulsion Lead / WS 2025"
roleDe: "Antriebsteam-Leitung / WS 2025"
coverImage: jane-doe/jane-doe.jpg
showInFaces: true
order: 17
---

The body of these files is not rendered — all content comes from the frontmatter.

Required Fields

FieldTypeDescription
namestringThe person’s display name.
roleEnstringEnglish role (e.g., “Project Lead”).
roleDestringGerman role (e.g., “Projektleitung”).
coverImagestringPortrait path under src/assets/people/<slug>/, written as <slug>/<filename>.
coverImageDescriptionstring (optional)Caption shown over the portrait on the Media page. Use it for any combination of caption and photographer credit (e.g. "Akshat at WS2025 — © 2025 Jane Doe"). Doesn’t appear on Faces of BEARS / Meet the Team / Testimonials cards (those use custom layouts).
showInFacesbooleanSingle consent toggle for both the Faces of BEARS grid (About Us page) and the People accordion on the Media page. Default false (opt-in) — flip on per person once they’ve agreed to public display.
ordernumberSort order. Lower numbers appear first wherever this person is shown (Faces of BEARS grid, Media page). Ties break on the slug.

Images

Each person has their own asset subfolder under src/assets/people/<slug>/. Place the portrait there and reference it as <slug>/<filename>. Valid formats: .jpg, .jpeg, .png, .webp, .svg. The same portrait is reused across Faces of BEARS, Meet the Team, and Testimonials — one image per person.

When uploading through the Keystatic admin, the image is automatically scoped to the right subfolder.

Surfaces a person can appear on

  • Faces of BEARS + Media page (People accordion) — gated by the single showInFaces toggle (consent). When on and the person has a coverImage, they appear on both surfaces. People without a coverImage show the default-face placeholder on Faces of BEARS but are skipped on /media (no placeholder portraits there).
  • Meet the Team — this person is referenced from a project’s person field. Works independently of showInFaces; project leads who shouldn’t appear publicly can stay with showInFaces: false.
  • Testimonials — create an entry in the separate Testimonials collection that references this person. The quote text and display order live on the testimonial entry, not the person. See Managing Testimonials.

To attach a person to a project, edit the project (Projects group in the admin) and pick the person from the Head of project dropdown. See Managing Projects.