Front-end engineering

HTML, CSS and JavaScript from first principles — web components, React, zero-runtime CSS and Astro — all consuming tokens.

  • Web components / Lit
  • React
  • Panda CSS / vanilla-extract
  • Astro

What it is

The other half of a shared design system: components that are actually built, that consume the tokens, and that behave the same across whatever frameworks the product teams use.

How I approach it

I build on the platform first — semantic HTML, modern CSS (custom properties, logical properties, nesting, layers) and just enough JavaScript. For shared libraries I prefer web components with Lit, so one implementation drops into React, Vue, Astro or plain HTML without a rewrite. For app code I work in React, and I reach for zero-runtime CSS (Panda CSS, vanilla-extract) when a team wants typed, token-bound styles without shipping a styling runtime.

Every value traces back to a token. There are no stray hex codes or magic numbers in the components I hand over.

Common problems I solve

  • Component libraries locked to one framework that the next team can’t use.
  • CSS that has drifted from the design tokens into one-off values.
  • Heavy styling runtimes shipped to users who don’t need them.
  • Markup that looks fine but isn’t accessible or semantic underneath.
  • A finished design that needs to become a real, well-structured build — a marketing site with a CMS, or an interactive touchscreen kiosk running offline on the hardware.

This site is the small example: static Astro, layered hand-written CSS and a token pipeline, with JavaScript kept to the few places that genuinely need it.