Patterns for adapting interfaces to individual users.
Tailoring the interface, content, or functionality based on user data, preferences, or behavior. The goal is relevance—showing users what matters to them.
Spectrum:
What: User-configured layouts and widgets.
DO:
DON'T:
| Pattern | Use For |
|---|---|
| Drag-and-drop | Rearranging layout |
| Widget picker | Adding new widgets |
| Resize handles | Adjusting widget size |
| Edit mode | Toggled customization state |
| Templates | Starting point presets |
What: Content that changes based on user behavior or context.
| Type | Basis | Example |
|---|---|---|
| Role-based | User role/permissions | Admin vs. user views |
| Behavior-based | Past actions | "Continue where you left off" |
| Context-based | Current state | Location, device, time |
| Preference-based | Explicit settings | Language, theme |
DO:
DON'T:
"Based on your recent projects"
"Because you viewed [X]"
"Popular in your region"
[See all] | [Hide these suggestions]
What: Settings users explicitly configure.
| Category | Examples |
|---|---|
| Display | Theme, density, font size |
| Communication | Email frequency, notification types |
| Privacy | Data sharing, tracking |
| Regional | Language, timezone, currency |
| Workflow | Default views, keyboard shortcuts |
DO:
DON'T:
Grouped settings:
Account
- Profile
- Security
- Privacy
Preferences
- Appearance
- Notifications
- Language & Region
Integrations
- Connected apps
- API keys
Inline settings:
[Toggle] Enable email notifications
Get notified about new messages
[Dropdown] Frequency: [Daily digest ▼]
What: Adapting interfaces for different languages and regions.
| Element | Localization Needs |
|---|---|
| Text | Translation, expansion space |
| Dates | Format varies by region |
| Numbers | Decimal/thousand separators |
| Currency | Symbol, position, format |
| Direction | LTR vs. RTL layouts |
| Images | Cultural appropriateness |
| Legal | Region-specific requirements |
DO:
DON'T:
| Language | Expansion vs. English |
|---|---|
| German | +30% |
| French | +20% |
| Spanish | +20% |
| Chinese | -30% (but vertical space) |
| Japanese | -20% |
| Arabic | +25% (RTL) |
What: Pre-selecting the most likely option.
| Source | Example |
|---|---|
| User history | Last used option |
| User profile | Location-based defaults |
| Behavior patterns | Most common choice |
| Context | Time-appropriate defaults |
| System intelligence | ML-predicted preference |
DO:
DON'T:
New document: Default to last-used template
Date picker: Default to today
Country: Default to detected location
Currency: Default to account currency
Recipient: Default to recent contacts
What: Suggesting content based on user data.
| Type | Basis | Example |
|---|---|---|
| Collaborative | Similar users' behavior | "Users like you also bought" |
| Content-based | Item similarity | "Similar to items you viewed" |
| Hybrid | Combined approaches | "Recommended for you" |
DO:
DON'T:
"Because you watched [X]"
[Thumbnail] [Thumbnail] [Thumbnail]
[See all →]
"Popular with marketers"
[Item] [Item] [Item]
[Not interested]
What: Building user profiles over time rather than all at once.
DO:
DON'T:
[First use] → Email only
[First project] → "What type of project is this?" (improves suggestions)
[Two weeks in] → "Add profile photo for team collaboration"
[First export] → "What file formats do you prefer?" (remembers choice)
| Element | Implemented? | Value to User? |
|---|---|---|
| ☐ Customizable dashboard | ||
| ☐ Saved preferences | ||
| ☐ Smart defaults | ||
| ☐ Content recommendations | ||
| ☐ Regional localization | ||
| ☐ Progressive profiling | ||
| ☐ User-controlled options | ||
| ☐ Transparency about personalization |