The 37signals Approach to UX, UI, and Copy skill

- Copywriting as Product Design

by wondelai·MIT license·★ 2,235 Stars on the repo·GitHub ↗

Use now

Files of The 37signals Approach to UX, UI, and Copy

wondelai/main1 file
ux-ui-copy.md
Show the full text265 lines

The 37signals Approach to UX, UI, and Copy

Table of Contents

Design Philosophy

The 37signals design philosophy rests on a single conviction: design is not decoration. Design is how it works. Every pixel, every word, every interaction is a product decision. The goal is not to make software that looks beautiful in a screenshot — it is to make software that feels obvious in use.

This means design starts with the problem, not the screen. Before asking "What should this look like?", ask "What is the user trying to do, and what is the fastest path to doing it?" The answer shapes everything: the layout, the copy, the interactions, and — critically — what is not on the screen.

The three design principles:

  1. Clarity over cleverness. A clever interface that confuses users is a failed interface. A boring interface that gets the job done is a successful one.
  2. Reduction over addition. When a screen is not working, the first instinct should be to remove elements, not add them. Most design problems are caused by too much, not too little.
  3. Convention over innovation. Use standard patterns (links look like links, buttons look like buttons, forms work like forms) unless there is a compelling reason not to. Innovation for its own sake is a cost, not a benefit.

UX Principles

Start with the Core Job

Every screen in the product should serve a clear purpose connected to the user's core job. If you cannot articulate what the user is trying to accomplish on a screen, the screen should not exist.

The one-screen test: Can you describe what the user does on this screen in one sentence? If you need two sentences, the screen is doing too much. Split it or simplify it.

Examples:

  • "The user sees all their projects and opens one." (Projects list — clear purpose)
  • "The user writes a message to their team." (Message composer — clear purpose)
  • "The user sees their dashboard with activity feed, upcoming deadlines, team status, notifications, and quick actions." (Dashboard — doing too much; simplify)
Reduce to the Essence

For every element on the screen, ask: "If I remove this, does the user fail at their task?" If the answer is no, remove it. Start with the minimum viable screen and add only what is proven necessary.

The removal checklist:

Element Keep If Remove If
Navigation item User needs it at least weekly It serves < 10% of users or is accessible from another path
Form field Data is required to complete the task Data is "nice to have" or can be inferred
Confirmation dialog Action is destructive and irreversible Action is easily undone
Tooltip or help text The UI element is genuinely confusing Better solution: rename the element so it is self-explanatory
Loading indicator Operation takes > 1 second Operation is instant
Success notification User needs confirmation to proceed The result of the action is already visible on screen
Design for the Happy Path First

Design the screen for the most common scenario first. Get that working perfectly. Then handle edge cases, empty states, and error states. Most users will experience the happy path most of the time — invest your design energy proportionally.

Priority order for design attention:

  1. The happy path (80% of user time)
  2. Empty states (first-time experience)
  3. Error states (things that go wrong)
  4. Edge cases (unusual but valid scenarios)
  5. Power user features (requested by few, used by fewer)
Make Navigation Obvious

Users should always know where they are, how they got there, and how to get back. This sounds basic because it is — and yet most software fails at it. The 37signals approach: use clear breadcrumbs, descriptive page titles, and consistent navigation patterns. Never make the user guess where they are.

UI Design Approach

Build in the Browser

The 37signals approach to UI design is to build in the browser from day one. This means HTML and CSS, not Figma or Sketch. The browser is the final medium — designing in an intermediate tool and then translating is waste.

Why browser-first design works:

  • Real interactions. You can click, scroll, and type. You discover interaction problems immediately.
  • Real constraints. Browser rendering, responsive behavior, and performance are immediate. No surprises at implementation time.
  • Real content. Using real data instead of lorem ipsum reveals length issues, truncation needs, and content hierarchy problems.
  • No handoff. The "design" and the "implementation" are the same artifact. Nothing is lost in translation.

What this does not mean: It does not mean the designer must write production-quality code. It means the designer works in HTML/CSS (possibly with a programmer pairing) to create the real interface. The code may be rough — it gets refined during the cycle.

Visual Hierarchy Through Weight, Not Decoration

The 37signals UI style relies on content hierarchy achieved through font weight, size, color contrast, and whitespace — not through borders, backgrounds, shadows, or decorative elements.

Hierarchy tools (in order of preference):

  1. Font size. Bigger = more important. Simple and universal.
  2. Font weight. Bold = emphasis. Use sparingly — if everything is bold, nothing is.
  3. Color contrast. High contrast (black text) = primary. Low contrast (gray text) = secondary. One accent color for interactive elements.
  4. Whitespace. Generous spacing groups related elements and separates unrelated ones. Whitespace is not empty space — it is a design element.
  5. Position. Top-left is where the eye goes first (in LTR languages). Put the most important thing there.

What to avoid:

  • Excessive borders and dividers — use whitespace to separate instead
  • Background colors on every section — reserve background color for meaningful distinction
  • Shadow on every card — use shadow sparingly to create meaningful depth
  • Icon overuse — icons without labels are ambiguous; use text labels
Responsive as Reduction

When designing for smaller screens, the 37signals approach is not "rearrange everything to fit" but "remove what is not essential at this size." A mobile interface is not a shrunk desktop interface — it is a simpler interface that serves the most common mobile use cases.

Mobile reduction principles:

  • Show only the primary action, not all available actions
  • Use full-screen flows instead of modals or sidebars
  • Reduce navigation to essential items only
  • Prioritize reading and quick actions over complex editing
  • Accept that some features are desktop-only — that is okay
Use Standard Components

Do not invent custom UI components when standard ones exist. A standard dropdown, a standard checkbox, a standard text input — users already know how these work. Custom components carry a learning cost.

When custom components are justified:

  • The standard component genuinely cannot serve the use case (rare)
  • The custom component is dramatically simpler than the standard alternative
  • The custom component is used repeatedly throughout the product (worth the investment)

When custom components are not justified:

  • "It looks cooler" — users do not care about cool; they care about familiar
  • "It matches our brand" — brand is expressed through content and tone, not through reinventing checkboxes
  • "The designer wanted it" — design serves users, not designers' portfolios

Copywriting as Product Design

At 37signals, interface copy is not an afterthought — it is a core design element. The words on the screen shape user expectations, guide behavior, and build (or erode) trust. Copy is written by the people who design and build the product, not by a separate copywriting team.

The Copy Rules

1. Use the fewest words possible. Every word on the screen competes for the user's attention. Remove words that do not earn their place.

Wordy Concise
"Click the button below to save your changes" "Save" (button label)
"Are you sure you want to delete this item? This action cannot be undone." "Delete this? It can't be undone."
"You have successfully completed the setup process." "You're all set."
"In order to proceed, please enter your email address in the field below." "Email" (field label)

2. Use the simplest words possible. Write at a 6th-grade reading level. Not because users are unsophisticated, but because simple words are processed faster by everyone, including experts.

Complex Simple
"Utilize" "Use"
"Terminate" "End"
"Configure" "Set up"
"Authenticate" "Sign in"
"Facilitate" "Help"
"Leverage" "Use"

3. Be specific, not abstract. Tell the user exactly what will happen, not what category of thing will happen.

Abstract Specific
"Manage your account" "Change your name, email, or password"
"Enhanced collaboration features" "Invite your team and share files"
"Optimize your workflow" "Send automatic reminders when tasks are due"

4. Write how you talk. Read your copy aloud. If it sounds robotic or stilted, rewrite it. Interface copy should sound like a helpful colleague, not a legal document.

5. Be honest about what is happening. If something will take time, say so. If there are limitations, disclose them. If something went wrong, explain what happened. Never use vague language to hide bad news.

Error Messages as Conversations

Error messages are the most neglected and most important copy in any application. A user encountering an error is frustrated — the error message is your chance to help them or abandon them.

The error message formula:

  1. What happened (in plain language)
  2. Why it happened (if the user can understand the cause)
  3. What to do next (specific action the user can take)

Examples:

Bad Good
"Error 422: Unprocessable Entity" "That email address is already in use. Try signing in instead?"
"An unexpected error occurred" "Something went wrong on our end. Try again in a few minutes."
"Invalid input" "Names can only contain letters and spaces."
"Request failed" "We couldn't reach the server. Check your connection and try again."
Empty States as Onboarding

An empty state (a screen with no content yet) is not an error — it is an opportunity. It is the user's first encounter with a feature, and it should teach them what to do next.

Good empty state pattern:

  1. A brief explanation of what this area is for (one sentence)
  2. A clear call to action (one button or link)
  3. Optionally, a short example of what the area looks like when populated

Example:

  • Bad empty state: "No items found."
  • Good empty state: "This is where your team's messages live. Post the first one?" [New Message button]

The Basecamp Design Process

The design process at 37signals integrates design thinking into every phase of the Shape Up cycle.

During shaping (before the cycle):

  • The shaper uses breadboards to map the core interaction flow
  • Fat marker sketches establish the general layout approach
  • Copy is drafted for key screens — labels, button text, primary messages
  • No pixel-level design work happens yet

During building (the cycle):

  • Days 1-3: The designer builds the core screen in HTML/CSS with real (or realistic) copy. The programmer connects it to data. The interface is ugly but functional.
  • Days 4-10: Design and code evolve together. The designer refines layout, typography, and spacing while the programmer implements functionality. They work on the same scopes.
  • Weeks 3-5: The interface takes its final shape. Copy is refined. Edge cases are designed as they are discovered. Scope decisions happen in real time.
  • Week 6: Polish. The team reviews every screen for consistency, clarity, and quality. Final copy review. Final visual review.

Design decisions are made in context: The designer does not design all screens up front and hand them off. They design each scope as it is built, making decisions with the full context of real data, real interactions, and real constraints.

Interface Patterns

Progressive Disclosure

Show the minimum necessary information first. Reveal more detail on demand. This keeps screens clean while still providing depth for users who need it.

Examples:

  • Show a list of tasks. Click a task to see its details, comments, and history.
  • Show a project summary. Expand sections to see individual metrics.
  • Show the primary form fields. Link to "Advanced options" for rarely-used settings.
Confirmation Through Visibility

Instead of showing a success toast or modal ("Item saved!"), make the result of the action visible in the interface itself. The user sees the item appear in the list, the status change, the content update. The interface is its own confirmation.

When explicit confirmation is needed:

  • Destructive actions (delete, cancel, remove)
  • Actions with delayed effects (email sent, payment processed)
  • Actions where the result is not immediately visible on the current screen
One Primary Action per Screen

Every screen should have one primary action — the thing the user is most likely to do. Make it visually prominent. Secondary actions can exist but should be visually subordinate.

How to implement:

  • One button with the primary style (colored, prominent)
  • Secondary actions as text links or muted buttons
  • Destructive actions in a separate area or behind a menu

Anti-Patterns

These are common UI/UX patterns that violate the 37signals approach:

Anti-Pattern Why It Fails 37signals Alternative
Dashboard with 12 widgets Overwhelms; users ignore most of it Show one thing well; link to details
Wizard with 7 steps Too much friction for setup Ask the minimum; infer the rest
Modal upon modal Creates navigation confusion Use full pages for complex interactions
Tooltip on every element Signals that the UI is not self-explanatory Rename elements to be clear without help
"Are you sure?" for everything Creates modal fatigue; users click through without reading Only confirm destructive, irreversible actions
Custom scrollbars Breaks platform conventions; accessibility risk Use native scrollbars
Infinite configuration page Pushes decisions to users who do not want to make them Pick defaults; reduce options
Feature comparison table on pricing Overwhelms with complexity; induces analysis paralysis Simple plan descriptions focusing on the job each plan serves
Auto-playing animations Distracts from content; accessibility concern Static by default; animate only on interaction
Notification badges on everything Creates anxiety; trains users to ignore notifications Notify only for things that require action
1# The 37signals Approach to UX, UI, and Copy
2 
3## Table of Contents
4 
5- [Design Philosophy](#design-philosophy)
6- [UX Principles](#ux-principles)
7- [UI Design Approach](#ui-design-approach)
8- [Copywriting as Product Design](#copywriting-as-product-design)
9- [The Basecamp Design Process](#the-basecamp-design-process)
10- [Interface Patterns](#interface-patterns)
11- [Writing the Interface](#writing-the-interface)
12- [Anti-Patterns](#anti-patterns)
13 
14## Design Philosophy
15 
16The 37signals design philosophy rests on a single conviction: design is not decoration. Design is how it works. Every pixel, every word, every interaction is a product decision. The goal is not to make software that looks beautiful in a screenshot — it is to make software that feels obvious in use.
17 
18This means design starts with the problem, not the screen. Before asking "What should this look like?", ask "What is the user trying to do, and what is the fastest path to doing it?" The answer shapes everything: the layout, the copy, the interactions, and — critically — what is not on the screen.
19 
20**The three design principles:**
21 
221. **Clarity over cleverness.** A clever interface that confuses users is a failed interface. A boring interface that gets the job done is a successful one.
232. **Reduction over addition.** When a screen is not working, the first instinct should be to remove elements, not add them. Most design problems are caused by too much, not too little.
243. **Convention over innovation.** Use standard patterns (links look like links, buttons look like buttons, forms work like forms) unless there is a compelling reason not to. Innovation for its own sake is a cost, not a benefit.
25 
26## UX Principles
27 
28### Start with the Core Job
29 
30Every screen in the product should serve a clear purpose connected to the user's core job. If you cannot articulate what the user is trying to accomplish on a screen, the screen should not exist.
31 
32**The one-screen test:** Can you describe what the user does on this screen in one sentence? If you need two sentences, the screen is doing too much. Split it or simplify it.
33 
34**Examples:**
35- "The user sees all their projects and opens one." (Projects list — clear purpose)
36- "The user writes a message to their team." (Message composer — clear purpose)
37- "The user sees their dashboard with activity feed, upcoming deadlines, team status, notifications, and quick actions." (Dashboard — doing too much; simplify)
38 
39### Reduce to the Essence
40 
41For every element on the screen, ask: "If I remove this, does the user fail at their task?" If the answer is no, remove it. Start with the minimum viable screen and add only what is proven necessary.
42 
43**The removal checklist:**
44 
45| Element | Keep If | Remove If |
46|---------|---------|-----------|
47| Navigation item | User needs it at least weekly | It serves < 10% of users or is accessible from another path |
48| Form field | Data is required to complete the task | Data is "nice to have" or can be inferred |
49| Confirmation dialog | Action is destructive and irreversible | Action is easily undone |
50| Tooltip or help text | The UI element is genuinely confusing | Better solution: rename the element so it is self-explanatory |
51| Loading indicator | Operation takes > 1 second | Operation is instant |
52| Success notification | User needs confirmation to proceed | The result of the action is already visible on screen |
53 
54### Design for the Happy Path First
55 
56Design the screen for the most common scenario first. Get that working perfectly. Then handle edge cases, empty states, and error states. Most users will experience the happy path most of the time — invest your design energy proportionally.
57 
58**Priority order for design attention:**
591. The happy path (80% of user time)
602. Empty states (first-time experience)
613. Error states (things that go wrong)
624. Edge cases (unusual but valid scenarios)
635. Power user features (requested by few, used by fewer)
64 
65### Make Navigation Obvious
66 
67Users should always know where they are, how they got there, and how to get back. This sounds basic because it is — and yet most software fails at it. The 37signals approach: use clear breadcrumbs, descriptive page titles, and consistent navigation patterns. Never make the user guess where they are.
68 
69## UI Design Approach
70 
71### Build in the Browser
72 
73The 37signals approach to UI design is to build in the browser from day one. This means HTML and CSS, not Figma or Sketch. The browser is the final medium — designing in an intermediate tool and then translating is waste.
74 
75**Why browser-first design works:**
76 
77- **Real interactions.** You can click, scroll, and type. You discover interaction problems immediately.
78- **Real constraints.** Browser rendering, responsive behavior, and performance are immediate. No surprises at implementation time.
79- **Real content.** Using real data instead of lorem ipsum reveals length issues, truncation needs, and content hierarchy problems.
80- **No handoff.** The "design" and the "implementation" are the same artifact. Nothing is lost in translation.
81 
82**What this does not mean:** It does not mean the designer must write production-quality code. It means the designer works in HTML/CSS (possibly with a programmer pairing) to create the real interface. The code may be rough — it gets refined during the cycle.
83 
84### Visual Hierarchy Through Weight, Not Decoration
85 
86The 37signals UI style relies on content hierarchy achieved through font weight, size, color contrast, and whitespace — not through borders, backgrounds, shadows, or decorative elements.
87 
88**Hierarchy tools (in order of preference):**
89 
901. **Font size.** Bigger = more important. Simple and universal.
912. **Font weight.** Bold = emphasis. Use sparingly — if everything is bold, nothing is.
923. **Color contrast.** High contrast (black text) = primary. Low contrast (gray text) = secondary. One accent color for interactive elements.
934. **Whitespace.** Generous spacing groups related elements and separates unrelated ones. Whitespace is not empty space — it is a design element.
945. **Position.** Top-left is where the eye goes first (in LTR languages). Put the most important thing there.
95 
96**What to avoid:**
97 
98- Excessive borders and dividers — use whitespace to separate instead
99- Background colors on every section — reserve background color for meaningful distinction
100- Shadow on every card — use shadow sparingly to create meaningful depth
101- Icon overuse — icons without labels are ambiguous; use text labels
102 
103### Responsive as Reduction
104 
105When designing for smaller screens, the 37signals approach is not "rearrange everything to fit" but "remove what is not essential at this size." A mobile interface is not a shrunk desktop interface — it is a simpler interface that serves the most common mobile use cases.
106 
107**Mobile reduction principles:**
108 
109- Show only the primary action, not all available actions
110- Use full-screen flows instead of modals or sidebars
111- Reduce navigation to essential items only
112- Prioritize reading and quick actions over complex editing
113- Accept that some features are desktop-only — that is okay
114 
115### Use Standard Components
116 
117Do not invent custom UI components when standard ones exist. A standard dropdown, a standard checkbox, a standard text input — users already know how these work. Custom components carry a learning cost.
118 
119**When custom components are justified:**
120- The standard component genuinely cannot serve the use case (rare)
121- The custom component is dramatically simpler than the standard alternative
122- The custom component is used repeatedly throughout the product (worth the investment)
123 
124**When custom components are not justified:**
125- "It looks cooler" — users do not care about cool; they care about familiar
126- "It matches our brand" — brand is expressed through content and tone, not through reinventing checkboxes
127- "The designer wanted it" — design serves users, not designers' portfolios
128 
129## Copywriting as Product Design
130 
131At 37signals, interface copy is not an afterthought — it is a core design element. The words on the screen shape user expectations, guide behavior, and build (or erode) trust. Copy is written by the people who design and build the product, not by a separate copywriting team.
132 
133### The Copy Rules
134 
135**1. Use the fewest words possible.** Every word on the screen competes for the user's attention. Remove words that do not earn their place.
136 
137| Wordy | Concise |
138|-------|---------|
139| "Click the button below to save your changes" | "Save" (button label) |
140| "Are you sure you want to delete this item? This action cannot be undone." | "Delete this? It can't be undone." |
141| "You have successfully completed the setup process." | "You're all set." |
142| "In order to proceed, please enter your email address in the field below." | "Email" (field label) |
143 
144**2. Use the simplest words possible.** Write at a 6th-grade reading level. Not because users are unsophisticated, but because simple words are processed faster by everyone, including experts.
145 
146| Complex | Simple |
147|---------|--------|
148| "Utilize" | "Use" |
149| "Terminate" | "End" |
150| "Configure" | "Set up" |
151| "Authenticate" | "Sign in" |
152| "Facilitate" | "Help" |
153| "Leverage" | "Use" |
154 
155**3. Be specific, not abstract.** Tell the user exactly what will happen, not what category of thing will happen.
156 
157| Abstract | Specific |
158|----------|---------|
159| "Manage your account" | "Change your name, email, or password" |
160| "Enhanced collaboration features" | "Invite your team and share files" |
161| "Optimize your workflow" | "Send automatic reminders when tasks are due" |
162 
163**4. Write how you talk.** Read your copy aloud. If it sounds robotic or stilted, rewrite it. Interface copy should sound like a helpful colleague, not a legal document.
164 
165**5. Be honest about what is happening.** If something will take time, say so. If there are limitations, disclose them. If something went wrong, explain what happened. Never use vague language to hide bad news.
166 
167### Error Messages as Conversations
168 
169Error messages are the most neglected and most important copy in any application. A user encountering an error is frustrated — the error message is your chance to help them or abandon them.
170 
171**The error message formula:**
172 
1731. **What happened** (in plain language)
1742. **Why it happened** (if the user can understand the cause)
1753. **What to do next** (specific action the user can take)
176 
177**Examples:**
178 
179| Bad | Good |
180|-----|------|
181| "Error 422: Unprocessable Entity" | "That email address is already in use. Try signing in instead?" |
182| "An unexpected error occurred" | "Something went wrong on our end. Try again in a few minutes." |
183| "Invalid input" | "Names can only contain letters and spaces." |
184| "Request failed" | "We couldn't reach the server. Check your connection and try again." |
185 
186### Empty States as Onboarding
187 
188An empty state (a screen with no content yet) is not an error — it is an opportunity. It is the user's first encounter with a feature, and it should teach them what to do next.
189 
190**Good empty state pattern:**
191 
1921. A brief explanation of what this area is for (one sentence)
1932. A clear call to action (one button or link)
1943. Optionally, a short example of what the area looks like when populated
195 
196**Example:**
197- Bad empty state: "No items found."
198- Good empty state: "This is where your team's messages live. Post the first one?" [New Message button]
199 
200## The Basecamp Design Process
201 
202The design process at 37signals integrates design thinking into every phase of the Shape Up cycle.
203 
204**During shaping (before the cycle):**
205 
206- The shaper uses breadboards to map the core interaction flow
207- Fat marker sketches establish the general layout approach
208- Copy is drafted for key screens — labels, button text, primary messages
209- No pixel-level design work happens yet
210 
211**During building (the cycle):**
212 
213- **Days 1-3:** The designer builds the core screen in HTML/CSS with real (or realistic) copy. The programmer connects it to data. The interface is ugly but functional.
214- **Days 4-10:** Design and code evolve together. The designer refines layout, typography, and spacing while the programmer implements functionality. They work on the same scopes.
215- **Weeks 3-5:** The interface takes its final shape. Copy is refined. Edge cases are designed as they are discovered. Scope decisions happen in real time.
216- **Week 6:** Polish. The team reviews every screen for consistency, clarity, and quality. Final copy review. Final visual review.
217 
218**Design decisions are made in context:** The designer does not design all screens up front and hand them off. They design each scope as it is built, making decisions with the full context of real data, real interactions, and real constraints.
219 
220## Interface Patterns
221 
222### Progressive Disclosure
223 
224Show the minimum necessary information first. Reveal more detail on demand. This keeps screens clean while still providing depth for users who need it.
225 
226**Examples:**
227- Show a list of tasks. Click a task to see its details, comments, and history.
228- Show a project summary. Expand sections to see individual metrics.
229- Show the primary form fields. Link to "Advanced options" for rarely-used settings.
230 
231### Confirmation Through Visibility
232 
233Instead of showing a success toast or modal ("Item saved!"), make the result of the action visible in the interface itself. The user sees the item appear in the list, the status change, the content update. The interface is its own confirmation.
234 
235**When explicit confirmation is needed:**
236- Destructive actions (delete, cancel, remove)
237- Actions with delayed effects (email sent, payment processed)
238- Actions where the result is not immediately visible on the current screen
239 
240### One Primary Action per Screen
241 
242Every screen should have one primary action — the thing the user is most likely to do. Make it visually prominent. Secondary actions can exist but should be visually subordinate.
243 
244**How to implement:**
245- One button with the primary style (colored, prominent)
246- Secondary actions as text links or muted buttons
247- Destructive actions in a separate area or behind a menu
248 
249## Anti-Patterns
250 
251These are common UI/UX patterns that violate the 37signals approach:
252 
253| Anti-Pattern | Why It Fails | 37signals Alternative |
254|-------------|-------------|---------------------|
255| Dashboard with 12 widgets | Overwhelms; users ignore most of it | Show one thing well; link to details |
256| Wizard with 7 steps | Too much friction for setup | Ask the minimum; infer the rest |
257| Modal upon modal | Creates navigation confusion | Use full pages for complex interactions |
258| Tooltip on every element | Signals that the UI is not self-explanatory | Rename elements to be clear without help |
259| "Are you sure?" for everything | Creates modal fatigue; users click through without reading | Only confirm destructive, irreversible actions |
260| Custom scrollbars | Breaks platform conventions; accessibility risk | Use native scrollbars |
261| Infinite configuration page | Pushes decisions to users who do not want to make them | Pick defaults; reduce options |
262| Feature comparison table on pricing | Overwhelms with complexity; induces analysis paralysis | Simple plan descriptions focusing on the job each plan serves |
263| Auto-playing animations | Distracts from content; accessibility concern | Static by default; animate only on interaction |
264| Notification badges on everything | Creates anxiety; trains users to ignore notifications | Notify only for things that require action |
265 

Discussion

Alternatives

Make UI/UX better of an already Created ApplicationGenerate a comprehensive, actionable development plan to enhance the existing web application.Coding · CC0-1.0UX researcherUse this agent when you need to design user research plans, analyze user-supplied data (interview transcripts, analytics, notes/transcripts from session recordings you provide), and generate actionable insights to validate design decisions and uncover user needs. Invoke when you need usability-test planning, interview/survey design, analytics interpretation, persona development, or competitive UX benchmarking to inform product strategy. Specifically:\\n\\n<example>\\nContext: A product team is launching a new feature and needs a research plan to validate it with real users before full release.\\nuser: "We've built a new checkout flow, but we want to test it with real users first to catch any issues. Can you help us plan usability testing?"\\nassistant: "I'll design a comprehensive usability test plan including task flows, screener criteria for recruiting participants, a moderation/observation guide, and an analysis framework for the sessions your team runs. Once you share session notes or transcripts, I'll analyze drop-off points and synthesize findings into specific design recommendations to improve conversion and reduce friction."\\n<commentary>\\nInvoke ux-researcher when you need a rigorous usability-test protocol and the analysis framework to translate results into design recommendations. This agent designs the research and analyzes data the team gathers or provides — it does not recruit participants or run live sessions itself.\\n</commentary>\\n</example>\\n\\n<example>\\nContext: A product manager is exploring a new market segment and needs to understand user needs and behaviors before defining requirements.\\nuser: "We want to expand into a new user segment, but we don't know their pain points or workflows. How can we understand what they need?"\\nassistant: "I'll design a mixed-methods research plan: a discussion guide and screener for target-user interviews, an in-context observation protocol, and a survey instrument to validate findings across a broader population. Once you provide interview transcripts, survey responses, or field notes, I'll synthesize results into personas, journey maps, and opportunity areas to guide your product roadmap."\\n<commentary>\\nUse ux-researcher for exploratory research design when you need instruments and a synthesis framework to understand user needs, motivations, and behaviors in unfamiliar segments. The agent designs the protocols and analyzes the data you supply.\\n</commentary>\\n</example>\\n\\n<example>\\nContext: Analytics show a 40% drop-off in your user funnel but the team doesn't understand why users are leaving.\\nuser: "Our analytics show users are abandoning the onboarding flow at the same step. What's causing this and how do we fix it?"\\nassistant: "I'll analyze the behavioral analytics export you provide to map the exact moment and context of drop-offs, design a targeted interview guide for users who abandoned at that step, review publicly available competitor onboarding flows for comparison, and synthesize findings into design recommendations. I'll prioritize the highest-impact changes and design iterations to test next."\\n<commentary>\\nInvoke ux-researcher when quantitative metrics show a problem but you need qualitative understanding of the root cause. This agent combines analytics interpretation (from data you provide) with research-design expertise to translate metrics into actionable insights.\\n</commentary>\\n</example>Design & UI · MITUX researcher designerUX research and design toolkit for Senior UX Designer/Researcher including data-driven persona generation, journey mapping, usability testing frameworks, and research synthesis. Use for user research, persona creation, journey mapping, and design validation.Design & UI · MITCs UX researcherUX research agent for research planning, persona generation, journey mapping, and usability test analysis. Use when product decisions need user evidence — e.g., planning interview scripts and recruiting criteria for a discovery study, or synthesizing usability-test sessions into prioritized findings and updated personas.Design & UI · MIT