Content model
Content is plain data in src/content/. Pages read it, so editing a value updates every place it appears. Only content the owner has written belongs here.
Roles
src/content/experience.ts exports experienceTimeline, newest first. Each item has this shape:
export type ExperienceTimelineItem = {
title: string;
slug: string;
label: string; // location label, e.g. "New York, NY"
company: string;
period: { start: string; end: string | "Present" };
website?: string;
description: string;
highlights: string[];
/** Optional long-form content (case studies, projects). Rendered on the role page only when present. */
sections?: { title: string; body: string }[];
};To add or change a role, edit that array. These places update automatically:
- the landing page timeline,
- the
/experience/[slug]page for the role, with its previous and next navigation, - the
/resumepage, - the sitemap.
Skills
src/content/skills.ts exports skills. Each skill has a name, a key (its URL slug at /skills/[key]), a group, an icon, a stack, a type and a self-assessed proficiency. The stack value is one of frontend, backend, devops or design, and stackLabels in the same file gives each its display name. The landing grid, the /skills/[skill] pages and the skills lists on /resume all read from here.
Resume
src/content/resume.tsholds the resume-only data: the contact line and the education list, plusRESUME_PDF_PATH.- The PDF itself is
public/resume.pdf. Replace that file to change what the Download PDF button serves and what is attached to the emailed copy.
The /resume page shows the roles from experience.ts, so the PDF and the page can differ. Keep them in step when you change either.
About and links
src/content/about.tsprovides the About copy shared by the landing page and/about, plus optional extra sections.src/content/links.tslists the social links. The footer links are defined insrc/containers/Footer/Footer.tsx.
Rule of thumb
If the owner has not written it, it does not go in. The product brief marks metrics, project names, client names, quotes and case-study details as things that must never be fabricated.