// design family · 2 systems · paper-and-ink discipline

thinkspark/design.

A family of small opinionated design systems. Each system is a kit, not a library. Paper-dominant, ink for type, one accent per surface. Hairline borders, near-square corners, nothing decorative.

2 systems · ~64 primitives · 3 type families · 0 dependencies
// systems2 active
// philosophykit, not library
// rule1 accent / surface
// type2 voices / system
// statusproduction
// mirror.dev = .eu
// 01 / design systems

two systems.

// each has its own metaphor. dieter = the kit-as-instrument à la Dieter Rams. touchline = the editorial-sport tableau. shared rules: paper-dominant, one accent per surface, nothing decorative.

// 02 / principles

shared discipline.

// both systems obey the same rules. the difference lies in the metaphor and the palette, never in the respect for the code.

// 01 / kitA kit, not a library.

Every primitive carries a product code. "Use b-001" beats "use the dark button". Object permanence, no evanescent widget. Components are objects, not functions.

// 02 / restraintOne accent per surface.

Paper-dominant, ink for type. Never two vivid colors competing on the same screen. Color is for announcing (qualified, live, focus), never for decorating a heading.

// 03 / typographyTwo voices, never more.

A sans-display for impact + a mono for data. Inter+JetBrains in dieter, Anton+DM Sans+Plex Mono in touchline. No Arial, no Roboto. Mono carries numbers and codes.

// 04 / lineHairlines and square corners.

1px borders. 2/3/6px radius (reserved for circles). No drop shadows. No gradients. Rigor comes through clean angles, not mushy roundness.

// 03 / what next

in the window.

// the touchline demo is a u13 tournament page rebuilt 100% with the system's primitives. matchcard, bracket, standings, sponsors, prizes. zero custom component CSS in the page.

// demo · composed pattern touchline / ds

spring tournament / u13 2026.

Complexe sportif des Bruyères · 31 May 2026 · 8 teams · 16 matches · world cup bracket · live standings. All touchline primitives composed on a real page.

1 page · 21 primitives used · 0 lines of custom css