Skip to content
Clownmind logo
Design

Design tokens that survive contact with an engineering team

A token system fails when it describes what a colour looks like instead of what it is for. The naming decision is the whole game.

NHNoor HaddadDesign director24 June 20268 min
Cover illustration for “Design tokens that survive contact with an engineering team”

Most design systems have tokens. Most design systems still drift. The gap between having tokens and having a system that holds is almost entirely about naming.

Three layers, not one

A token called violet-500 is a primitive. It is useful, and it should never appear in a component. What components consume is a semantic token — surface-raised, text-muted, border-interactive — which points at a primitive.

The third layer is component-scoped: button-primary-bg pointing at surface-accent. You do not need this layer until you have a component that genuinely diverges, and adding it prematurely doubles the maintenance for no benefit.

The test for a good token name

Change the brand colour from violet to green in your head. If a token name is now a lie, it was named after appearance instead of purpose. brand-purple fails. text-on-accent passes.

This sounds pedantic until the rebrand arrives, at which point it is the difference between an afternoon and a quarter.

One source, generated outward

  • Tokens live in one JSON file that designers and engineers both edit.
  • A build step generates the Figma variables, the CSS custom properties and the native platform files.
  • Nothing is hand-maintained in two places. If it is, it will disagree within a month.
  • The generated files are committed, so a designer can see exactly what shipped.

What we hand over

Not a Figma file. A token package, a component library with documented states, and a page in the repository explaining how to add a new token without breaking the pipeline. If the handover cannot be understood without a call, it is not finished.

Keep reading

Bring us the messy version

Thirty minutes with an engineer who has done this before.

No sales sequence. One reply from a senior engineer, usually within a working day.

Packages

Our Website Development Packages

Fixed-price builds for the websites businesses ask us for most — from a four-page static site to a fully custom Laravel store. Each package spells out what is included, links to live sites we have built at that level and demos you can click through, so you know exactly what you are paying for before work starts.

5-8 Pages

WordPress Dynamic Website

₹25,000+18% GST

Demo links

  • Normal theme
  • Up to 4 banners on the home page
  • Dynamic website
  • Up to 8 pages
  • Query form with 4 fields
  • Social media page linking
Ask about this package
10 Pages

Dynamic Website

₹40,000+18% GST

Demo links

  • Technology: HTML5, CSS3, Laravel, MySQL
  • Responsive design for mobile
  • Normal theme
  • Up to 4 banners on the home page
  • Dynamic website
  • Up to 10 pages
Ask about this package
15 Pages

Professional Website

₹49,999+18% GST

Demo links

  • Technology: HTML5, CSS3, Laravel, MySQL
  • Responsive design for mobile
  • Visually appealing theme
  • Up to 4 banners on the home page
  • Dynamic or static website
  • 15 pages
Ask about this package

Prices are in Indian rupees and exclude 18% GST. Domain, hosting, paid themes, plugins and app subscriptions are billed at cost. Somewhere between two packages, or need something that is not listed? Ask for a quote — it usually takes one call.

Want a second opinion before you spend the budget?

Half an hour with a senior engineer. No slides, and no sales call pretending to be something else.