Modul praktis Level 2 VibeKoding: Spesifikasi UI & Desain Multi-Produk.Modul praktis Level 2 VibeKoding: Spesifikasi UI & Desain Multi-Produk.
Many people say "I want the page to look more like Apple" or "I want the buttons to feel more premium," but when they actually start working, they often get stuck on one question:Many people say "I want the page to look more like Apple" or "I want the buttons to feel more premium," but when they actually start working, they often get stuck on one question:
What exactly should I reference?What exactly should I reference?
Staring at screenshots and copying them only teaches you whether something "looks similar." But when you open the design guidelines from Apple, Google, Microsoft, and Atlassian, you realize that what makes them impressive is not their visual style -- it's that they clearly articulate design problems: what to highlight first on a page, how to rank buttons, how to emphasize actions. These judgment criteria are the real core.Staring at screenshots and copying them only teaches you whether something "looks similar." But when you open the design guidelines from Apple, Google, Microsoft, and Atlassian, you realize that what makes them impressive is not their visual style -- it's that they clearly articulate design problems: what to highlight first on a page, how to rank buttons, how to emphasize actions. These judgment criteria are the real core.
> Referencing design guidelines is not about making something "look like someone else's work" -- it's about learning how others make design decisions.> Referencing design guidelines is not about making something "look like someone else's work" -- it's about learning how others make design decisions.
Design rules have already been trained into models, absorbed as defaults in design tools, and AI can even learn from a few screenshots. But it's still worth understanding where these rules come from and why they were defined this way.Design rules have already been trained into models, absorbed as defaults in design tools, and AI can even learn from a few screenshots. But it's still worth understanding where these rules come from and why they were defined this way.
If you used to think "design guidelines are just about style," read a few lines from the official sources first.If you used to think "design guidelines are just about style," read a few lines from the official sources first.
In everyday team discussions, we often say things like:In everyday team discussions, we often say things like:
That sounds fine, but in major design guidelines, these terms are not vague concepts -- they are broken down in great detail.That sounds fine, but in major design guidelines, these terms are not vague concepts -- they are broken down in great detail.
| What we casually say | Official source | In short |
|---|---|---|
| "Make a menu" | Apple: ["A menu reveals its options..."](https://developer.apple.com/design/human-interface-guidelines/menus) | Menu is for triggering actions |
| "Put features in the menu bar" | Apple: ["menu bar menus contain all the commands..."](https://developer.apple.com/design/human-interface-guidelines/menus) | This is the app-level command menu at the top |
| "Make a dropdown" | Apple: ["A pop-up list lets the user choose one option among several."](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/MenuList/Articles/ManagingPopUpItems.html) | pop-up is for picking one value from a list |
| "Also make a dropdown" | Apple: ["A pull-down list is generally used for selecting commands in a specific context."](https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/MenuList/Articles/ManagingPopUpItems.html) | pull-down is for triggering a context-specific command |
| "Can't a menu also be used for filtering?" | Fluent: ["If you need to collect information from people, try a select, dropdown, or combobox instead."](https://fluent2.microsoft.design/components/web/react/core/menu/usage) | Menu is not for value selection |
| "Can't a menu be used for navigation?" | Material: ["Menus should not be used as a primary method for navigation within an app."](https://m1.material.io/components/menus.html) | Menu is not for primary navigation |
| "Just write OK / Cancel on the buttons" | Apple: ["Always use 'Cancel' to title a button that cancels the alert's action."](https://developer.apple.com/design/human-interface-guidelines/alerts) | Button labels shouldn't be arbitrary |
> All the quotes in the table are clickable and will take you to the corresponding official page.> All the quotes in the table are clickable and will take you to the corresponding official page.
This is what strikes people most when they read design guidelines for the first time:This is what strikes people most when they read design guidelines for the first time:
> We often think we're discussing UI, but most of the time we're just communicating with a bunch of vague words.> We often think we're discussing UI, but most of the time we're just communicating with a bunch of vague words.
Apple won't just say "make a menu"; it goes on to distinguish:Apple won't just say "make a menu"; it goes on to distinguish:
menumenumenu bar menumenu bar menupop-up buttonpop-up buttonpull-down buttonpull-down buttoncontext menucontext menuFluent won't just say "dropdown"; it goes on to distinguish:Fluent won't just say "dropdown"; it goes on to distinguish:
menumenudropdowndropdownselectselectcomboboxcomboboxThis is why design guidelines are necessary.This is why design guidelines are necessary.
They exist not to make pages look more professional, but so that when a team discusses UI, everyone isn't picturing something different.They exist not to make pages look more professional, but so that when a team discusses UI, everyone isn't picturing something different.
After reading the excerpts above, you'll notice a key point:After reading the excerpts above, you'll notice a key point:
Design guidelines are not icing on the cake -- they start by getting the terminology right.Design guidelines are not icing on the cake -- they start by getting the terminology right.
Many pages don't look good not because the color palette isn't sophisticated enough, but because the information hierarchy is chaotic.Many pages don't look good not because the color palette isn't sophisticated enough, but because the information hierarchy is chaotic.
Many buttons aren't usable not because the border radius is wrong, but because:Many buttons aren't usable not because the border radius is wrong, but because:
Mature design guidelines exist precisely to solve these problems. They typically define:Mature design guidelines exist precisely to solve these problems. They typically define:
| Guideline content | What problem it solves |
|---|---|
| Page hierarchy | Where to look first, where to look next, how to organize information |
| Visual foundations | How to unify color, spacing, typography, border radius, shadows |
| Button hierarchy | How to distinguish primary, secondary, text, and destructive buttons |
| State rules | How to represent hover, focus, disabled, loading states |
| Interaction semantics | Which button means "confirm," which means "cancel," which means "more actions" |
So what design guidelines really provide is not a "skin" but a set of judgment criteria.So what design guidelines really provide is not a "skin" but a set of judgment criteria.
What's most worth learning from Apple is not just its visual restraint, but how it defines concepts in fine detail.What's most worth learning from Apple is not just its visual restraint, but how it defines concepts in fine detail.
For what many teams casually call "menu" or "dropdown," Apple breaks it down further:For what many teams casually call "menu" or "dropdown," Apple breaks it down further:
menu: A set of commands, options, or statesmenu: A set of commands, options, or statesmenu bar menu: An app-level command collectionmenu bar menu: An app-level command collectionpop-up button: Choose one valuepop-up button: Choose one valuepull-down button: Trigger a command in the current contextpull-down button: Trigger a command in the current contextcontext menu: Common actions related to the current object or taskcontext menu: Common actions related to the current object or taskThis distinction is crucial because it directly affects:This distinction is crucial because it directly affects:
When you start thinking at this level of granularity, the pages you design will suddenly become much clearer.When you start thinking at this level of granularity, the pages you design will suddenly become much clearer.
Apple's Human Interface Guidelines are particularly good for learning two things:Apple's Human Interface Guidelines are particularly good for learning two things:
Apple emphasizes Hierarchy, Harmony, and Consistency. This means when designing a page, you need to answer:Apple emphasizes Hierarchy, Harmony, and Consistency. This means when designing a page, you need to answer:
If you reference Apple for page design, focus on:If you reference Apple for page design, focus on:
Material Design is great for learning "how pages organize task flows."Material Design is great for learning "how pages organize task flows."
Many of its components and layout guidelines are designed to help you clarify:Many of its components and layout guidelines are designed to help you clarify:
If you reference Material for page design, focus on:If you reference Material for page design, focus on:
Fluent 2 is well-suited for admin panels, tool-type products, and complex form systems. What's most worth learning is that it directly tells you "don't mix concepts."Fluent 2 is well-suited for admin panels, tool-type products, and complex form systems. What's most worth learning is that it directly tells you "don't mix concepts."
For example, it explicitly states: if you want to "collect information," don't keep using menu; instead, consider select, dropdown, or combobox.For example, it explicitly states: if you want to "collect information," don't keep using menu; instead, consider select, dropdown, or combobox.
This statement is important because it shatters the "they're all basically the same" assumption many people hold.This statement is important because it shatters the "they're all basically the same" assumption many people hold.
Fluent 2 also emphasizes:Fluent 2 also emphasizes:
If you reference Fluent for button design, focus on:If you reference Fluent for button design, focus on:
Primary button for the most important action in the current contextPrimary button for the most important action in the current contextSecondary button for supporting actionsSecondary button for supporting actionsSubtle and Transparent low-emphasis buttons for actions that shouldn't compete with the main flowSubtle and Transparent low-emphasis buttons for actions that shouldn't compete with the main flowThe Atlassian Design System is especially suited for situations where "one team builds many pages." It emphasizes:The Atlassian Design System is especially suited for situations where "one team builds many pages." It emphasizes:
If you reference Atlassian for pages and buttons, the most valuable aspects are:If you reference Atlassian for pages and buttons, the most valuable aspects are:
When you look at a design system, don't start by asking "does this page look good?" Instead, start by asking the following questions.When you look at a design system, don't start by asking "does this page look good?" Instead, start by asking the following questions.
A page typically needs at least three layers:A page typically needs at least three layers:
If the three layers aren't differentiated, the page becomes "everything is important," which means "nothing is important."If the three layers aren't differentiated, the page becomes "everything is important," which means "nothing is important."
When referencing guidelines, pay special attention to:When referencing guidelines, pay special attention to:
Many pages show 6 buttons at a glance, and every one looks like a CTA -- this is a classic case of hierarchy breakdown.Many pages show 6 buttons at a glance, and every one looks like a CTA -- this is a classic case of hierarchy breakdown.
A more reasonable approach is:A more reasonable approach is:
Buttons are the easiest part to "just throw together," but they're also the part that most reveals whether a design system is mature.Buttons are the easiest part to "just throw together," but they're also the part that most reveals whether a design system is mature.
Don't start by thinking "blue button or black button." First think about what role this button plays.Don't start by thinking "blue button or black button." First think about what role this button plays.
Common button roles can be classified as:Common button roles can be classified as:
| Button type | Purpose | Common style strategy |
|---|---|---|
| Primary | The most critical action in the current section | Filled, high contrast, most prominent |
| Secondary | Supporting actions | Outlined or lower emphasis |
| Tertiary / Text | Minor actions | Text-only or low visual weight |
| Destructive | Risky actions like delete, disable, clear | Warning color or explicit risk styling |
| Icon button | Local tool actions | Minimal, close to context |
This is the most common trap for beginners.This is the most common trap for beginners.
If a page has 4 primary buttons, then there are effectively no primary buttons. The whole point of a primary button is to "tell the user what they should do right now."If a page has 4 primary buttons, then there are effectively no primary buttons. The whole point of a primary button is to "tell the user what they should do right now."
You can borrow the common approach used across many design systems:You can borrow the common approach used across many design systems:
Design guidelines typically spell out button states clearly:Design guidelines typically spell out button states clearly:
This matters because a button is not a static image -- it's one of the most frequently triggered controls during user interaction.This matters because a button is not a static image -- it's one of the most frequently triggered controls during user interaction.
Button labels aren't just a "copywriting issue" -- they directly affect user comprehension.Button labels aren't just a "copywriting issue" -- they directly affect user comprehension.
For example:For example:
SaveSaveSave ChangesSave ChangesPublish NowPublish NowDelete ProjectDelete ProjectMove to TrashMove to TrashThese labels convey completely different psychological expectations. Mature guidelines typically require button labels to clearly express the action rather than using vague wording.These labels convey completely different psychological expectations. Mature guidelines typically require button labels to clearly express the action rather than using vague wording.
When designing pages yourself, you can quickly run through this checklist first:When designing pages yourself, you can quickly run through this checklist first:
This section is the most practical.This section is the most practical.
When many people ask AI to design a page, they only say:When many people ask AI to design a page, they only say:
md Make me a settings page, make it look premium, reference Apple's style
This kind of prompt is too vague, and AI usually ends up just imitating "white background, rounded corners, shadows."This kind of prompt is too vague, and AI usually ends up just imitating "white background, rounded corners, shadows."
For beginners, a more practical approach is not to summarize everything yourself, but to directly paste key sentences from the official guidelines to AI.For beginners, a more practical approach is not to summarize everything yourself, but to directly paste key sentences from the official guidelines to AI.
This has two benefits:This has two benefits:
First, find a sentence from Apple's official text:First, find a sentence from Apple's official text:
> ["Establish a clear visual hierarchy..."](https://developer.apple.com/design/human-interface-guidelines/)> ["Establish a clear visual hierarchy..."](https://developer.apple.com/design/human-interface-guidelines/)
You can paste it directly to AI like this:You can paste it directly to AI like this:
md Reference this sentence from the Apple Human Interface Guidelines: "Establish a clear visual hierarchy..." Help me design an account security settings page. The page hierarchy should be clear, important information first, and groupings should be tidy.
The key here is: you don't need to explain too much yourself; just paste Apple's original words directly.The key here is: you don't need to explain too much yourself; just paste Apple's original words directly.
First, find a sentence from Fluent's official text:First, find a sentence from Fluent's official text:
> ["Only use one primary button in a layout..."](https://fluent2.microsoft.design/components/web/react/core/button/usage)> ["Only use one primary button in a layout..."](https://fluent2.microsoft.design/components/web/react/core/button/usage)
You can paste it directly to AI like this:You can paste it directly to AI like this:
md Reference this sentence from Fluent 2: "Only use one primary button in a layout..." Help me design the buttons for a team management admin panel. The "Add Member" button should be most prominent; Export, Filter, and More Actions should be lower emphasis; the Delete button should stand out separately.
This sentence is especially great for beginners because it directly tells AI: don't put too many primary buttons in one area.This sentence is especially great for beginners because it directly tells AI: don't put too many primary buttons in one area.
You can also paste two original sentences at once and have AI reference both the page and button guidelines:You can also paste two original sentences at once and have AI reference both the page and button guidelines:
> Apple: ["Establish a clear visual hierarchy..."](https://developer.apple.com/design/human-interface-guidelines/)> Apple: ["Establish a clear visual hierarchy..."](https://developer.apple.com/design/human-interface-guidelines/)
>>
> Fluent: ["Only use one primary button in a layout..."](https://fluent2.microsoft.design/components/web/react/core/button/usage)> Fluent: ["Only use one primary button in a layout..."](https://fluent2.microsoft.design/components/web/react/core/button/usage)
Then write it like this:Then write it like this:
md Reference the following two design guideline excerpts: Apple: "Establish a clear visual hierarchy..." Fluent: "Only use one primary button in a layout..." Help me design a project detail page. The page includes project introduction, members, recent activity, and settings entry. The page hierarchy should be clear, keep only one primary button, and make other buttons less prominent.
This approach is especially suitable for beginners because all you need to do is copy the original text and add a couple of sentences about your own requirements.This approach is especially suitable for beginners because all you need to do is copy the original text and add a couple of sentences about your own requirements.
If you just want to start with buttons, you can also directly paste button guideline excerpts.If you just want to start with buttons, you can also directly paste button guideline excerpts.
For example, Atlassian's definition of a button is very brief:For example, Atlassian's definition of a button is very brief:
> ["A button triggers an event or action."](https://atlassian.design/components/button/)> ["A button triggers an event or action."](https://atlassian.design/components/button/)
You can ask AI like this:You can ask AI like this:
md Reference this sentence from Atlassian: "A button triggers an event or action." Help me design a set of button styles for an admin panel. I need a primary button, a secondary button, and a delete button. Also tell me where each should be used.
This kind of prompt is especially suitable for beginners -- it's basically "paste original text + state your requirements."This kind of prompt is especially suitable for beginners -- it's basically "paste original text + state your requirements."
When designing pages and buttons by referencing UI design guidelines, the most important thing is not "making it look like someone else's work" but learning the following:When designing pages and buttons by referencing UI design guidelines, the most important thing is not "making it look like someone else's work" but learning the following:
When you use guidelines this way, you're not just referencing a style -- you're adopting a mature way of thinking about design.When you use guidelines this way, you're not just referencing a style -- you're adopting a mature way of thinking about design.
------
The following links are all from official design systems or official documentation:The following links are all from official design systems or official documentation: