Niemand baut Entscheidungen.
61 Atome, 1.816 Blocks, 0 Entscheidungsoberflächen. shadcn ist der Standard, an dem KI heute UIs baut, sein Marktplatz verkauft trotzdem Landingpages von 2019.
Neulich wollte ich schnell eine Oberfläche. Moderner Weg, also die KI gefragt. Kam shadcn zurück. Kommt immer. Dann der freundliche Hinweis, ich könne mir ja aus „6.167+ production-ready blocks“ was Passendes raussuchen. Hero, Pricing, CTA, Dashboard und mehr. Copy, paste, ship.
Und da hakte es.
shadcn hat gewonnen. Es ist der Standard, an dem heute die halbe Welt UIs zusammensteckt, KI-Agenten eingeschlossen. Aber alles, was drumherum verkauft wird, richtet sich an jemanden, den es kaum noch gibt: den Menschen, der von Hand eine Landingpage zusammenklickt. Heute klickt da niemand mehr von Hand. Die Maschine baut, der Mensch entscheidet, ob es stimmt.
Der Standard hat die Zielgruppe gewechselt. Der Markt drumherum verkauft munter ans alte Publikum weiter.
Ist das so?
Leider ja. Ich hab nachgezählt. Nicht das Marketing-Versprechen, einen echten Katalog, komplett.
So viele echte Primitive hat shadcn/ui im Registry. button, card, dialog, badge, alert, collapsible, progress, und so weiter. Klein, geordnet, keine Redundanz. Diese Ebene ist richtig gut. Das hier ist ausdrücklich kein „shadcn ist Mist“-Artikel.
So viele Blocks stehen in diesem einen Katalog, shadcnblocks.com, verteilt auf rund 101 Kategorien. Klingt nach Reichtum. Ist Wiederholung. 247 Hero-Varianten, ein einziges Outcome. 311-mal „Feature“, ein Outcome. Wirft man die outcome-gleichen zusammen, bleiben von 1.816 rund 19 Archetypen. Es sind keine 1.816 Dinge. Es sind dieselben 61 Atome, 1.816-mal zu Marketing-Möbeln umgestapelt.
So viele davon sind eine Entscheidungsoberfläche. Kein einziger Block hilft einem Menschen bei der Entscheidung, die ihm eine Maschine hinlegt. Null.
61 Primitive. Das echte Vokabular. Klein, geordnet, endlich.
Hero 247 · Feature 311 · Pricing 96 · Bento 53 · Footer 44 · … · 101 Kategorien, ~19 Archetypen
Kein Block trägt die Anatomie einer Entscheidung.
Was ist da passiert?
Der Katalog ist nach der falschen Achse sortiert. Stell dir einen Werkzeugkasten vor, geordnet nach Farbe statt nach Funktion. Sieht nach Auswahl aus, bringt dir aber nichts, wenn du eine Schraube drehen willst.
- Sortiert wird nach „wie sieht es aus“, nicht nach „wozu dient es“.
- hero, pricing, testimonial, stats-grid: keine dieser Kategorien beantwortet eine Frage, die ein Mensch im Moment des Entscheidens hat.
- Für eine KI, die daraus baut, ist das kein Reichtum, sondern Fragmentierung. Mal Block 4325, mal 3421, gleiches Ergebnis, anderer Code. Aus 1.816 Wegen, dasselbe zu tun, baut kein Agent ein konsistentes System.
Was heißt das?
Nicht „die besten 60 kuratieren“, das misst auf derselben falschen Achse. Sondern: bau ein Vokabular für Entscheidungen. Und das fällt aus einer einzigen Frage. Was braucht ein Mensch, um mit einer Maschine gut zu entscheiden?
- Den Vorschlag. Als Commitment, nicht als Menü. Das Menü ist schon die Kapitulation.
- Das Warum. Nur die kausalen Fakten, nicht das ganze Log.
- Die Confidence. Und vor allem, wo sie bröckelt.
- Die verworfenen Alternativen. Damit man sieht, dass die Maschine nicht getunnelt hat.
- Die Konsequenz. Sichtbar, bevor man Ja sagt.
- Die Umkehrbarkeit. Das Wichtigste, und fast nie gezeigt.
- Den eigenen Zug. Annehmen, ändern, eskalieren, später.
Der Clou: das baust du aus genau den 61 Atomen, die schon da sind. Vorschlag ist Card plus Button plus Badge. Confidence ist ein Badge. Alternativen ein Collapsible, per Default zu. Konsequenz ein Alert vor dem Commit. Kein neues Package, keine neue Abhängigkeit. Du addierst nichts, du stapelst dieselben Steine um die Entscheidung statt um die Landingpage. Das ist der eigentliche Job: Weglassen. Nicht der hübsche Minimalismus aus weißem Raum und großer Schrift, sondern alles rauswerfen, was nicht die Entscheidung ist.
Was heißt das nicht?
- Nicht „shadcn ist schlecht“. Die 61 Atome sind genau richtig. Das Problem sitzt eine Ebene höher, im Marktplatz.
- Nicht „weniger ist automatisch besser“. Ein leerer Katalog hilft auch keinem. Es geht um die Achse, nicht um die Zahl.
- Und bevor es jemand kontert: die 19 Archetypen sind ein Struktur-Vergleich über den öffentlichen Katalog, kein zeilenweiser Code-Diff, der Code liegt hinter einer Paywall. Und ja, „Checkout ist doch eine Entscheidung“. Schon. Aber die Checkout-Blocks fragen „welche Kreditkarte“, nicht „ist das richtig, und was passiert, wenn ich es tue“. Das sind Formulare, keine Entscheidungsoberflächen. Die Null steht.
Und jetzt?
Schau auf dein eigenes Produkt. Zähl die Momente, in denen ein Mensch etwas freigibt, ablehnt oder überstimmt, was eine Maschine vorschlägt. Und dann zähl, wie viele Komponenten du für genau diesen Moment hast. Vermutlich null. Wie der Rest der Branche.
Genau da liegt die Arbeit, und der Vorsprung. Der Katalog liefert sie dir nicht, er verkauft ans falsche Publikum.
tl;dr
Nicht zu viele Blocks, die falsche Taxonomie. Die Maschine entscheidet nicht, gutes Design ist das, was sie weglässt.
Wie man so eine Entscheidungsoberfläche konkret baut, eine, die weglässt statt zu überfrachten, kommt im nächsten Post. Mit Code, nicht mit Meinung.
Widerspruch, Ergänzungen, ein Katalog, der es doch richtig macht? Her damit.