Waititu — Portfolio Site
A multidisciplinary artist portfolio framed as a surveyed planet — Astro with React islands for the interactive panels, a from-scratch design system, and a canvas starfield that adapts to light/dark mode.
The portfolio you’re reading right now. The brief I gave myself was artist-coded, not template-coded: every page should look like part of one made-from-scratch thing.
Built with Astro because the site is mostly static and Astro keeps the initial payload small — React only ships on the islands that actually need it (the theme toggle, the home page’s hover-preview panel). Everything else is HTML and scoped CSS.
The design language is a single set of CSS custom properties switched at the html element via data-theme, with a no-flash inline script so the right theme is applied before first paint. A PageHeader component, a shared .page-wrap utility, and tokens like --wrap-pad / --h1-size keep the visual rhythm consistent across every route.
The home page has a few hand-built pieces I’m proud of: a canvas starfield that knows whether it’s drawing white stars on navy or dark dots on sand (one MutationObserver on the theme attribute), a one-time terminal boot intro stored against sessionStorage, a SURVEY mode that overlays a lat/long grid + crosshair pins on the planet with click-outside-to-exit, and a Bracket primitive whose corners inherit color via currentColor (or --bc) so any parent can recolor them on hover.
Deployed to Cloudflare Workers Assets with an explicit KV binding in wrangler.toml so the deploy doesn’t try to auto-provision on every push.