From 65bbaa30a57fba212f5c46c2e1f832d6c2774bba Mon Sep 17 00:00:00 2001 From: Kai Chen Date: Thu, 25 Jun 2026 18:14:03 -0700 Subject: [PATCH 1/2] fix: sync About experience from LinkedIn and align volunteering format Co-authored-by: Cursor Co-authored-by: Claude --- app/about/page.tsx | 120 +++++++++++++++++++++++++++------------------ 1 file changed, 72 insertions(+), 48 deletions(-) diff --git a/app/about/page.tsx b/app/about/page.tsx index 156adaf..fc46837 100644 --- a/app/about/page.tsx +++ b/app/about/page.tsx @@ -161,7 +161,6 @@ export default function About() { roles: [ { years: "Apr 2026 – Present", - meta: "On-site", role: "Research Assistant", detail: "RA with an Astra fellow on a compute governance project.", }, @@ -169,23 +168,20 @@ export default function About() { }, { org: "Southern University of Science and Technology", - meta: "Shenzhen, China", + meta: "Shenzhen", roles: [ { years: "Jun 2024 – Jun 2025", - meta: "On-site", role: "Peer Mentor", detail: "Peer mentor at Zhicheng College for the Class of 2028.", }, { - years: "Feb 2024 – Aug 2024", - meta: "On-site", + years: "Feb 2024 – Jul 2024", role: "Research Assistant", detail: "Control theory RA at NCC Lab.", }, { years: "Nov 2023 – Jan 2024", - meta: "On-site", role: "Teaching Assistant", detail: "TA for a short-term mindfulness course.", }, @@ -193,13 +189,13 @@ export default function About() { }, { org: "SUSTech Psychology Society (SUSPsych)", - meta: "Shenzhen, China · On-site", + meta: "Shenzhen", roles: [ { years: "Jun 2024 – Jun 2025", role: "President", detail: - "Mental health workshops and peer support programs with SUSTech Counseling & Psychological Services.", + "Organizing mental health workshops and peer support programs in partnership with SUSTech Counseling & Psychological Services.", }, { years: "Oct 2023 – Jun 2024", @@ -213,7 +209,6 @@ export default function About() { roles: [ { years: "Oct 2024 – Jan 2025", - meta: "Hybrid", role: "Teaching Assistant", detail: "TA for Wellness Ambassador Program (WAP), jointly organized by SUSTech and Lingnan University.", @@ -255,27 +250,17 @@ export default function About() { > {roleItem.role}

-
- - {roleItem.years} - - {"meta" in roleItem && roleItem.meta ? ( - - · {roleItem.meta} - - ) : null} -
+ + {roleItem.years} + {roleItem.detail ? (

Volunteering
-
+
{[ { - years: "Oct 2023 – Dec 2025", - role: "Certified First Aider", org: "SUSTech Emergency Rescue Association", + meta: "Shenzhen", + roles: [ + { + years: "Oct 2023 – Dec 2025", + role: "Certified First Aider", + }, + ], }, - ].map(({ years, role, org }, i) => ( + ].map(({ org, meta: orgMeta, roles }, groupIndex) => (
- - {years} -

- {role} -

-

{org}

+ {orgMeta ? ( +

+ {orgMeta} +

+ ) : null} +
1 ? "mt-3 space-y-0" : "mt-2.5"}> + {roles.map((roleItem, roleIndex) => ( +
0 + ? "pt-4 mt-4 border-t border-zinc-100 dark:border-zinc-800/60" + : undefined + } + > +

+ {roleItem.role} +

+ + {roleItem.years} + + {roleItem.detail ? ( +

+ {roleItem.detail} +

+ ) : null} +
+ ))} +
))}
From 807e5e4024ab8cda65c9b32101b9d99ca8f6ef01 Mon Sep 17 00:00:00 2001 From: Kai Chen Date: Fri, 26 Jun 2026 15:10:19 -0700 Subject: [PATCH 2/2] fix: add AboutRole type for volunteering section build Volunteering roles only had years and role, so TypeScript narrowed away optional detail and failed the Vercel production typecheck. Co-authored-by: Claude Co-authored-by: Cursor --- app/about/page.tsx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/about/page.tsx b/app/about/page.tsx index fc46837..26da60b 100644 --- a/app/about/page.tsx +++ b/app/about/page.tsx @@ -1,6 +1,12 @@ import type { Metadata } from "next"; import MagChip from "../components/mag-chip"; +type AboutRole = { + years: string; + role: string; + detail?: string; +}; + export const metadata: Metadata = { title: "About — Kai T. Chen", description: @@ -290,7 +296,7 @@ export default function About() { years: "Oct 2023 – Dec 2025", role: "Certified First Aider", }, - ], + ] as AboutRole[], }, ].map(({ org, meta: orgMeta, roles }, groupIndex) => (