Always cooking something

// design-system

Visual Language

All tokens, components, and patterns used across the portfolio and experiment pages.

Portfolio Colors

Background

#0F1115

--color-bg

Background 2

#1A1D24

--color-bg2

UI

#2A2F3A

--color-ui

Violet

#7C5CFF

--color-violet

Mint

#2EE6A6

--color-mint

Foreground

#E8EAF0

--color-foreground

Muted

#6B7280

--color-muted

Tool UI Colors

Tool BG 0

#0d0d0f

Tool BG 1

#141416

Tool BG 2

#1c1c1f

Tool BG 3

#242428

Tool BG 4

#2e2e33

Tool Border

#2e2e33

Tool Border 2

#3a3a40

Tool Text

#e8e8ec

Tool Text 2

#9090a0

Tool Text 3

#5a5a6a

Typography

Space Grotesk — Heading Scale

h1

Full Stack Developer

clamp(48px,7vw,86px)

Display / Hero

h2

Selected Work

clamp(32px,4vw,52px)

Section Title

h3

Design System & Tokens

32px

Card Heading (large)

h4

Headless WordPress

22px

Card Heading (small)

h5
Frontend Frameworks

16px

Label / Group Title

h6
Always cooking something

13px

Micro Label

Body — Space Grotesk

Regular body text. Readable and clean, used for descriptions and paragraphs across the portfolio.

Secondary body — slightly smaller, used for card descriptions and supporting copy.

Mono — DM Mono

// tech-tag prefix

SECTION LABEL

--color-violet: #7C5CFF;

Buttons & Links

Nav LinkTag

Tech Tags

.tech-tag — adds // prefix via CSS

Next.jsReactThree.jsWebGLTypeScriptPythonTailwind CSSGLSL

Cards

// Project Card

Project Title

Brief description of what this project does and what makes it interesting.

ReactThree.jsWebGL

// Experiment Card

Experiment Title

An interactive experiment exploring creative coding and WebGL techniques.

Skill Bars

.skill-group + .skill-bar-fill.visible

Next.js / React90%
Three.js / WebGL75%
TypeScript80%
Python / ML65%

Section Anatomy

.section-label[data-num] + heading pattern

Section Label

Section Heading

Supporting paragraph that provides context for the section content.

Indicators

Status Pulse

Always cooking something

Cursor Dot

12px • violet • screen
36px ring • 0.4 opacity

Scroll Reveal

.reveal.visible
.reveal-delay-1 (100ms)
.reveal-delay-2 (200ms)

Animations

animate-fade-up-1fadeUp 0.6s ease 0.2s forwards
animate-fade-up-2fadeUp 0.7s ease 0.35s forwards
animate-fade-up-3fadeUp 0.7s ease 0.5s forwards
animate-fade-up-4fadeUp 0.7s ease 0.65s forwards
animate-fade-up-5fadeUp 0.7s ease 0.9s forwards
animate-fade-leftfadeLeft 0.7s ease 0.8s forwards
animate-scroll-downscrollDown 1.5s ease infinite
animate-status-pulsestatusPulse 2s ease infinite

Gradients

violet → mint (primary)
radial violet glow (project visual)
Hero grid overlay (80px)
bg fade (sections)