Your AI UI Looks Generic… This Fixes It (DESIGN.md)

BBetter Stack
Computing/SoftwareSmall Business/StartupsPhotography/ArtInternet Technology

Transcript

00:00:00AI coding tools are getting scary good. Cursor, Claude Code, V0. You can go from an idea to a
00:00:06working app in minutes, but then you open the UI and it just looks off. The code works, but the UI
00:00:12still feels really cheap. Now compare that to Stripe, Linear, Vercel, really any big platform.
00:00:17So what are they doing differently? It's just one simple file. It's called DesignMD,
00:00:22and Google just open sourced it. I'll show you how to inject this in your code in just a couple minutes.
00:00:30Now, DesignMD is a plain markdown file that tells AI agents how your product should feel
00:00:38and look. Colors, fonts, spacing, buttons, layout rules, accessibility notes, everything. So instead
00:00:45of guessing your brand, the AI reads the file and follows it. There's no Figma export, no JSON mess.
00:00:52There's no 10 paragraph prompt that I need to do every time to get perfect. Google open sourced it
00:00:57on April 21st, and within just a couple of weeks, it's already blown up on GitHub to well over
00:01:0270,000 stars. If you enjoy coding tools and tips that speed up your workflow, be sure to subscribe.
00:01:08We have videos coming out all the time. All right, now this is really cool. Let me show you why this
00:01:12actually modders. Okay, I'm going to go with the same prompt here. Build a modder and a dashboard.
00:01:18First, there is no DesignMD file. It generates, and yeah, this is a classic AI dashboard.
00:01:24Technically works, right? But it has default tailwind energy. It just looks like it. Random
00:01:30buttons. We have our generic cards here. There's no real identity to anything you're actually
00:01:35building out. Now, if I run the same prompt again, but this time I add a Stripe style DesignMD file,
00:01:42or really any DesignMD file you want for another brand, and look at the difference. The colors line
00:01:48up. The spacing feels cleaner. The buttons look like they actually belong together. The whole screen
00:01:54has a point of view. Same AI, same prompt, but now it's different context. Without DesignMD, the AI is
00:02:02guessing. What should the site look like? With DesignMD, the AI has rules based on other proven
00:02:08platforms that already look really good. So what's actually inside this file? Think of it like a
00:02:14design system the AI can read. At the top, you usually have structured tokens. Stuff like exact
00:02:21hex colors, font families, border radius, spacing. These are hard rules, but the important part is
00:02:27what comes after that. Markdown. This is where you explain the intent. Not just use this blue color,
00:02:34but this blue is the primary accent and it should feel clear and trustworthy. That matters because
00:02:40AI doesn't just need numbers. It needs judgment. A good DesignMD usually covers color palette,
00:02:47typography, components, layouts, accessibility. So the AI gets two things at once. The exact values
00:02:54and the reason behind them. And that is why the output stops drifting away from what we're
00:03:00actually trying to go for. Now the obvious question is, do we really need another design system format?
00:03:05We already have Figma, we already have JSON tokens, and we already have cursor rules and ClaudeMD.
00:03:11But each one of these solves a different problem. Figma is a UI. It's great for humans, but it
00:03:18usually lives outside the repo. JSON tokens are great for machines, but they do not explain our
00:03:25taste for the website or the intent we're going after. Cursor rules and ClaudeMD tell the agent
00:03:31how to behave, but they're not really a design system. DesignMD sits in all of this. It's human
00:03:38readable. It's also at the same time machine readable. It's version controlled and agent
00:03:44native. That's the big change here. Your design system is no longer trapped in a design tool.
00:03:49It lives right next to your code within this markdown file. And this is why it's blown up in
00:03:54just two weeks and devs are paying attention. The community repo is now over 70,000 stars,
00:03:59right? That's super fast. People are sharing DesignMD files for Linear, Stripe, Notion,
00:04:04and Vercel, and the reason behind it is simple. Nobody wants to keep typing, make it clean,
00:04:09make it modern, use better spacing, make it more like this website. Come on, that gets old so fast.
00:04:16With DesignMD, you stop repeating yourself. You give the AI the design rules once, then every screen
00:04:23starts from the same foundation. That's the real win here. The design across all screens speed.
00:04:29There's less rework. There's less fixing the same ugly button for the 10th time.
00:04:34All right, now honest take here. It's not perfect. It's a great start, right? But it is
00:04:39one file. It lives in your repo. It works across tools. It includes accessibility guidance and
00:04:44setup is basically zero, which is great. Super easy to drop in. Also, the file is only good at what you
00:04:51put in it. A weak DesignMD is obviously going to give you a weak output, but for solo devs,
00:04:57prototypes, AI heavy workflows, this is a really practical upgrade. So should you use it? Yeah,
00:05:02probably so. Especially if you're already building with cursor, Clod Code, V0. Start with a template
00:05:08from the awesome repo. It's in the description. Drop it in your project, then customize it for
00:05:13your own site, your own brand. Your goal is not to make the AI creative. Your goal is to stop making
00:05:20it guess because once the rules are clear, the UI is going to get more consistent and your app starts
00:05:25to feel less like an AI demo and more like a real product. If you enjoy coding tools and tips like
00:05:31this, be sure to subscribe to the Better Stack channel. We'll see you in another video.

Key Takeaway

Integrating a Design.md file into a code repository replaces repetitive prompting and manual UI fixes with a machine-readable design system that ensures AI-generated apps maintain brand consistency.

Highlights

  • Google open sourced Design.md on April 21st, 2024, and the repository reached over 70,000 stars within two weeks.

  • A Design.md file uses structured tokens like hex codes and font families alongside markdown descriptions to convey both values and design intent.

  • This format eliminates the need for 10-paragraph prompts by providing AI agents with a persistent design system directly in the code repository.

  • Standard AI UI outputs often suffer from default tailwind energy and generic cards without a specific Design.md guide.

  • The repository includes community-shared Design.md files for established brands like Stripe, Linear, Notion, and Vercel.

Timeline

The problem with generic AI-generated interfaces

  • AI coding tools like Cursor, Claude Code, and V0 generate functional apps in minutes.
  • Resulting user interfaces often feel cheap or visually off compared to platforms like Stripe or Linear.

While the underlying logic of AI-generated applications works, the visual output lacks professional polish. Large-scale platforms maintain a distinct feel that generic AI tools cannot replicate without specific guidance. This gap between functional code and aesthetic quality is bridged by a simple open-source file called Design.md.

Structure and mechanics of Design.md

  • Design.md is a plain markdown file that provides rules for colors, fonts, spacing, and accessibility.
  • The repository achieved 70,000 stars on GitHub within 14 days of its April 21st release.
  • AI agents read this file to avoid guessing brand identities during the generation process.

The file format avoids the complexity of Figma exports or large JSON files. It functions as a direct injection of context for AI agents, ensuring they follow specific layout and component rules. Its rapid adoption on GitHub indicates a strong developer demand for standardized design instructions in AI-heavy workflows.

Visual comparison of guided vs. unguided generation

  • Standard prompts produce dashboards with generic tailwind components and random button placements.
  • Applying a Stripe-style Design.md file aligns colors and improves spacing consistency.
  • Identical prompts yield different results based solely on the presence of design context.

Without a design file, the AI defaults to basic patterns that lack identity. Adding a Design.md file forces the AI to adopt a specific point of view, making buttons and cards look like they belong together. The difference lies in providing the AI with a proven foundation rather than allowing it to guess the desired aesthetic.

Technical components of a design system file

  • Structured tokens at the top of the file define exact hex colors and border radii.
  • Markdown sections explain the emotional intent and usage reasons for specific primary accents.
  • AI requires both numerical values and human judgment to prevent visual drift.

A comprehensive Design.md covers typography, components, layouts, and accessibility. By combining hard rules like hex codes with descriptive intent, the AI understands not just what color to use, but why it serves as the primary accent. This dual approach provides the judgment necessary for the AI to make consistent design decisions.

Comparison with existing design formats

  • Figma is built for human designers but typically lives outside the code repository.
  • JSON tokens are machine-readable but fail to convey taste or intent.
  • Design.md is agent-native and lives alongside the code for version control.

Traditional tools like Figma or JSON tokens solve different problems, such as visual prototyping or data transfer. Design.md fills the gap by being both human-readable and machine-readable while staying inside the repo. This proximity reduces rework and stops developers from repeatedly typing instructions to make an interface clean or modern.

Practical implementation for developers

  • Setup involves zero configuration as the file is simply dropped into the project.
  • The effectiveness of the output depends entirely on the quality of the rules defined in the file.
  • Using templates for Linear or Notion provides an immediate foundation for prototypes.

Design.md is particularly effective for solo developers and AI-heavy workflows. While a weak file results in a weak UI, starting with established templates allows for rapid customization. Clear rules transform an app from an AI demo into a real product by removing the AI's need for creative guesswork.

Community Posts

View all posts