updated experience

This commit is contained in:
liyunze 2026-03-31 23:29:17 +11:00
parent b2b0e2b036
commit b2abd4eecd

View file

@ -53,16 +53,27 @@ function ExperienceTabContent() {
className: "pb-5", className: "pb-5",
})} })}
{Position({ {Position({
title: "Full Stack Developer (Part Time)", title: "Student Project Frontend Lead",
dateRange: "Dec 2024 - Feb 2026", dateRange: "Mar 2026 - Now",
country: "Malaysia", country: "Australia",
highlights: [ highlights: [
"Led a team to develop Astro websites with Payload CMS backend implementation.", "Led the migration from 40+ Javascript files to Typescript while preserving original functionality with minor bug fixes.",
"Managed Github Actions CI/CD and deployments.", "Improved navigation adhering to UX principles.",
], ],
className: "pb-5", className: "pb-5",
})} })}
{Position({ {Position({
title: "Lead Full Stack Developer (Part Time)",
dateRange: "Dec 2024 - Feb 2026",
country: "Malaysia",
highlights: [
"Led a team to develop Astro websites with Payload CMS backend implementation.",
"Translated Figma wireframes into website implementation efficiently.",
"Managed Github Actions CI/CD and deployments.",
],
className: "pb-5",
})}
{/* {Position({
title: "Frontend Web Developer Intern", title: "Frontend Web Developer Intern",
dateRange: "Jan 2024 - Apr 2024", dateRange: "Jan 2024 - Apr 2024",
country: "Malaysia", country: "Malaysia",
@ -71,7 +82,7 @@ function ExperienceTabContent() {
"Used lazy-loading to optimise page load speeds. ", "Used lazy-loading to optimise page load speeds. ",
"Ensured CMS allowed easy yet flexible customisations for clients.", "Ensured CMS allowed easy yet flexible customisations for clients.",
], ],
})} })} */}
</> </>
); );
} }
@ -211,6 +222,7 @@ const lineMoveCSS = `
function Position({ function Position({
title, title,
institution,
dateRange, dateRange,
country, country,
summary = "", summary = "",
@ -236,27 +248,31 @@ function Position({
<div className={className}> <div className={className}>
<h2 className="text-lg font-bold">{title}</h2> <h2 className="text-lg font-bold">{title}</h2>
<div className="mt-1 flex flex-col items-start justify-start gap-1"> <div className="mt-1 flex flex-col items-start justify-start gap-1">
<div className="text-muted-foreground flex flex-row items-center justify-start gap-1 bg-size-[100%_200%] text-xs"> <div className="text-muted-foreground flex flex-row items-center justify-start gap-1 text-xs">
{CalendarIcon()} {dateRange} <CalendarIcon /> {dateRange}
</div> </div>
<div className="text-muted-foreground mb-2 flex w-full flex-row items-center justify-start gap-5 text-xs"> <div className="text-muted-foreground mb-2 flex w-full flex-row items-center justify-start gap-5 text-xs">
{institution && (
<div className="flex flex-row items-center justify-start gap-1"> <div className="flex flex-row items-center justify-start gap-1">
{LocationIcon()} {country} <BriefCaseIcon /> {institution}
</div>
)}
<div className="flex flex-row items-center justify-start gap-1">
<LocationIcon /> {country}
</div> </div>
</div> </div>
</div>
{ {summary && <p className="text-base">{summary}</p>}
summary && (
<p className="text-base">{summary}</p>
)
}
<ul className="list-inside list-disc"> <ul className="list-inside list-disc">
{highlights.map((highlight, i) => ( {highlights.map((highlight, i) => (
<li key={`highlight-{i}`}>{highlight}</li> <li key={`highlight-${i}`}>{highlight}</li>
))} ))}
</ul> </ul>
</div> </div>
</div> </div>
</div>
</> </>
); );
} }