// File icons
function FileIcon({ kind }) {
const colors = {
md: "var(--num)", ts: "var(--fn)", tsx: "var(--fn)", json: "var(--str)",
log: "var(--accent)", sh: "var(--kw)", yml: "var(--warn)", folder: "var(--fg-2)"
};
const label = { md: "M↓", ts: "TS", tsx: "TS", json: "{}", log: "≡", sh: "$_", yml: "Y" }[kind] || "•";
return (
{label}
);
}
// Hero / README
function ReadmeSection() {
const [typedRoles, setTypedRoles] = React.useState("");
const roles = ["Frontend Engineer", "UI Engineer", "TypeScript dev", "Design-system contributor"];
const [roleIdx, setRoleIdx] = React.useState(0);
const [phase, setPhase] = React.useState("typing");
React.useEffect(() => {
const current = roles[roleIdx];
let t;
if (phase === "typing") {
if (typedRoles.length < current.length) {
t = setTimeout(() => setTypedRoles(current.slice(0, typedRoles.length + 1)), 60);
} else {
t = setTimeout(() => setPhase("hold"), 1400);
}
} else if (phase === "hold") {
t = setTimeout(() => setPhase("deleting"), 600);
} else if (phase === "deleting") {
if (typedRoles.length > 0) {
t = setTimeout(() => setTypedRoles(current.slice(0, typedRoles.length - 1)), 28);
} else {
setPhase("typing");
setRoleIdx((roleIdx + 1) % roles.length);
}
}
return () => clearTimeout(t);
}, [typedRoles, phase, roleIdx]);
return (
# README.md
// last login: Sat 17 May, 09:14 — system ready
zohaib@portfolio
~ $
whoami
<
Zohaib
.Arshad
/>
// role:{" "}
{typedRoles}
// based in: "Chemnitz, Germany"
// experience: 5+
years · open to senior roles
/**
* I build accessible, performant web interfaces.
* Currently at Staffbase — design systems, real-time
* features, performance & WCAG 2.1 across surfaces.
*/
available · {PROFILE.status}
$ 5+ yrs · React · TS · Next
$ Berlin / remote / hybrid
);
}
// About
function AboutSection() {
return (
# about.ts
export const profile = {"{"}
name: "Zohaib Arshad",
role: "Frontend Engineer",
location: "Chemnitz, Germany",
yearsOfExperience: 5,
focus: [
{[
"scalable, accessible UI systems",
"design-system contribution & ownership",
"real-time features (WebSockets, optimistic UI)",
"performance + WCAG 2.1 across product surfaces",
"responsible use of AI in everyday dev",
].map((f, i) => (
"{f}",
))}
],
/* short version */
summary: `
{PROFILE.summary.map((s, i) => (
{s}
))}
`,
{"}"} as const;
);
}
// Experience as git log
function ExperienceSection() {
return (
# experience.log — $ git log --oneline --graph
{EXPERIENCE.map((c) => (
commit {c.hash}
{c.branch}
·
{c.period}
{c.role} @ {c.company}
· {c.where}
{c.bullets.map((bl, i) => (
- {bl.b}{bl.t}
))}
{c.tags.map((t) => {t})}
))}
commit 0000000
·
2018
initial commit — career start
);
}
// Skills as JSON
function SkillsSection() {
return (
# skills.json
{"{"}
{SKILLS.map((g, gi) => (
"{g.key}"
:
[
{g.items.map((it) => (
{it}
))}
]{gi < SKILLS.length - 1 ? , : null}
))}
{"}"}
);
}
// Projects
function ProjectsSection({ onTerm }) {
return (
# projects.tsx
// selected work — production features I led or contributed to
{PROJECTS.map((p) => (
onTerm && onTerm(`cat projects/${p.name}.md`)}>
$ ./{p.name} // {p.label}
const{p.name} = function()
{p.desc}
{p.tags.map((t) => {t})}
{p.stats.map((s) => (
{s.k}: {s.v}
))}
))}
);
}
// Education + Languages combined
function EducationSection() {
return (
# education.yml
education:
{EDUCATION.map((e, i) => (
-
degree: "{e.degree}"
school: "{e.school}"
where: "{e.where}"
period: {e.period}
))}
languages:
{LANGUAGES.map((l, i) => (
-
"{l.name}"
:
# {l.level}
))}
);
}
// Contact
function ContactSection() {
return (
);
}
Object.assign(window, {
FileIcon, ReadmeSection, AboutSection, ExperienceSection,
SkillsSection, ProjectsSection, EducationSection, ContactSection,
});