Design system to zestaw uzgodnionych zasad, komponentów i przykładów użycia, dzięki którym nowe strony i podstrony powstają szybciej i bez chaosu. Dla małej lub średniej firmy to nie „enterprise-fanaberia”, tylko sposób na tańszy rozwój: mniej sprzecznych stylów, mniej poprawek i krótszy onboarding nowych osób. Rdzeniem współczesnych design systemów są tokeny projektowe (design tokens) — małe, nazwane wartości (np. kolor, odstęp, promień zaokrąglenia), które potem wykorzystujemy w CSS i komponentach. Ten przewodnik pokazuje, jak w 2–3 tygodnie zbudować lekki system, który od razu pracuje na wynik.
Ad hoc każdy ekran da się „poskładać”. Problem zaczyna się po kilku miesiącach: pięć odcieni tego samego koloru, różne odstępy, trzy style przycisków, „magiczne” klasy w CSS i brak konsekwencji. Design system porządkuje to na starcie: definiuje biblioteczkę komponentów, język wizualny i reguły użycia. W efekcie powstają spójne strony, a zmiana (np. koloru marki) nie wymaga po 100 edycji — podmieniasz jeden token i gotowe.
Token to nazwana wartość UI, np. color.brand.primary = niebieski, space.sm = 8 px, radius.md = 8 px. Tokeny działają jak „słownik” dla całego projektu. Zamiast wpisywać w CSS twarde liczby i kolory, odwołujesz się do zmiennej. Dzięki temu można centralnie zmienić kolor, skalę odstępów czy promienie w całym serwisie, a komponenty same to podłapią.
Dobrze sprawdza się prosty podział na trzy poziomy:
Zmiany wizerunkowe (rebranding, dark mode) przechodzą głównie przez warstwy globalną i aliasową; komponenty pozostają stabilne.
Nie potrzebujesz setek pozycji. W MŚP wystarczy krótka „walizka”:
Wystarczy uzgodnić nazewnictwo i zapisać tokeny w formacie, który lubi front-end (np. jako zmienne w CSS). Gdy projekt rośnie, te same nazwy i wartości można eksportować do dodatkowych formatów. Klucz to trzymać jeden „source of truth”.
Zasada „od ogółu do szczegółu” ułatwia porządek: rodzina.kategoria.konkretny-element.stan. Np.: color.brand.primary, color.button.primary.bg.hover, space.card.inner. Unikaj skrótów bez powodu; nazwa ma wyjaśniać przeznaczenie, nie tylko kolor.
Najprościej zmapować tokeny na zmienne CSS (custom properties). Dzięki temu dziedziczenie, motywy i podmiana wartości działają bez ciężkich bibliotek. Przykładowy fragment (do inspiracji):
:root {
--color-brand-primary: #0b66ff;
--color-text-default: #111111;
--color-bg-default: #ffffff;
--space-xs: 4px; --space-sm: 8px; --space-md: 12px; --space-lg: 16px; --space-xl: 24px;
--radius-md: 8px;
}
.button--primary {
background: var(--color-brand-primary);
color: var(--color-bg-default);
padding: var(--space-sm) var(--space-lg);
border-radius: var(--radius-md);
}
Zmiana koloru marki w jednym miejscu od razu spłynie na wszystkie przyciski i komponenty, które korzystają z tokenów.
Motywy to w praktyce zestawy nadpisanych tokenów. Zamiast dublować klasy i style, nadpisz wartości w odpowiednim „kontejnerze”. Przykład ideowy: kontener z klasą theme-dark ustawia alternatywne wartości --color-*. Komponenty odwołują się tylko do tokenów, więc „same” zmieniają wygląd.
Na początek wystarczy 8–12 komponentów wysokiej używalności: nagłówek i stopka, siatka kart (card), przyciski (primary/secondary), pola formularza (label, input, textarea, select, checkbox), komunikaty (alert/info/success/warning), nawigacja, paginacja, sekcja „hero” i blok FAQ. Każdy komponent ma krótki opis użycia, listę stanów i małe przykłady. To wystarcza, by 80% ekranów budować z gotowych klocków.
Jeśli tokeny kolorów mają zdefiniowane pary „tekst ↔ tło” z właściwym kontrastem, edytor nie „zepsuje” czytelności. Warto też dodać tokeny odstępów dla klikalnych elementów (np. space.tap), by cele dotykowe były wygodne na mobile. Raz ustalone wartości gwarantują spójność bez każdorazowych debat.
Dzień 1–2: Inwentaryzacja: kolory w użyciu, odstępy, typografia, powtarzające się komponenty. Decyzja, co zostaje, co do kosza.
Dzień 3–4: Definicja minimalnych tokenów globalnych i aliasowych. Uzgodnienie nazewnictwa.
Dzień 5–6: Mapowanie tokenów na CSS (zmienne). Przygotowanie „szkieletu” motywów (light/dark lub brand A/B).
Dzień 7–9: Skład 8–12 kluczowych komponentów na tokenach. Opis stanów i krótkie przykłady użycia.
Dzień 10: Refaktoryzacja 2–3 istniejących podstron pod nowy system (pilotaż).
Dzień 11–12: Poprawki po pilotażu. Ustalenie reguł redakcyjnych (jakie nagłówki, długości akapitów, użycie komponentów).
Dzień 13–14: Dokument „jak korzystać” i plan migracji pozostałych widoków.
W małej firmie wystarczy lekki „komitet” dwóch osób: właściciel wizualny (np. grafik/UX) i właściciel front-end. Raz w miesiącu przegląd: czy pojawiły się niespójności, czy trzeba dodać nowy token/komponent, czy coś usuwamy. Każda zmiana przechodzi przez krótką notkę: co dodaliśmy, co się zmieniło, jak migrować.
Nie obiecuj cudów — pokaż liczby. Zmierz, ile czasu zajmuje zbudowanie typowej podstrony „po staremu”, a ile na komponentach z tokenami. Policz spadek linii CSS po refaktoryzacji. Pokaż, że zmiana koloru lub promienia w jednym miejscu „idzie” po całym serwisie. To konkret, który zamyka dyskusję.
Lekki design system oparty na tokenach to najszybszy sposób, by uporządkować UI, skrócić czas wdrożeń i ograniczyć dług wizualno-techniczny. W MŚP wystarczy kilkanaście tokenów, kilka kluczowych komponentów i prosty rytuał przeglądu. Zamiast „rzeźbić każdy ekran od zera”, budujesz z klocków, które są spójne, dostępne i łatwe do zmiany.
https://material.io/design — Material Design: zasady systemów projektowych i przykłady komponentów
https://design-tokens.github.io/community-group/format/ — W3C Design Tokens Community Group: propozycja formatu i dobre praktyki
https://lightningdesignsystem.com/design-tokens/ — Salesforce Lightning Design System: przykłady użycia tokenów
https://polaris.shopify.com/design/tokens — Shopify Polaris: tokeny i ich struktura w praktyce
https://web.dev/design-system/ — web.dev: jak systemy projektowe wpływają na spójność i wydajność
Sprawdź naszych specjalistów w praktycznym działaniu. Zobacz co możemy zrobić dla Twojej firmy - przejrzyj ofertę lub skorzystaj z bezpłatnej konsultacji.