Static by design
The catalog still ships as static pages, but lightweight API endpoints now handle commerce, email, analytics, and optional account sync via magic link or Google sign-in.
ColorArchive started as a color archive and expanded into a lightweight static product: discovery routes, reusable palette exports, and product layers that can later support off-site checkout.
The catalog still ships as static pages, but lightweight API endpoints now handle commerce, email, analytics, and optional account sync via magic link or Google sign-in.
ColorArchive does not try to dump the entire RGB universe into one page. It focuses on a large but navigable archive with structure.
Every route should either help someone find, compare, export, reuse, or eventually buy a color system.
Every color in the archive is produced algorithmically in src/data/colors.ts at build time — no database, no external color API. The generation multiplies three HSL dimensions: hue roots, lightness bands, and chroma bands.
Evenly spaced hues across 0–360° in 10° increments.
From near-white (95%) down to near-black (15%), stepped for perceptual evenness.
Saturation steps from muted (12%) to vivid (95%), giving each hue depth.
36 × 7 × 8 = 2016 unique HSL entries. All generated in colors.ts at build time.
generateStaticParams() and served as flat HTML — no runtime needed.