saglitzdesign-mcp 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +29 -0
- package/README.md +191 -0
- package/dist/examples.js +67 -0
- package/dist/index.js +374 -0
- package/dist/knowledge.js +123 -0
- package/knowledge/books/design-of-everyday-things.md +155 -0
- package/knowledge/books/dont-make-me-think.md +154 -0
- package/knowledge/books/grid-typography-classics.md +152 -0
- package/knowledge/books/hooked-retention.md +196 -0
- package/knowledge/books/influence-persuasion.md +232 -0
- package/knowledge/books/positioning-messaging.md +178 -0
- package/knowledge/books/psychology-of-design.md +152 -0
- package/knowledge/books/refactoring-ui.md +157 -0
- package/knowledge/books/storybrand-copywriting.md +194 -0
- package/knowledge/components/buttons.md +90 -0
- package/knowledge/components/cards-lists-modals.md +63 -0
- package/knowledge/components/forms-inputs.md +61 -0
- package/knowledge/components/navigation.md +54 -0
- package/knowledge/craft/design-critique-scoring.md +237 -0
- package/knowledge/craft/typography-craft.md +177 -0
- package/knowledge/craft/ux-writing.md +185 -0
- package/knowledge/craft/visual-craft-standards.md +161 -0
- package/knowledge/design-languages/android-app-design.md +197 -0
- package/knowledge/design-languages/apple-hig-liquid-glass.md +94 -0
- package/knowledge/design-languages/design-tokens-theming.md +108 -0
- package/knowledge/design-languages/fluent-2.md +82 -0
- package/knowledge/design-languages/ios-app-design.md +205 -0
- package/knowledge/design-languages/macos-app-design.md +202 -0
- package/knowledge/design-languages/material-3.md +113 -0
- package/knowledge/design-languages/web-trends-2026.md +87 -0
- package/knowledge/examples/ios.json +299 -0
- package/knowledge/examples/web.json +321 -0
- package/knowledge/geo/geo-fundamentals.md +120 -0
- package/knowledge/geo/geo-tactics-checklist.md +148 -0
- package/knowledge/marketing/ad-creative.md +155 -0
- package/knowledge/marketing/branding-identity.md +153 -0
- package/knowledge/marketing/email-marketing.md +155 -0
- package/knowledge/patterns/mobile/android-patterns.md +181 -0
- package/knowledge/patterns/mobile/auth-patterns.md +69 -0
- package/knowledge/patterns/mobile/checkout-payments.md +77 -0
- package/knowledge/patterns/mobile/empty-states-buttons.md +80 -0
- package/knowledge/patterns/mobile/navigation-home.md +78 -0
- package/knowledge/patterns/mobile/onboarding-paywall.md +85 -0
- package/knowledge/patterns/mobile/settings-lists.md +71 -0
- package/knowledge/patterns/web/dashboards.md +141 -0
- package/knowledge/patterns/web/feature-sections.md +122 -0
- package/knowledge/patterns/web/hero-sections.md +121 -0
- package/knowledge/patterns/web/landing-signup.md +168 -0
- package/knowledge/patterns/web/pricing-sections.md +122 -0
- package/knowledge/patterns/web/social-proof-footer.md +156 -0
- package/knowledge/process/marketing-website-roadmap.md +72 -0
- package/knowledge/process/product-design-roadmap.md +117 -0
- package/knowledge/seo/on-page-seo.md +124 -0
- package/knowledge/seo/seo-for-designers.md +159 -0
- package/knowledge/seo/technical-seo.md +194 -0
- package/knowledge/ux/accessibility.md +68 -0
- package/knowledge/ux/color-systems.md +58 -0
- package/knowledge/ux/conversion-ux.md +78 -0
- package/knowledge/ux/mobile-ux.md +69 -0
- package/knowledge/ux/motion-microinteractions.md +67 -0
- package/knowledge/ux/principles-heuristics.md +57 -0
- package/knowledge/ux/spacing-layout.md +68 -0
- package/knowledge/ux/typography.md +63 -0
- package/package.json +63 -0
- package/scripts/regenerate-examples.md +61 -0
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: mobile-settings-lists
|
|
3
|
+
title: "Mobile Settings & Grouped List Patterns"
|
|
4
|
+
category: pattern
|
|
5
|
+
platform: mobile
|
|
6
|
+
tags: [settings, lists, grouped-lists, toggles, information-architecture]
|
|
7
|
+
sources:
|
|
8
|
+
- "https://mobbin.com/screens/3f573b95-4bbb-4978-957e-56178543e8e7"
|
|
9
|
+
- "https://mobbin.com/screens/1402efff-5fe3-487c-8137-a3a96cc81f1a"
|
|
10
|
+
- "https://mobbin.com/screens/bc43b8c8-3c94-4e67-912e-da5e9f8e4de5"
|
|
11
|
+
- "https://mobbin.com/screens/2ead27ba-ec0e-4818-b14f-037748c06cef"
|
|
12
|
+
- "https://mobbin.com/screens/2110f6a5-e7d0-4fd8-a7d0-f081913dfaac"
|
|
13
|
+
- "https://mobbin.com/screens/ad5aa6e3-c55c-441c-ac9e-691473e07f92"
|
|
14
|
+
- "https://mobbin.com/screens/d10c285d-ab1d-472b-a5e3-e69f6069c66f"
|
|
15
|
+
updated: 2026-07-08
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# Settings Screens with Grouped Lists (iOS)
|
|
19
|
+
|
|
20
|
+
Based on real screens from Base, Deepstash, Meta AI, NGL, Binance, TextNow, and Linktree on Mobbin.
|
|
21
|
+
|
|
22
|
+
## Observed patterns
|
|
23
|
+
|
|
24
|
+
### Grouping and section headers
|
|
25
|
+
- Every screen groups rows under short section headers. [Deepstash](https://mobbin.com/screens/1402efff-5fe3-487c-8137-a3a96cc81f1a) uses uppercase gray micro-headers (SUBSCRIPTION / CONTENT / ACCOUNT); [Binance](https://mobbin.com/screens/2110f6a5-e7d0-4fd8-a7d0-f081913dfaac) uses sentence-case gray labels (General / Appearance / Payment); [TextNow](https://mobbin.com/screens/ad5aa6e3-c55c-441c-ac9e-691473e07f92) puts uppercase headers on tinted separator bands (PROFILE / NOTIFICATIONS / VOICE / LOOK AND FEEL); [NGL](https://mobbin.com/screens/2ead27ba-ec0e-4818-b14f-037748c06cef) even gives each header its own small icon (π Preferences, β οΈ Safety controls).
|
|
26
|
+
- Groups run 3β8 rows; semantically ordered with the most-used (subscription, notifications, preferences) at the top and legal/support/danger items at the bottom.
|
|
27
|
+
|
|
28
|
+
### Two container styles
|
|
29
|
+
- **Edge-to-edge rows with hairline dividers**: [Base](https://mobbin.com/screens/3f573b95-4bbb-4978-957e-56178543e8e7), Binance, TextNow β classic iOS grouped-table look.
|
|
30
|
+
- **Inset rounded cards per group**: NGL and [Meta AI](https://mobbin.com/screens/bc43b8c8-3c94-4e67-912e-da5e9f8e4de5) wrap each group in a rounded card on a tinted background; [Linktree](https://mobbin.com/screens/d10c285d-ab1d-472b-a5e3-e69f6069c66f) uses flat rows with thin outlined leading icons on an off-white page. Both styles coexist in top apps; the card style reads more "product-branded", the flat style more native.
|
|
31
|
+
|
|
32
|
+
### Row anatomy (the universal grammar)
|
|
33
|
+
- Label left; **current value right in gray** + chevron for navigable choices: Base "Language β English - US βΊ", Binance "Currency β USD βΊ", "Mode & Theme β System & Glacier White βΊ", TextNow "Notification Sound β Alert 3 βΊ" (value tinted red as its accent), Meta AI "β¦βΊ" rows.
|
|
34
|
+
- **Toggles inline** for binary settings β TextNow's green switches for "Perks Notifications", "Email Notifications"; no navigation for on/off decisions.
|
|
35
|
+
- **Two-line rows** when a setting needs explanation: Base pairs the bold label with a lighter one-line description ("Appearance Mode β Light, dark, or match your device").
|
|
36
|
+
- **Visual previews** where words fail: Base shows the actual theme color as a small blue swatch in the "Theme" row; Binance shows red/green arrows for "Color Preference".
|
|
37
|
+
- Leading icons are optional: Deepstash, NGL, Meta AI, and Linktree use small monochrome outline icons per row; Base and Binance omit them entirely β both work, but each app is internally consistent.
|
|
38
|
+
- Row height ~44β56pt, one setting per row, full-row tap target.
|
|
39
|
+
|
|
40
|
+
### Status surfaced in the list
|
|
41
|
+
- Deepstash shows subscription state inline: "My subscription: Pro" with a shield icon at the very top. TextNow shows counts in labels ("Blocked Numbers (0)") and values like "Call Forwarding β Off βΊ". The list is a dashboard, not just a menu.
|
|
42
|
+
|
|
43
|
+
### Navigation chrome
|
|
44
|
+
- Back chevron (Base, Binance, TextNow, NGL, Linktree) or close X (Deepstash) plus a title β centered "Settings" (TextNow, NGL, Linktree) or large-title left-aligned (Binance's big "Settings", Base's "Display"). No other header actions; settings headers stay minimal.
|
|
45
|
+
|
|
46
|
+
## Design rules derived
|
|
47
|
+
|
|
48
|
+
**Do**
|
|
49
|
+
1. Group every setting under a 1β2 word section header; never render one undifferentiated list.
|
|
50
|
+
2. Follow the row grammar strictly: label left β (optional gray value) β chevron for drill-ins; label left β switch for booleans. Users decode this instantly.
|
|
51
|
+
3. Show the current value in the row itself (language, currency, theme, sound) so users never drill in just to check state.
|
|
52
|
+
4. Use a second, lighter description line only for genuinely ambiguous settings (Base's appearance row) β not on every row.
|
|
53
|
+
5. Order groups by frequency of use; push About/Terms/Support/Sign out to the last group.
|
|
54
|
+
6. If using leading icons, use them on every row at one consistent size and stroke weight (Linktree, NGL); if not, use none (Base, Binance).
|
|
55
|
+
7. Render tiny previews for visual settings β color swatch, theme thumbnail β instead of describing them.
|
|
56
|
+
8. Keep rows β₯44pt with the entire row tappable, and one setting per row.
|
|
57
|
+
9. Surface account/subscription status at the top of the settings root (Deepstash's "My subscription: Pro").
|
|
58
|
+
10. Pick one container style (inset cards or edge-to-edge hairline rows) for the whole settings tree.
|
|
59
|
+
|
|
60
|
+
**Don't**
|
|
61
|
+
1. Don't hide binary settings behind a chevron and a detail page β inline the switch.
|
|
62
|
+
2. Don't use chevrons on rows that trigger immediate actions (share, sign out); chevron promises navigation.
|
|
63
|
+
3. Don't let section headers grow into sentences; 1β3 words, consistently cased.
|
|
64
|
+
4. Don't mix value-accent colors arbitrarily β TextNow's red values read as warnings even when they're neutral state.
|
|
65
|
+
|
|
66
|
+
## Anti-patterns seen
|
|
67
|
+
|
|
68
|
+
- **Accent-colored value text** (TextNow's red "Alert 3" / "Off"): brand red on a value column mimics an error state; reserve red for destructive or alert semantics.
|
|
69
|
+
- **Overloaded root list** (TextNow, Binance): 6+ groups on one endless scroll with no search; past ~25 rows a settings search field or a two-level IA is warranted.
|
|
70
|
+
- **Ambiguous rows without values** (Linktree's "Social", "SEO"): bare labels with chevrons give no scent of what's inside; a gray value or count would fix it.
|
|
71
|
+
- **Header-icon noise** (NGL): icons on both section headers *and* every row double the visual vocabulary without adding information.
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: web-dashboards
|
|
3
|
+
title: "Web App Dashboard Patterns (Sidebar + Data Cards)"
|
|
4
|
+
category: pattern
|
|
5
|
+
platform: web
|
|
6
|
+
tags: [dashboard, sidebar, navigation, cards, app-shell, data]
|
|
7
|
+
sources:
|
|
8
|
+
- "https://mobbin.com/screens/1c5de4d2-cf69-44e3-8352-55790c400acb"
|
|
9
|
+
- "https://mobbin.com/screens/bcbc434d-f7e8-44f4-a17a-a00655f0ca4b"
|
|
10
|
+
- "https://mobbin.com/screens/79f37f27-f1f0-4d31-96ec-899917cb9aa4"
|
|
11
|
+
- "https://mobbin.com/screens/cd6232db-c7ee-4756-a78d-d7b11f772a74"
|
|
12
|
+
- "https://mobbin.com/screens/4560f04c-5d7c-4a1c-9316-088ec410a8fb"
|
|
13
|
+
- "https://mobbin.com/screens/f89c973f-b307-4129-a88b-f4ff50b6807f"
|
|
14
|
+
- "https://mobbin.com/screens/8e9ffe26-ef22-4540-b5e4-101f78abf96a"
|
|
15
|
+
updated: 2026-07-08
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# Web App Dashboard Patterns (Sidebar + Data Cards)
|
|
19
|
+
|
|
20
|
+
Derived from Mobbin web screens of Frame, Dovetail, Felt, Sana AI (two
|
|
21
|
+
screens), Amplitude, and Asana (July 2026 research pass).
|
|
22
|
+
|
|
23
|
+
## Observed patterns
|
|
24
|
+
|
|
25
|
+
### 1. The universal shell: left sidebar + main canvas
|
|
26
|
+
Every sampled product uses a fixed left sidebar (~220β260px) over a wide
|
|
27
|
+
content region.
|
|
28
|
+
[Asana](https://mobbin.com/screens/8e9ffe26-ef22-4540-b5e4-101f78abf96a)
|
|
29
|
+
(dark sidebar, light canvas) groups nav as: top-level (Home, My tasks,
|
|
30
|
+
Inbox) β labeled groups ("Insights", "Starred", "Projects", "Team") with
|
|
31
|
+
"+" add-buttons per group.
|
|
32
|
+
[Felt](https://mobbin.com/screens/79f37f27-f1f0-4d31-96ec-899917cb9aa4)
|
|
33
|
+
(light sidebar): workspace switcher at top, Recents/Drafts/Settings/Invite
|
|
34
|
+
members/Help, then a "Projects" group.
|
|
35
|
+
[Amplitude](https://mobbin.com/screens/f89c973f-b307-4129-a88b-f4ff50b6807f)
|
|
36
|
+
nests collapsible groups (Tracking Plan β Events/Properties/Filters;
|
|
37
|
+
Connections β Sources/Destinations) and pins Pricing/Settings at the bottom.
|
|
38
|
+
|
|
39
|
+
### 2. Sidebar anatomy (top β bottom)
|
|
40
|
+
Consistent slots across samples:
|
|
41
|
+
1. Workspace/account switcher or logo (Frame's app picker, Felt's
|
|
42
|
+
workspace dropdown, Amplitude's project + branch selectors).
|
|
43
|
+
2. Primary create action near the top β Amplitude and Asana both place a
|
|
44
|
+
prominent "+ Create" button in the top bar/sidebar head; Felt uses a red
|
|
45
|
+
"New map" button in the content header instead.
|
|
46
|
+
3. Personal/nav items (Home, Recents, Inbox, Search).
|
|
47
|
+
4. Labeled, collapsible groups for user content (Projects, Collections)
|
|
48
|
+
with color-dot or emoji identifiers (Sana AI's colored collection dots,
|
|
49
|
+
Asana's colored project squares).
|
|
50
|
+
5. Bottom-pinned utility: Settings, Help, and monetization/trial cards.
|
|
51
|
+
|
|
52
|
+
### 3. Trial/upsell cards live at the sidebar bottom
|
|
53
|
+
[Felt](https://mobbin.com/screens/79f37f27-f1f0-4d31-96ec-899917cb9aa4)
|
|
54
|
+
shows a blue tinted card ("2 days left in your Enterprise trial" + "Talk to
|
|
55
|
+
Sales" button); Asana shows "Advanced free trial β 5 days left" with an
|
|
56
|
+
amber "Add billing info" button;
|
|
57
|
+
[Sana AI](https://mobbin.com/screens/4560f04c-5d7c-4a1c-9316-088ec410a8fb)
|
|
58
|
+
shows a credits meter ("100 credits left today"). The pattern: persistent
|
|
59
|
+
but non-blocking, pinned to the sidebar's bottom edge.
|
|
60
|
+
|
|
61
|
+
### 4. Content canvas: card grids for browse, widgets for metrics
|
|
62
|
+
- **Document/asset grids**:
|
|
63
|
+
[Dovetail](https://mobbin.com/screens/bcbc434d-f7e8-44f4-a17a-a00655f0ca4b)
|
|
64
|
+
and [Frame](https://mobbin.com/screens/1c5de4d2-cf69-44e3-8352-55790c400acb)
|
|
65
|
+
show 3β4-column card grids where each card = preview/summary + bold title
|
|
66
|
+
+ author/timestamp metadata. Empty grid cells become dashed or ghosted
|
|
67
|
+
action cards ("+ New note", "Import data") β onboarding embedded in the
|
|
68
|
+
grid itself.
|
|
69
|
+
- **Map/asset thumbnails**: Felt's grid uses large colorful map thumbnails
|
|
70
|
+
+ name + "Last viewed X days ago", with a "Welcome to Felt!" dismissible
|
|
71
|
+
onboarding row of video cards on first run.
|
|
72
|
+
- **Metric widgets**: Asana's "New dashboard" screen is a 2-column widget
|
|
73
|
+
grid (area chart, bar chart) with per-widget filter chips ("1 Filter Β·
|
|
74
|
+
Tasks in 1 project"), legends, and "Add widget" affordance. Amplitude's
|
|
75
|
+
home mixes "Quick actions" shortcut cards, a "Project quota" card with
|
|
76
|
+
progress bars (0.1% / 2.3% used), and a "Recent activity" feed.
|
|
77
|
+
|
|
78
|
+
### 5. Home-as-launcher for AI products
|
|
79
|
+
[Sana AI](https://mobbin.com/screens/cd6232db-c7ee-4756-a78d-d7b11f772a74)
|
|
80
|
+
centers a greeting ("Hello, Jane β How can I help you today?"), a row of
|
|
81
|
+
suggested-task cards (some with thumbnails), and a persistent omnibox
|
|
82
|
+
("Ask or search for anythingβ¦") pinned at the bottom. The dashboard is a
|
|
83
|
+
starting point, not a report.
|
|
84
|
+
|
|
85
|
+
### 6. Visual language
|
|
86
|
+
- Light neutral canvases (white/#FAFAFA); sidebars either same-tone with a
|
|
87
|
+
hairline divider (Felt, Dovetail, Sana) or dark inverted (Asana, Linear
|
|
88
|
+
style; Sana AI also ships a dark variant).
|
|
89
|
+
- Cards: white, 1px light-gray border or very soft shadow, 8β12px radius,
|
|
90
|
+
consistent internal padding; selected/hover states use tinted fills
|
|
91
|
+
(Felt's pink "Recents" active row, Amplitude's blue active "Home").
|
|
92
|
+
- Exactly one saturated accent for the primary action (Felt red, Amplitude
|
|
93
|
+
blue, Asana coral "+ Create") β everything else stays gray-scale.
|
|
94
|
+
- Active nav item = tinted pill + colored icon/text, never just bold.
|
|
95
|
+
|
|
96
|
+
## Design rules derived
|
|
97
|
+
|
|
98
|
+
**Do**
|
|
99
|
+
- Use the standard shell: sidebar (switcher β create β nav β groups β
|
|
100
|
+
pinned utilities) + top bar (search/breadcrumb + share/invite/profile) +
|
|
101
|
+
card-based canvas.
|
|
102
|
+
- Make "create new X" the single most prominent colored control on screen.
|
|
103
|
+
- Group sidebar links under small-caps/muted labels; make user-content
|
|
104
|
+
groups collapsible with inline "+" actions.
|
|
105
|
+
- Give every card grid an embedded empty/action card so blank space
|
|
106
|
+
teaches ("+ New note", "Create project").
|
|
107
|
+
- Show recency metadata ("Last viewed 3 days ago") on asset cards β it's
|
|
108
|
+
the primary re-entry scent.
|
|
109
|
+
- Pin trial status, quotas, or credits as a compact card at the sidebar
|
|
110
|
+
bottom with one clear CTA.
|
|
111
|
+
- For metric widgets: title, chart, legend, and a filter-context line per
|
|
112
|
+
widget; allow adding/rearranging widgets.
|
|
113
|
+
- Include global search prominently (Asana's centered top search, Dovetail's
|
|
114
|
+
full-width "Search and discover", Sana's omnibox).
|
|
115
|
+
- Add a dismissible first-run row (welcome videos/checklist) rather than a
|
|
116
|
+
modal tour (Felt).
|
|
117
|
+
|
|
118
|
+
**Don't**
|
|
119
|
+
- Don't exceed ~2 levels of sidebar nesting (Amplitude's group β item is
|
|
120
|
+
the observed max).
|
|
121
|
+
- Don't scatter multiple saturated accent colors across the canvas; charts
|
|
122
|
+
may be colorful, chrome may not.
|
|
123
|
+
- Don't hide the create action inside menus.
|
|
124
|
+
- Don't ship blank empty states β every sampled product fills first-run
|
|
125
|
+
space with templates, demos, or sample content (Frame's pre-seeded docs,
|
|
126
|
+
Dovetail's sample video, Sana's demo tasks).
|
|
127
|
+
|
|
128
|
+
## Anti-patterns
|
|
129
|
+
|
|
130
|
+
- **Dashboard-as-wall-of-KPIs**: none of the sampled homes lead with dense
|
|
131
|
+
stat tiles; they lead with the user's recent work or next action.
|
|
132
|
+
Metrics live in dedicated dashboard/reporting views (Asana) or scoped
|
|
133
|
+
cards (Amplitude quota).
|
|
134
|
+
- **Mystery-meat icon-only sidebars** for primary nav β all samples pair
|
|
135
|
+
icons with labels at default width.
|
|
136
|
+
- **Blocking upsells**: trial/paywall prompts are pinned cards, never
|
|
137
|
+
modals covering the canvas.
|
|
138
|
+
- **Inconsistent card anatomy in one grid** (mixed metadata, misaligned
|
|
139
|
+
titles) β grids read as broken; Dovetail/Felt keep every card identical.
|
|
140
|
+
- **Top-nav-only app chrome** for multi-object products; the sidebar is the
|
|
141
|
+
de facto standard for anything with projects/collections/spaces.
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: web-feature-sections
|
|
3
|
+
title: "Website Feature Section Patterns (Grids & Bento)"
|
|
4
|
+
category: pattern
|
|
5
|
+
platform: web
|
|
6
|
+
tags: [features, bento, grid, screenshots, product-marketing]
|
|
7
|
+
sources:
|
|
8
|
+
- "https://mobbin.com/sites/sections/7295b73f-1281-49d3-99dd-3701cae70072"
|
|
9
|
+
- "https://mobbin.com/sites/sections/54ba196c-c979-4564-a54a-c02a23e8e8f7"
|
|
10
|
+
- "https://mobbin.com/sites/sections/3f148051-6eff-401c-bc33-113cc1d2e964"
|
|
11
|
+
- "https://mobbin.com/sites/sections/011f833e-b660-43b2-abce-affa60297789"
|
|
12
|
+
- "https://mobbin.com/sites/sections/a37dec6a-3829-46e4-b3df-a5cb16185f55"
|
|
13
|
+
- "https://mobbin.com/sites/sections/9038df26-d13c-4c95-98d5-62ba4fd5fad3"
|
|
14
|
+
- "https://mobbin.com/sites/sections/a0b1fcee-ed8b-4709-a230-d750ca54c280"
|
|
15
|
+
updated: 2026-07-08
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# Website Feature Section Patterns (Grids & Bento)
|
|
19
|
+
|
|
20
|
+
Derived from Mobbin section screenshots of Better Stack, Square, Fibery,
|
|
21
|
+
Eventbrite, PamPam, Attio, and Jitter (July 2026 research pass).
|
|
22
|
+
|
|
23
|
+
## Observed patterns
|
|
24
|
+
|
|
25
|
+
### 1. Bento/card grid with cropped UI vignettes
|
|
26
|
+
[Better Stack](https://mobbin.com/sites/sections/7295b73f-1281-49d3-99dd-3701cae70072)
|
|
27
|
+
runs a 3Γ2 dark bento grid under the headline "That's just the tip of the
|
|
28
|
+
iceberg": each rounded card holds a cropped, simplified product-UI vignette
|
|
29
|
+
on top, then a bold feature name ("Screenshots and error logs", "Incident
|
|
30
|
+
audit timeline") and a 1β2 sentence description. Card borders are a subtle
|
|
31
|
+
1px lighter-than-background stroke.
|
|
32
|
+
[Attio](https://mobbin.com/sites/sections/9038df26-d13c-4c95-98d5-62ba4fd5fad3)
|
|
33
|
+
uses the identical dark 3Γ2 recipe but with *abstracted wireframe
|
|
34
|
+
illustrations* of the UI (gray boxes, dashed outlines) instead of real
|
|
35
|
+
screenshots β schematic drawings keep visual noise low while still implying
|
|
36
|
+
the interface.
|
|
37
|
+
|
|
38
|
+
### 2. Alternating media + copy rows
|
|
39
|
+
[Square](https://mobbin.com/sites/sections/54ba196c-c979-4564-a54a-c02a23e8e8f7)
|
|
40
|
+
lists four features as horizontal rows separated by hairline dividers: small
|
|
41
|
+
lifestyle photo left, bold feature title + short paragraph + "Learn more +"
|
|
42
|
+
link right. Photography (real merchants using the product) replaces UI
|
|
43
|
+
shots because the product is physical. One section headline
|
|
44
|
+
("Seamless selling from one location to one hundred") frames all rows.
|
|
45
|
+
|
|
46
|
+
### 3. Icon-led capability index (many features, low depth)
|
|
47
|
+
[Fibery](https://mobbin.com/sites/sections/3f148051-6eff-401c-bc33-113cc1d2e964)
|
|
48
|
+
shows a 4-column grid of ~16 features, each just a small colored icon + name
|
|
49
|
+
("Map view", "Whiteboards", "Automation Rules") with occasional "new"
|
|
50
|
+
badges. [PamPam](https://mobbin.com/sites/sections/a37dec6a-3829-46e4-b3df-a5cb16185f55)
|
|
51
|
+
does a calmer 2-column version: each item is a soft rounded icon tile + name
|
|
52
|
+
+ one-line description ("AI chat β Find places with AI"). This pattern says
|
|
53
|
+
"we have breadth" rather than explaining any one feature.
|
|
54
|
+
|
|
55
|
+
### 4. 2Γ2 benefit grid, icon + heading + paragraph
|
|
56
|
+
[Jitter](https://mobbin.com/sites/sections/a0b1fcee-ed8b-4709-a230-d750ca54c280)
|
|
57
|
+
uses a 2Γ2 grid; each cell has a small outlined pastel icon, a 2-line bold
|
|
58
|
+
benefit heading ("Make professional-quality animations in no time"), and a
|
|
59
|
+
~40-word paragraph. No imagery at all β copy does the persuading, whitespace
|
|
60
|
+
keeps it airy.
|
|
61
|
+
|
|
62
|
+
### 5. Four-up screenshot columns
|
|
63
|
+
[Eventbrite](https://mobbin.com/sites/sections/011f833e-b660-43b2-abce-affa60297789)
|
|
64
|
+
tops the section with four columns, each a floating product screenshot above
|
|
65
|
+
a centered feature name ("Embedded checkout", "Scheduled payouts") and a
|
|
66
|
+
short paragraph β then transitions directly into a dark testimonial band,
|
|
67
|
+
pairing capability with proof.
|
|
68
|
+
|
|
69
|
+
### Copy & rhythm observations
|
|
70
|
+
- Feature titles are noun phrases or imperative benefits, 2β6 words.
|
|
71
|
+
- Descriptions are 15β45 words; Better Stack's pattern ("We don't just tell
|
|
72
|
+
you that your service went down. We also tell you why.") shows
|
|
73
|
+
conversational tone works inside cards.
|
|
74
|
+
- Dark-theme bento (Better Stack, Attio) is favored by dev/data tools;
|
|
75
|
+
light, warm palettes (PamPam, Jitter, Square) by consumer/creative tools.
|
|
76
|
+
- Grids are strict: consistent card padding, equal gutters (~24px), aligned
|
|
77
|
+
title baselines across a row.
|
|
78
|
+
|
|
79
|
+
## Design rules derived
|
|
80
|
+
|
|
81
|
+
**Do**
|
|
82
|
+
- Pick the pattern by information depth: bento cards for 4β6 differentiated
|
|
83
|
+
features with visuals; alternating rows for 3β5 features needing longer
|
|
84
|
+
stories; icon index for 10+ shallow capabilities; 2Γ2 icon+copy for pure
|
|
85
|
+
benefit messaging.
|
|
86
|
+
- Crop and simplify product screenshots to the one region that proves the
|
|
87
|
+
feature β never paste full-window screenshots into cards.
|
|
88
|
+
- Keep every card structurally identical: media β title β description, with
|
|
89
|
+
the same padding and type sizes.
|
|
90
|
+
- Frame the grid with one section headline that makes an aggregate claim;
|
|
91
|
+
let cards carry specifics.
|
|
92
|
+
- On dark bento grids, use 1px low-contrast borders and slight card
|
|
93
|
+
elevation instead of shadows.
|
|
94
|
+
- Use "Learn more" links per row (Square) only when deeper pages exist;
|
|
95
|
+
otherwise omit links to keep cards non-interactive and calm.
|
|
96
|
+
- Consider schematic/wireframe illustrations (Attio) when real UI is too
|
|
97
|
+
dense to read at card size.
|
|
98
|
+
|
|
99
|
+
**Don't**
|
|
100
|
+
- Don't mix media types (photo, screenshot, icon, illustration) within one
|
|
101
|
+
grid β every sampled grid is internally homogeneous.
|
|
102
|
+
- Don't exceed ~2 sentences of description inside a card.
|
|
103
|
+
- Don't let cards vary in height within a row; pad copy to balance.
|
|
104
|
+
- Don't add a CTA button inside every card; the section-level CTA or row
|
|
105
|
+
"Learn more" link suffices.
|
|
106
|
+
|
|
107
|
+
## Anti-patterns
|
|
108
|
+
|
|
109
|
+
- **Full-app screenshots at thumbnail size**: unreadable UI crammed into a
|
|
110
|
+
card; top sites crop to a single component or redraw schematically.
|
|
111
|
+
- **Feature-count vanity grids with paragraph depth**: 16-item indexes must
|
|
112
|
+
stay one-line (Fibery, PamPam); giving each of 16 items a paragraph
|
|
113
|
+
produces a wall of text.
|
|
114
|
+
- **Zig-zag rows without dividers or consistent image sizing** β Square's
|
|
115
|
+
version works because photos are uniform in size and each row is separated
|
|
116
|
+
by a hairline rule.
|
|
117
|
+
- **Icon soup**: decorative icons that don't map to the feature named (all
|
|
118
|
+
sampled icon grids use literal, recognizable glyphs: map pin for Map view,
|
|
119
|
+
chart for Charts).
|
|
120
|
+
- **Repeating body copy across cards** (visible as a flaw even in Jitter,
|
|
121
|
+
where two cells reuse the same paragraph) β each card must earn distinct
|
|
122
|
+
copy or be cut.
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: web-hero-sections
|
|
3
|
+
title: "Website Hero Section Patterns"
|
|
4
|
+
category: pattern
|
|
5
|
+
platform: web
|
|
6
|
+
tags: [hero, landing, cta, headline, signup]
|
|
7
|
+
sources:
|
|
8
|
+
- "https://mobbin.com/sites/sections/8aefc8b7-fe79-4dfa-b0ce-9aa1677e4e45"
|
|
9
|
+
- "https://mobbin.com/sites/sections/8fdb8f57-192b-43e5-b448-532203ec444d"
|
|
10
|
+
- "https://mobbin.com/sites/sections/86f504e1-5a41-4a12-9683-b6e6b9672111"
|
|
11
|
+
- "https://mobbin.com/sites/sections/d008689a-c73f-4513-a760-25a93ef6f043"
|
|
12
|
+
- "https://mobbin.com/sites/sections/e727f26d-79e1-49d9-9ed7-f6590091ec8d"
|
|
13
|
+
- "https://mobbin.com/sites/sections/5f84e90e-f4ae-48e5-bdb0-9b0b9b303f03"
|
|
14
|
+
- "https://mobbin.com/sites/sections/edb14076-5e1f-48d8-ba26-5e5e43f9a9b0"
|
|
15
|
+
updated: 2026-07-08
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
# Website Hero Section Patterns
|
|
19
|
+
|
|
20
|
+
Derived from Mobbin section screenshots of Analogue Agency, ClickUp, Proton,
|
|
21
|
+
Passionfroot, Retool, Figma, and Mural (July 2026 research pass).
|
|
22
|
+
|
|
23
|
+
## Observed patterns
|
|
24
|
+
|
|
25
|
+
### 1. Center-stacked hero: headline β subhead β single CTA
|
|
26
|
+
[Passionfroot](https://mobbin.com/sites/sections/d008689a-c73f-4513-a760-25a93ef6f043)
|
|
27
|
+
is the canonical example: a two-line serif headline ("Where creators do brand
|
|
28
|
+
deals"), one short sans subhead, and a single dark pill button ("Start for
|
|
29
|
+
Free β") β all center-aligned on a warm cream background. Floating, tilted
|
|
30
|
+
product-UI fragments (payment card, chart, calendar) sit at the edges of the
|
|
31
|
+
canvas, decorating without competing with the copy.
|
|
32
|
+
[Retool](https://mobbin.com/sites/sections/e727f26d-79e1-49d9-9ed7-f6590091ec8d)
|
|
33
|
+
uses the same skeleton for its bottom CTA band: small "BETA" pill badge above,
|
|
34
|
+
one bold headline ("Get up and running in seconds"), one purple button β
|
|
35
|
+
nothing else.
|
|
36
|
+
|
|
37
|
+
### 2. Headline + inline email capture (single-field signup)
|
|
38
|
+
[ClickUp](https://mobbin.com/sites/sections/8fdb8f57-192b-43e5-b448-532203ec444d)
|
|
39
|
+
puts a bold left-aligned headline ("Let's make the world more productive,
|
|
40
|
+
together.") beside a one-field form: "Enter your work email" input with an
|
|
41
|
+
attached purple "Get Started" button, on a white card over a subtle dotted
|
|
42
|
+
texture. [Analogue Agency](https://mobbin.com/sites/sections/8aefc8b7-fe79-4dfa-b0ce-9aa1677e4e45)
|
|
43
|
+
does the compact version inside a saturated blue rounded card: two-line value
|
|
44
|
+
promise, email field + white "Sign Up" pill. Rule of thumb: email capture
|
|
45
|
+
heroes ask for exactly one field.
|
|
46
|
+
|
|
47
|
+
### 3. Oversized statement typography as the hero itself
|
|
48
|
+
[Figma](https://mobbin.com/sites/sections/5f84e90e-f4ae-48e5-bdb0-9b0b9b303f03)
|
|
49
|
+
fills a flat yellow band with a giant black grotesque headline ("Creative
|
|
50
|
+
tools meet the internet.") β no imagery at all; type occupies ~60% of the
|
|
51
|
+
viewport width and the brand color does the visual work.
|
|
52
|
+
[Mural](https://mobbin.com/sites/sections/edb14076-5e1f-48d8-ba26-5e5e43f9a9b0)
|
|
53
|
+
inverts hierarchy: a small kicker line ("Work better for better work") over an
|
|
54
|
+
enormous "Get started" serif wordmark rendered inside a yellow sticky-note
|
|
55
|
+
graphic on a violet field β the CTA literally *is* the hero art.
|
|
56
|
+
|
|
57
|
+
### 4. Split-tone editorial hero
|
|
58
|
+
[Proton](https://mobbin.com/sites/sections/86f504e1-5a41-4a12-9683-b6e6b9672111)
|
|
59
|
+
uses a mission-style headline with two-color emphasis: the second line
|
|
60
|
+
("privacy and digital freedom") switches to the brand purple while the first
|
|
61
|
+
line stays near-black. Body copy is constrained to a narrow ~560px column,
|
|
62
|
+
centered. The nav keeps the account CTA (filled purple pill "Create a free
|
|
63
|
+
account") even on content pages.
|
|
64
|
+
|
|
65
|
+
### 5. Nav CTA mirrors hero CTA
|
|
66
|
+
In every capture the top-right nav carries the same conversion action as the
|
|
67
|
+
hero: Retool ("Start for free", blue), Figma ("Get started for free", black),
|
|
68
|
+
Mural ("Sign up, free forever", black), Passionfroot ("Get access β", black),
|
|
69
|
+
Proton ("Create a free account", purple). Secondary auth ("Log in"/"Sign in")
|
|
70
|
+
sits to its left as plain text or a ghost button.
|
|
71
|
+
|
|
72
|
+
### Copy style
|
|
73
|
+
- Headlines are 3β8 words, benefit- or vision-led, sentence case, often ending
|
|
74
|
+
with a period (Figma, Passionfroot-adjacent style).
|
|
75
|
+
- Subheads are one sentence, ~12β20 words, in a muted gray.
|
|
76
|
+
- CTA labels lead with a verb and de-risk: "Start for free", "Get started for
|
|
77
|
+
free", "Sign up, free forever". "Free" appears in almost every primary CTA.
|
|
78
|
+
|
|
79
|
+
### Visual rhythm
|
|
80
|
+
- Generous vertical padding: headline blocks float in whitespace roughly 2β3Γ
|
|
81
|
+
the headline height above and below.
|
|
82
|
+
- One accent color per hero; buttons are solid fills with high contrast
|
|
83
|
+
against the field (white-on-blue, black-on-yellow, white-on-black).
|
|
84
|
+
- Rounded-rectangle / pill buttons everywhere; no outlined primary CTAs.
|
|
85
|
+
|
|
86
|
+
## Design rules derived
|
|
87
|
+
|
|
88
|
+
**Do**
|
|
89
|
+
- Lead with one headline (3β8 words), one subhead (β€20 words), one primary
|
|
90
|
+
CTA. Center-stack unless pairing with a form or screenshot.
|
|
91
|
+
- Repeat the primary CTA verbatim in the top-right of the nav.
|
|
92
|
+
- Include a risk-reducer in or near the CTA ("free", "no credit card",
|
|
93
|
+
"free forever").
|
|
94
|
+
- If capturing email in the hero, use a single input joined to the button as
|
|
95
|
+
one visual unit.
|
|
96
|
+
- Pick one saturated brand color and let it dominate either the background
|
|
97
|
+
(Figma, Mural, Analogue) or the button (ClickUp, Retool, Proton) β not both.
|
|
98
|
+
- Keep decorative product imagery tilted/cropped at the edges so the copy
|
|
99
|
+
column stays clean (Passionfroot).
|
|
100
|
+
- Constrain hero copy to a readable measure (~50β65ch for subheads).
|
|
101
|
+
|
|
102
|
+
**Don't**
|
|
103
|
+
- Don't put two competing primary buttons in the hero; a secondary action, if
|
|
104
|
+
present, should be text or ghost style.
|
|
105
|
+
- Don't ask for more than an email address in a hero form.
|
|
106
|
+
- Don't run headlines longer than two lines at desktop width.
|
|
107
|
+
- Don't layer copy over busy photography β every observed hero uses flat
|
|
108
|
+
color, subtle texture, or heavily muted imagery behind text.
|
|
109
|
+
|
|
110
|
+
## Anti-patterns
|
|
111
|
+
|
|
112
|
+
- **Feature-dump heroes**: cramming bullet lists or 3+ paragraphs above the
|
|
113
|
+
fold. Top sites defer detail to feature sections.
|
|
114
|
+
- **Vague CTA labels** ("Submit", "Learn more") as the primary action β the
|
|
115
|
+
observed set is uniformly verb-first and outcome-specific.
|
|
116
|
+
- **Carousel/slider heroes**: absent from all sampled top-tier sites; one
|
|
117
|
+
static message wins.
|
|
118
|
+
- **Low-contrast buttons**: every sampled CTA passes obvious contrast against
|
|
119
|
+
its background; avoid tonal (same-hue, low-delta) primary buttons.
|
|
120
|
+
- **Orphaned signup**: hero CTA present but missing from the nav, forcing
|
|
121
|
+
users to scroll back up after reading β top sites never do this.
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
---
|
|
2
|
+
id: web-landing-signup
|
|
3
|
+
title: "SaaS Landing Page & Signup Page Patterns"
|
|
4
|
+
category: pattern
|
|
5
|
+
platform: web
|
|
6
|
+
tags: [landing, saas, signup, onboarding, forms, product-screenshot]
|
|
7
|
+
sources:
|
|
8
|
+
- "https://mobbin.com/screens/00877e31-4b84-477f-844f-000bb4b4405e"
|
|
9
|
+
- "https://mobbin.com/screens/bb369cb4-f7e0-4c16-a0f3-f39e7e4a3adf"
|
|
10
|
+
- "https://mobbin.com/screens/b840e398-8b41-4259-917a-1f0d989b54a6"
|
|
11
|
+
- "https://mobbin.com/screens/b8490a12-b5c8-4f88-9a68-7bdbaf4b59ad"
|
|
12
|
+
- "https://mobbin.com/screens/887269c3-bc0d-4090-aaef-13c4462a1b53"
|
|
13
|
+
- "https://mobbin.com/screens/bdd15498-8db4-480d-b3b4-eecce6d5317e"
|
|
14
|
+
- "https://mobbin.com/screens/7d8b276e-b850-40f0-8692-ffe16dde5a8a"
|
|
15
|
+
- "https://mobbin.com/screens/3605d7a3-481f-4a13-a3be-2c8b8f570037"
|
|
16
|
+
- "https://mobbin.com/screens/6e15fdd2-969a-42bf-8de9-66735dc04257"
|
|
17
|
+
- "https://mobbin.com/screens/7bebd01a-1b4b-43e4-a573-6ff2115a3823"
|
|
18
|
+
- "https://mobbin.com/screens/e2e2434d-ae6c-4354-ac0d-a4b7b4bc82a6"
|
|
19
|
+
- "https://mobbin.com/screens/9435af96-1fb6-46c7-9b67-3fd456ccc485"
|
|
20
|
+
- "https://mobbin.com/screens/e23573ed-428f-4c2b-9a0d-dde328c1516e"
|
|
21
|
+
- "https://mobbin.com/screens/afda2628-1eab-42c5-9802-2247692a2cc3"
|
|
22
|
+
updated: 2026-07-08
|
|
23
|
+
---
|
|
24
|
+
|
|
25
|
+
# SaaS Landing Page & Signup Page Patterns
|
|
26
|
+
|
|
27
|
+
Derived from Mobbin web screens: landing pages from StackAI, Laravel Cloud,
|
|
28
|
+
Coda, Airtable, Linear, OpenPhone, and Wrangle; signup pages from OpenAI
|
|
29
|
+
Platform, Vercel, Intercom, Amie, Faire, and Tally (July 2026 research pass).
|
|
30
|
+
|
|
31
|
+
## Part A β SaaS landing pages with product screenshot
|
|
32
|
+
|
|
33
|
+
### Observed patterns
|
|
34
|
+
|
|
35
|
+
**1. The dominant recipe: centered headline stack + big screenshot below the fold line.**
|
|
36
|
+
[OpenPhone](https://mobbin.com/screens/bdd15498-8db4-480d-b3b4-eecce6d5317e)
|
|
37
|
+
("The all-in-one phone system for teams"),
|
|
38
|
+
[Airtable](https://mobbin.com/screens/b8490a12-b5c8-4f88-9a68-7bdbaf4b59ad),
|
|
39
|
+
[StackAI](https://mobbin.com/screens/00877e31-4b84-477f-844f-000bb4b4405e)
|
|
40
|
+
("From process to AI agent, in minutes") and
|
|
41
|
+
[Wrangle](https://mobbin.com/screens/7d8b276e-b850-40f0-8692-ffe16dde5a8a)
|
|
42
|
+
all center a 2-line headline, 1β2 line subhead, CTA row, then a large
|
|
43
|
+
framed product screenshot that bleeds off the bottom of the viewport. The
|
|
44
|
+
partially-cropped screenshot acts as a scroll cue.
|
|
45
|
+
|
|
46
|
+
**2. Left-aligned variant for denser copy.**
|
|
47
|
+
[Laravel Cloud](https://mobbin.com/screens/bb369cb4-f7e0-4c16-a0f3-f39e7e4a3adf)
|
|
48
|
+
(deep blue gradient, white "Get started" + outlined "Contact sales", 3-line
|
|
49
|
+
benefit subhead including "$5 of free usage credit") and
|
|
50
|
+
[Coda](https://mobbin.com/screens/b840e398-8b41-4259-917a-1f0d989b54a6)
|
|
51
|
+
(peach background, black "Get started for free" + white "Contact sales") use
|
|
52
|
+
left-aligned headline blocks; Coda still centers its screenshot below.
|
|
53
|
+
[Linear](https://mobbin.com/screens/887269c3-bc0d-4090-aaef-13c4462a1b53)
|
|
54
|
+
left-aligns "The product development system for teams and agents" on
|
|
55
|
+
near-black, with the app screenshot showing a real issue view plus an
|
|
56
|
+
in-screenshot agent panel β the screenshot itself tells the product story.
|
|
57
|
+
|
|
58
|
+
**3. CTA pairing logic.**
|
|
59
|
+
Primary + secondary appear together and encode the GTM motion:
|
|
60
|
+
"Get a Demo" + "Try It Now" (StackAI), "Get started" + "Contact sales"
|
|
61
|
+
(Laravel Cloud, Coda), "Get started for free" + "Book demo" (Airtable).
|
|
62
|
+
OpenPhone uses a single black "Try for free β". Primary is always the
|
|
63
|
+
filled, higher-contrast button on the left.
|
|
64
|
+
|
|
65
|
+
**4. Screenshot treatment.**
|
|
66
|
+
Screenshots are real UI, lightly framed: rounded corners, thin border or
|
|
67
|
+
laptop-bezel crop (StackAI), soft glow/gradient halo (Wrangle's lavender
|
|
68
|
+
field, Laravel Cloud's floating card with "Watch demo" play chip overlaid).
|
|
69
|
+
Airtable overlays an AI prompt bar on top of the shot to dramatize the
|
|
70
|
+
feature. Backgrounds tint toward brand color; screenshots stay light-theme
|
|
71
|
+
readable even on dark pages (Linear excepted β dark-on-dark, consistent
|
|
72
|
+
with its brand).
|
|
73
|
+
|
|
74
|
+
**5. Announcement pills.**
|
|
75
|
+
Wrangle floats a small rounded changelog pill above the headline
|
|
76
|
+
("Jan 20: Introducing Search by Calibration Profile") β a common slot for
|
|
77
|
+
news without disturbing the hero.
|
|
78
|
+
|
|
79
|
+
### Design rules β landing
|
|
80
|
+
|
|
81
|
+
- Order: nav β (optional announcement pill) β headline β subhead β CTA row β
|
|
82
|
+
product screenshot. Let the screenshot crop at the fold.
|
|
83
|
+
- Headline β€ 2 lines; make a category claim ("The all-in-oneβ¦", "The product
|
|
84
|
+
development systemβ¦").
|
|
85
|
+
- Pair one filled primary CTA with one quieter secondary; map labels to
|
|
86
|
+
self-serve vs sales motion.
|
|
87
|
+
- Frame screenshots with rounded corners + border/glow; never paste an
|
|
88
|
+
unframed rectangle onto the page.
|
|
89
|
+
- Show real, populated product UI β believable data, no lorem ipsum.
|
|
90
|
+
- Keep the hero background flat or a single gradient; reserve saturation for
|
|
91
|
+
either background or buttons.
|
|
92
|
+
|
|
93
|
+
## Part B β Signup pages with minimal form
|
|
94
|
+
|
|
95
|
+
### Observed patterns
|
|
96
|
+
|
|
97
|
+
**1. Radical minimalism: one centered card, 1β3 fields, no marketing.**
|
|
98
|
+
[Vercel](https://mobbin.com/screens/6e15fdd2-969a-42bf-8de9-66735dc04257):
|
|
99
|
+
"Sign up for Vercel" + one email field + black "Continue with Email" + a
|
|
100
|
+
link to "Other Sign Up options".
|
|
101
|
+
[OpenAI Platform](https://mobbin.com/screens/3605d7a3-481f-4a13-a3be-2c8b8f570037):
|
|
102
|
+
logo, "Tell us about you", first/last name side-by-side, green Continue,
|
|
103
|
+
terms microcopy underneath.
|
|
104
|
+
[Intercom](https://mobbin.com/screens/7bebd01a-1b4b-43e4-a573-6ff2115a3823)
|
|
105
|
+
asks a single question per screen ("Your full name") with a full-width black
|
|
106
|
+
Continue and a thin progress bar under the header.
|
|
107
|
+
[Tally](https://mobbin.com/screens/e23573ed-428f-4c2b-9a0d-dde328c1516e) and
|
|
108
|
+
[Faire](https://mobbin.com/screens/9435af96-1fb6-46c7-9b67-3fd456ccc485)
|
|
109
|
+
cap at three stacked fields (name(s) + password) with helper text
|
|
110
|
+
("8 characters minimum") under the password field.
|
|
111
|
+
|
|
112
|
+
**2. Value restated at the moment of commitment.**
|
|
113
|
+
[Intercom's email step](https://mobbin.com/screens/afda2628-1eab-42c5-9802-2247692a2cc3)
|
|
114
|
+
headlines the form with "Start your 14-day free trial. No credit card
|
|
115
|
+
needed." β the risk-reducer lives on the signup page itself, not only the
|
|
116
|
+
landing page. Its Continue button stays visibly disabled (gray) until the
|
|
117
|
+
email is valid, with "Continue with Google" as an alternative below an "or"
|
|
118
|
+
divider.
|
|
119
|
+
|
|
120
|
+
**3. Progressive disclosure over long forms.**
|
|
121
|
+
Intercom's stepper (progress bar + one field per screen) and OpenAI's
|
|
122
|
+
name-only step show top products split signup into micro-steps rather than
|
|
123
|
+
one long form. Tally's step is explicitly framed as finishing: "Tell us a
|
|
124
|
+
little about yourself β add your name and create a password to finish
|
|
125
|
+
setting up."
|
|
126
|
+
|
|
127
|
+
**4. Personality is allowed but optional.**
|
|
128
|
+
[Amie](https://mobbin.com/screens/e2e2434d-ae6c-4354-ac0d-a4b7b4bc82a6)
|
|
129
|
+
uses conversational lowercase labels ("what's your email? (only Gmail for
|
|
130
|
+
now)", "we also love nicknames!") with inline tips β playful, but still just
|
|
131
|
+
two fields and one Continue button.
|
|
132
|
+
|
|
133
|
+
**5. Chrome is stripped.**
|
|
134
|
+
All signup screens remove the marketing nav; at most a logo (centered or
|
|
135
|
+
top-left) and a single escape link ("Sign in" top-right on Intercom/Vercel).
|
|
136
|
+
Legal consent is one line of small gray text with inline links, under the
|
|
137
|
+
button (OpenAI: "By clicking 'Continue', you agree to our Termsβ¦").
|
|
138
|
+
|
|
139
|
+
### Design rules β signup
|
|
140
|
+
|
|
141
|
+
- One column, centered, max ~400px wide; logo above; page background plain
|
|
142
|
+
white/neutral.
|
|
143
|
+
- Ask 1β3 fields per screen; prefer multiple micro-steps to one long form.
|
|
144
|
+
- Label fields above inputs; put format hints as small helper text below.
|
|
145
|
+
- Full-width Continue button in brand/near-black; disable until valid.
|
|
146
|
+
- Offer one OAuth alternative separated by "or" β don't stack five providers
|
|
147
|
+
above the fold (Vercel tucks extras behind "Other Sign Up options").
|
|
148
|
+
- Restate the offer/risk-reducer as the form headline ("14-day free trial.
|
|
149
|
+
No credit card needed.").
|
|
150
|
+
- Show progress (bar or step count) when signup spans multiple screens.
|
|
151
|
+
- Keep terms consent as passive microcopy under the CTA, not a checkbox,
|
|
152
|
+
unless legally required (contrast: marketing consent checkboxes belong in
|
|
153
|
+
footers/newsletters).
|
|
154
|
+
|
|
155
|
+
## Anti-patterns
|
|
156
|
+
|
|
157
|
+
- **Marketing on the signup page**: sidebars of testimonials, feature lists,
|
|
158
|
+
or nav menus β every sampled signup screen is empty except the form.
|
|
159
|
+
- **Long monolithic forms** (name + email + password + company + phone +
|
|
160
|
+
role on one screen); leaders split these across steps.
|
|
161
|
+
- **Password rules revealed only on error** β Faire/Tally show requirements
|
|
162
|
+
up front as helper text.
|
|
163
|
+
- **Landing screenshots that are fake or empty-state UI** β sampled leaders
|
|
164
|
+
show populated, plausible workspaces.
|
|
165
|
+
- **Two equally-weighted hero CTAs** β the primary is always visually
|
|
166
|
+
dominant; demo/sales is secondary.
|
|
167
|
+
- **Hiding "Sign in"** from returning users on signup pages; Vercel and
|
|
168
|
+
Intercom keep it top-right.
|