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.
Files changed (65) hide show
  1. package/LICENSE +29 -0
  2. package/README.md +191 -0
  3. package/dist/examples.js +67 -0
  4. package/dist/index.js +374 -0
  5. package/dist/knowledge.js +123 -0
  6. package/knowledge/books/design-of-everyday-things.md +155 -0
  7. package/knowledge/books/dont-make-me-think.md +154 -0
  8. package/knowledge/books/grid-typography-classics.md +152 -0
  9. package/knowledge/books/hooked-retention.md +196 -0
  10. package/knowledge/books/influence-persuasion.md +232 -0
  11. package/knowledge/books/positioning-messaging.md +178 -0
  12. package/knowledge/books/psychology-of-design.md +152 -0
  13. package/knowledge/books/refactoring-ui.md +157 -0
  14. package/knowledge/books/storybrand-copywriting.md +194 -0
  15. package/knowledge/components/buttons.md +90 -0
  16. package/knowledge/components/cards-lists-modals.md +63 -0
  17. package/knowledge/components/forms-inputs.md +61 -0
  18. package/knowledge/components/navigation.md +54 -0
  19. package/knowledge/craft/design-critique-scoring.md +237 -0
  20. package/knowledge/craft/typography-craft.md +177 -0
  21. package/knowledge/craft/ux-writing.md +185 -0
  22. package/knowledge/craft/visual-craft-standards.md +161 -0
  23. package/knowledge/design-languages/android-app-design.md +197 -0
  24. package/knowledge/design-languages/apple-hig-liquid-glass.md +94 -0
  25. package/knowledge/design-languages/design-tokens-theming.md +108 -0
  26. package/knowledge/design-languages/fluent-2.md +82 -0
  27. package/knowledge/design-languages/ios-app-design.md +205 -0
  28. package/knowledge/design-languages/macos-app-design.md +202 -0
  29. package/knowledge/design-languages/material-3.md +113 -0
  30. package/knowledge/design-languages/web-trends-2026.md +87 -0
  31. package/knowledge/examples/ios.json +299 -0
  32. package/knowledge/examples/web.json +321 -0
  33. package/knowledge/geo/geo-fundamentals.md +120 -0
  34. package/knowledge/geo/geo-tactics-checklist.md +148 -0
  35. package/knowledge/marketing/ad-creative.md +155 -0
  36. package/knowledge/marketing/branding-identity.md +153 -0
  37. package/knowledge/marketing/email-marketing.md +155 -0
  38. package/knowledge/patterns/mobile/android-patterns.md +181 -0
  39. package/knowledge/patterns/mobile/auth-patterns.md +69 -0
  40. package/knowledge/patterns/mobile/checkout-payments.md +77 -0
  41. package/knowledge/patterns/mobile/empty-states-buttons.md +80 -0
  42. package/knowledge/patterns/mobile/navigation-home.md +78 -0
  43. package/knowledge/patterns/mobile/onboarding-paywall.md +85 -0
  44. package/knowledge/patterns/mobile/settings-lists.md +71 -0
  45. package/knowledge/patterns/web/dashboards.md +141 -0
  46. package/knowledge/patterns/web/feature-sections.md +122 -0
  47. package/knowledge/patterns/web/hero-sections.md +121 -0
  48. package/knowledge/patterns/web/landing-signup.md +168 -0
  49. package/knowledge/patterns/web/pricing-sections.md +122 -0
  50. package/knowledge/patterns/web/social-proof-footer.md +156 -0
  51. package/knowledge/process/marketing-website-roadmap.md +72 -0
  52. package/knowledge/process/product-design-roadmap.md +117 -0
  53. package/knowledge/seo/on-page-seo.md +124 -0
  54. package/knowledge/seo/seo-for-designers.md +159 -0
  55. package/knowledge/seo/technical-seo.md +194 -0
  56. package/knowledge/ux/accessibility.md +68 -0
  57. package/knowledge/ux/color-systems.md +58 -0
  58. package/knowledge/ux/conversion-ux.md +78 -0
  59. package/knowledge/ux/mobile-ux.md +69 -0
  60. package/knowledge/ux/motion-microinteractions.md +67 -0
  61. package/knowledge/ux/principles-heuristics.md +57 -0
  62. package/knowledge/ux/spacing-layout.md +68 -0
  63. package/knowledge/ux/typography.md +63 -0
  64. package/package.json +63 -0
  65. 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.