Context
The portfolio has no Education section anywhere. Real education data now exists (as of #66/#88) in data/resume.json's sections.education.items: ISIMM (Software Engineering, Sept 2021 - June 2024, "Top of my Major"), Lycée Secondaire de Sayada (Baccalauréat, Sept 2020 - July 2021), and Lycée Privé International de Monastir (Sept 2016 - June 2020) — but this data currently only feeds the AI chatbot's context (lib/chatbot-context.ts's getEducationData()) and the (not-yet-built) resume page. It's never rendered as a real homepage section.
Current state
- No
Education component exists under components/app/.
- No
#education anchor/Panel exists in app/page.tsx.
data/resume.json's education items are the natural data source (see .cursor/rules/05-resume-data-schema.mdc for the full item shape: school, degree, area, grade, location, period, website, description) — but resume.json is meant to be edited via Reactive Resume re-exports going forward (per that rule), so consider whether the portfolio's Education section should read directly from data/resume.json (matching how hero.tsx/about-facts.tsx already do) or needs its own dedicated data file. Reading resume.json directly is more consistent with existing patterns — prefer that unless there's a concrete reason not to.
Acceptance criteria
Out of scope
- Awards/certifications — those already have their own
data/resume.json sections but aren't in scope for "Education" specifically; a separate call on whether those need homepage sections too, not assumed here.
Context
The portfolio has no Education section anywhere. Real education data now exists (as of #66/#88) in
data/resume.json'ssections.education.items: ISIMM (Software Engineering, Sept 2021 - June 2024, "Top of my Major"), Lycée Secondaire de Sayada (Baccalauréat, Sept 2020 - July 2021), and Lycée Privé International de Monastir (Sept 2016 - June 2020) — but this data currently only feeds the AI chatbot's context (lib/chatbot-context.ts'sgetEducationData()) and the (not-yet-built) resume page. It's never rendered as a real homepage section.Current state
Educationcomponent exists undercomponents/app/.#educationanchor/Panel exists inapp/page.tsx.data/resume.json's education items are the natural data source (see.cursor/rules/05-resume-data-schema.mdcfor the full item shape:school, degree, area, grade, location, period, website, description) — but resume.json is meant to be edited via Reactive Resume re-exports going forward (per that rule), so consider whether the portfolio's Education section should read directly fromdata/resume.json(matching howhero.tsx/about-facts.tsxalready do) or needs its own dedicated data file. Readingresume.jsondirectly is more consistent with existing patterns — prefer that unless there's a concrete reason not to.Acceptance criteria
Educationpanel/section on the homepage, following the existingPanel/PanelHeader/PanelTitlecomposition pattern (seecomponents/app/panel.tsxand any of the existingapp/page.tsxsections for the pattern to match).app/page.tsx) — logically pairs with Work, likely adjacent to it.config/consts.ts'sPAGES/NAV_ITEMSif it should be a nav-reachable anchor like the other sections (/#education).data/resume.json, keep it consistent here.Out of scope
data/resume.jsonsections but aren't in scope for "Education" specifically; a separate call on whether those need homepage sections too, not assumed here.