Blog

Notes on development, design, and the decisions behind them.

Interface components arranged from small pieces up to full screens
4 min read

Atomic components that actually get reused (not just in theory)

Atomic design is easy to explain and often applied badly: components that are technically atomic but that nobody reuses because they were born coupled to a single screen.

Read note →
Component tree diagram with nodes marked as server or client
4 min read

Server Components vs Client Components in Next.js: when I use each

The question isn't which one is better. It's what needs interactivity and what doesn't, and that distinction changes how much JavaScript gets shipped to every visitor's browser.

Read note →
Figma panel next to a code editor showing the same component
4 min read

From Figma to production: my process for not losing anything in translation

Designing and coding the same product changes the order of decisions. How I organize the path from a Figma file to real components, without the friction of two people passing a file back and forth.

Read note →
Colour palette organized into primitive and semantic token layers
4 min read

Design tokens: how what I design in Figma ends up as Tailwind config

A design token isn't a decorative best practice: it's what turns changing a colour into one line instead of a component-by-component search. How I organize them and how they cross into code.

Read note →