Design tokens zodat AI consistent blijft
Design tokens zijn je ontwerpwaarden met een naam: --color-text in plaats van #12243A, --space-3 in plaats van 24px. Leg ze vast in CSS-variabelen of in het @theme-blok van Tailwind 4 voordat je genereert, en laat de AI-tool alleen die namen gebruiken. Zet het standaardpalet van Tailwind uit, dan valt elke losse waarde meteen op.
Tokens zijn de technische kant van een consistent ontwerp. Zolang een waarde nergens een naam heeft, is elke keer dat een AI-tool hem nodig heeft een nieuwe keuze. Met tokens maak je die keuze één keer, en kiest de tool daarna uit jouw lijst. Hieronder een voorbeeldset in gewone CSS en in Tailwind 4, hoe je de standaardwaarden uitzet, hoe je een tool aan je tokens houdt en hoe je controleert of dat gelukt is.
Herken je dit?
- In de code staan
#333,#343434enrgb(51, 51, 51)door elkaar, voor dezelfde tekst. - Tailwind-classes als
text-gray-600entext-slate-700op elementen die er hetzelfde uit horen te zien. - Afstanden met waarden als
p-[22px]ofmargin: 1.35rem, die nergens anders voorkomen. - Je wilt de actiekleur aanpassen en moet zoeken en vervangen in twintig bestanden.
Zonder namen kiest het model uit alles
Een AI-tool die Tailwind gebruikt, heeft een standaardpalet tot zijn beschikking: tientallen kleuren in elf tinten elk. Voor gedempte tekst passen er een stuk of wat grijzen uit verschillende families, en het model heeft geen reden om steeds dezelfde te nemen. Bij afstanden en lettergroottes gaat het net zo. Waar Tailwind niet in de buurt is, schrijft het model hexcodes en pixels uit het hoofd.
Een token draait dat om. Er is één --color-text-muted, en elke component gebruikt die. Verander je de waarde, dan verandert hij overal. Voor een AI-tool is een naam ook makkelijker te volgen dan een waarde: “gebruik alleen tokens uit tokens.css” is een opdracht die hij kan controleren, “gebruik onze kleuren” niet.
Tokens werken in twee lagen. Basiswaarden zijn de kleuren en maten zelf, met een neutrale naam. Rollen zeggen waarvoor een waarde is: tekst, vlak, actie, focus. Componenten gebruiken alleen de rollen. Wil je later een andere actiekleur, dan wijzig je één regel en blijft de naam kloppen.
Zo zet je tokens op
1. Een voorbeeldset in CSS
Dit is een kleine, complete set voor een zakelijke site. Elke kleurcombinatie die voor tekst bedoeld is, haalt de 4,5:1 contrast die WCAG voor gewone tekst vraagt.
:root {
/* basiswaarden */
--blue-900: #12243A;
--blue-600: #1F5FA8;
--grey-50: #F5F7FA;
--grey-600: #56606B;
/* rollen */
--color-bg: #FFFFFF;
--color-surface: var(--grey-50);
--color-text: var(--blue-900);
--color-text-muted: var(--grey-600);
--color-action: var(--blue-600);
--color-focus: var(--blue-600);
--font-display: "Archivo", system-ui, sans-serif;
--font-body: "Source Serif 4", Georgia, serif;
--text-sm: 0.875rem;
--text-base: 1.125rem;
--text-xl: 1.5rem;
--text-3xl: 2.5rem;
--space-1: 0.5rem;
--space-2: 1rem;
--space-3: 1.5rem;
--space-4: 2rem;
--space-6: 3rem;
--space-8: 6rem;
--radius-sm: 4px;
--radius-md: 8px;
}Zes afstanden en twee afrondingen lijken weinig. Dat is de bedoeling: met minder keuzes valt een afwijking eerder op.
2. Dezelfde set in Tailwind 4
In Tailwind 4 staan tokens in een @theme-blok in je CSS. Elke variabele maakt de bijbehorende classes aan: --color-action geeft bg-action en text-action. Met --color-*: initial gooi je het standaardpalet weg, zodat text-gray-600 niet meer bestaat.
@import "tailwindcss";
@theme {
--color-*: initial;
--color-white: #FFFFFF;
--color-ink: #12243A;
--color-muted: #56606B;
--color-surface: #F5F7FA;
--color-action: #1F5FA8;
--font-display: "Archivo", system-ui, sans-serif;
--font-body: "Source Serif 4", Georgia, serif;
--radius-*: initial;
--radius-sm: 4px;
--radius-md: 8px;
}Afstanden rekent Tailwind 4 uit één basiswaarde, --spacing. Dat is al een schaal. Spreek af welke stappen je gebruikt, bijvoorbeeld 2, 4, 6, 8, 12 en 24, en zet die afspraak in je regels.
3. Houd de tool aan je tokens
Leg de tokens vast voordat je de eerste pagina laat genereren, en zeg in de opdracht dat niets anders mag.
Gebruik voor kleur, lettertype, afstand en afronding alleen de tokens uit tokens.css.
Schrijf nooit een hexcode, een px-waarde of een Tailwind-kleur die daar niet in staat.
Mis je een waarde, stop dan en vraag welke token je moet gebruiken.In Claude Code en Cursor zet je die instructie in het instructiebestand van het project, zodat hij elke sessie meegaat. Hoe dat werkt, en wat er verder in zo’n regelbestand hoort, staat in een DESIGN.md maken voor je AI-tools.
4. Controleer op losse waarden
Ook een tool die zich aan de afspraak houdt, glipt er af en toe een waarde doorheen. Twee zoekopdrachten vinden ze.
grep -rnE '#[0-9a-fA-F]{3,8}|rgb\(' src/ | grep -v 'tokens.css'grep -rnoE '[a-z-]+-\[[^]]+\]' src/Wil je dat het vanzelf gaat, zet dan de regel color-no-hex aan in Stylelint. Die geeft een fout bij elke hexcode. In het tokenbestand zelf zet je hem uit met /* stylelint-disable color-no-hex */ bovenaan.
Veelgemaakte fouten
- Componenten die basiswaarden gebruiken. Overal
--blue-600in plaats van--color-action. Wordt de actiekleur groen, dan klopt de naam niet meer, of moet je alsnog alles langs. - Te veel tokens. Twintig grijzen is hetzelfde als geen keuze maken. Zit je boven de tien kleuren, kijk dan welke hetzelfde doen.
- Tokens maken en het standaardpalet laten staan. De tool blijft
text-gray-600gebruiken, want die class werkt nog. - Tokens achteraf. Veertig schermen omzetten naar tokens kost meer dan de set vooraf vastleggen. Begin ermee, ook als de set nog niet af is.
Wanneer je hulp nodig hebt
Heb je een export vol losse waarden, dan is omzetten naar tokens precies het werk waar AI-design laten verbeteren over gaat. Bij AI-design omzetten naar een echte website bouwen we de site vanaf het begin op één set tokens, zodat een kleurwijziging later één regel is. Waarom een AI-tool zonder tokens per scherm andere keuzes maakt, staat in waarom is mijn AI-design inconsistent. Alle gidsen staan in het overzicht van AI-design.
Veelgestelde vragen
Zijn design tokens hetzelfde als CSS-variabelen?
Werkt dit ook zonder Tailwind?
Hoeveel kleuren heb ik nodig?
Kan de AI-tool zelf tokens maken uit mijn bestaande ontwerp?
Verder lezen
Een ontwerp uit Claude Design, Stitch of Figma Make dat een echte website moet worden, en dat er niet als AI uit mag zien.
- Design omzetten naar website
- Je ontwerp uit Claude Design, Google Stitch, Figma Make of een screenshot wordt een website die snel laadt, gevonden wordt en die je zelf bijhoudt.
- AI-website niet in Google
- Je site uit Lovable, Bolt, v0 of Claude Code staat niet in Google. Vaak krijgt een zoekmachine een lege pagina. Wij zorgen dat elke pagina als HTML klaarstaat.
- AI-design laten verbeteren
- Een review van je AI-site met de fixes erbij: de AI-patronen eruit, consistentie, typografie, mobiel en toegankelijkheid. Vaste prijs na een blik op je site.
- Claude Design naar website
- De HTML-export of de overdracht aan Claude Code, en wat je daarna nog regelt: beheer, een formulier, SEO per pagina en hosting.
- Stitch naar website
- Exporteren naar Figma of naar HTML met Tailwind, DESIGN.md meenemen, en bouwen wat Stitch niet maakt: alles achter de schermen.
- HTML-export online zetten
- Statische hosting, je eigen domein, HTTPS, een contactformulier dat echt mailt en bezoekers meten met een cookiemelding.
- AI-design in WordPress
- Waarom HTML plakken niet werkt, en hoe je het ontwerp nabouwt: als eigen blokthema, met patronen in je huidige thema of in een pagebuilder.
- AI-design in Framer of Webflow
- Importeren via Figma of de browserextensie, nabouwen met componenten en variabelen, en terugkerende inhoud in CMS-collecties.
- Teksten zelf aanpassen
- Waarom elke tekstwijziging nu een prompt is, en drie manieren om teksten bewerkbaar te maken: eigen bestanden, een git-CMS of een headless CMS.
- Kapot op mobiel
- Vaste breedtes, koppen die van het scherm lopen, menu’s die alleen op hover werken en een pagina die zijwaarts schuift: zo test en repareer je het.
- Inconsistent AI-design
- Elke pagina een ander grijs, elke knop een andere hoek: waarom een AI-tool per scherm nieuwe waarden kiest, en wat je ertegen doet.
- DESIGN.md maken
- Eén bestand met je kleuren, typografie, afstanden, componenten en verboden patronen, dat je designtool en je codeer-agent bij elke opdracht lezen.
- Huisstijl in AI-design
- Je logo als SVG, de kleurwaarden uit je huisstijlhandboek en de echte fontbestanden aanleveren, en daarna controleren waar de tool toch afweek.
- AI verandert te veel
- Je vraagt een andere knopkleur en de hele sectie verschuift. Waarom dat gebeurt, en hoe je met afbakening, versiebeheer en vaste componenten alleen verandert wat je bedoelt.
- AI-designtools vergeleken
- Wat Claude Design, Google Stitch en Figma Make kunnen, wat ze kosten, wat je eruit exporteert en waar je vastloopt als het een echte website moet worden.
- Toegankelijk AI-design
- Lichtgrijze tekst, verdwenen focusranden, lege alt-teksten en menu’s die niet met het toetsenbord werken: zo vind en repareer je ze in een AI-design.
- Haperende scroll-animaties
- Blokken die bij het scrollen invliegen, haperen op een telefoon of laten de pagina verspringen. Waarom, en hoe je ze met CSS en een paar regels JavaScript licht maakt.
- AI-website herkennen
- Acht keuzes die een AI-tool maakt als niemand iets anders vraagt, en per keuze waar hij vandaan komt.
- Minder generiek maken
- Zes ingrepen die een AI-website uit het gemiddelde halen, in de volgorde waarin ze het meeste doen.
- Designprompt zonder AI-look
- De acht onderdelen van een prompt die een AI-designtool keuzes geeft in plaats van ruimte voor zijn standaard.
- AI-teksten herkennen
- Typische Nederlandse AI-zinnen, waarom ze zo klinken en hoe je ze herschrijft, met voorbeelden voor en na.
- Lettertype kiezen
- Waarom AI standaard Inter kiest, hoe je zelf een combinatie kiest, en hoe je die met de juiste licentie snel en zelf gehost op je site zet.
- AI-afbeeldingen
- Waarom gegenereerde beelden je site goedkoop laten ogen, wat je in plaats daarvan doet, en wanneer je moet melden dat een beeld met AI is gemaakt.
Wij bouwen je site op één set tokens
De kennismaking is gratis. We reageren binnen één werkdag.




