// SectionHeader + About + Skills (interactive tabs) const SectionHeader = ({ eyebrow, title, sub, num }) => (
{eyebrow} {num && {num}}

{title}

{sub &&

{sub}

}
); const About = () => { const D = PORTFOLIO_DATA; return (
I architect the systems that act — not the demos that impress.} />

{D.about.pitch}

    {D.about.bullets.map((b, i) => (
  • {b}
  • ))}
{/* Side card: at a glance */}
At a glance
{[ ["Discipline", "Agentic systems · Full-stack"], ["Years", `${D.brand.yearsExp}+ shipping`], ["Stack range", "TS · Python · Solidity"], ["Working with", "Founders · CTOs · Platform leads"], ["Engagement", "Embedded · Lead architect"], ["Location", D.brand.location], ].map(([k, v]) => (
{k} {v}
))}
Start a conversation
); }; const Skills = () => { const D = PORTFOLIO_DATA; const cats = Object.keys(D.stack); const [active, setActive] = React.useState(cats[0]); const items = D.stack[active]; const catIcon = { "Frontend": Icons.Code, "Backend": Icons.Server, "AI / Agents": Icons.Sparkles, "Web3": Icons.Wallet, "DevOps": Icons.Cloud, }; return (
{/* Category tabs */}
{cats.map(c => { const I = catIcon[c]; const on = active === c; return ( ); })}
{/* Items */}
{items.map((s, i) => (
{s.name} {s.level}
))}
); }; window.About = About; window.Skills = Skills; window.SectionHeader = SectionHeader;