React component marketplace with live previews, routed product pages, and a hand-built UI system.
This portfolio is intentionally hand-built with semantic HTML, responsive CSS, and JavaScript behaviors. No heavy framework is needed for the core experience.
<div class="hero-main">
<img src="img/waving.png"
alt=""
class="hero-wave"
aria-hidden="true">
<div class="hero-content">
<h1 class="hero-title">
Developer with a designer's eye.
</h1>
</div>
</div>
/* Primitive tokens */
:root {
--c-ink: #0A0A0F;
--c-paper: #FFFFFF;
--space-6: 1.5rem;
/* Semantic roles */
--bg: var(--c-paper);
--text: var(--c-ink);
--accent: var(--c-signal-500);
--surface: var(--c-100);
}
const sectionObserver =
new IntersectionObserver((entries, observer) => {
entries.forEach((entry) => {
if (entry.isIntersecting) {
reveal(entry.target, observer);
}
});
});