{
  "id": 2519234,
  "title": "Your AI doesn't understand design. So I gave it a library it can read.",
  "url": "https://urgent.news/2026/08/22/your-ai-doesnt-understand-design-so-i-gave-it-a-library-it-can-read",
  "topic": "ai",
  "section": "AI",
  "published": "2026-08-22T06:18:47.000Z",
  "source": {
    "name": "Dev.to",
    "slug": "dev-to",
    "url": "https://dev.to/voltwake/your-ai-doesnt-understand-design-so-i-gave-it-a-library-it-can-read-5cg0"
  },
  "original_language": "en",
  "account": "Asking a large language model (LLM) to create a landing page in the style of a high-end Swiss design studio yields a result that hints at the concept but is fundamentally AI-generated. This is because the model has absorbed a billion words about design but lacks a concrete, reusable understanding of what the Swiss International Style actually entails. The problem lies in the fact that models excel at language but struggle with design systems, which are not merely language but a set of structured values and a disciplined application of them consistently.\n\nTo address this gap, I developed a solution called Curio, which is essentially a library of real design styles presented in a format that a machine can understand. Curio's core insight is simple yet powerful: a design style consists of tokens (color families, type families, scale, spacing ramp, radii, shadow/elevation, and motion timing), components (how specific UI elements like buttons, cards, inputs, and nav bars look in this design language), and rules (the \"always\" and \"never\" guidelines). By encoding a design style in this way—tokens, component specifications, and an explicit list of values to avoid—the model can interpolate within a fixed, internally-consistent set of values instead of merely guessing.\n\nEach style in Curio is contained in a DESIGN.md file, written in markdown with YAML frontmatter, which a model can consume in one go. This approach transforms a design catalog into machine-readable data. For instance, an excerpt from a Swiss International Style style package includes the necessary tokens and values, such as the font (Helvetica Neue, Inter, sans-serif), color palette (ink, paper, and accent), type family, scale, and rules (like adhering to a strict baseline grid and using only one type weight).\n\nThe most intriguing aspect of Curio is how it is published for agents rather than for human consumption. An agent tasked with designing a deck in the style of a 1980s arcade should be able to discover a suitable design style and fetch its tokens automatically—without any human intervention. To achieve this, Curio publishes its catalog in a format akin to how one would publish for a crawler. This includes an llms.txt file that explains how to apply a style, llms-full.txt listing each style with a brief description and URL, and an open index.json containing the entire catalog as structured data. This approach is cost-effective, easy to maintain, and changes the product's focus to serve agents more efficiently.\n\nPublishing design styles in this agent-first manner is not only efficient but also beneficial for search engine optimization (SEO) and discovery. Since AI search engines rely on structured, citable pages to provide accurate information, Curio's styles come with server-rendered pages featuring specifications, schema markup, and stable URLs. This makes the catalog easily discoverable by AI engines like Perplexity or ChatGPT, which can then cite the sources accurately. In essence, designing for crawlers has the same requirements as designing for models, just with a higher bar.",
  "summary": "Ask any LLM to \"make this landing page look like a high-end Swiss design studio\" and you'll get something that gestures at the idea — a sans-serif font, some whitespace, maybe a red accent because it half-remembers Müller-Brockmann. It looks AI-generated because it is. The model has read a billion words about design but has no grounded, reusable representation of what \"Swiss International Style\"…",
  "key_points": [],
  "editors_take": null,
  "illustration": null,
  "coverage": {
    "outlets": 1,
    "also_reported_by": []
  },
  "ai_generated": true,
  "disclaimer": "Summaries, key points and the editor’s take are written by software from other outlets’ reporting and may contain errors — always check the linked original."
}