vibespot 0.4.0
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 +33 -0
- package/README.md +118 -0
- package/assets/content-guide.md +445 -0
- package/assets/conversion-guide.md +693 -0
- package/assets/design-guide.md +380 -0
- package/assets/hubspot-rules.md +560 -0
- package/assets/page-types.md +116 -0
- package/bin/vibespot.mjs +11 -0
- package/dist/index.js +6552 -0
- package/dist/index.js.map +1 -0
- package/package.json +53 -0
- package/ui/chat.js +803 -0
- package/ui/dashboard.js +383 -0
- package/ui/dialog.js +117 -0
- package/ui/field-editor.js +292 -0
- package/ui/index.html +393 -0
- package/ui/preview.js +132 -0
- package/ui/settings.js +927 -0
- package/ui/setup.js +830 -0
- package/ui/styles.css +2552 -0
- package/ui/upload-panel.js +554 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
vibeSpot - Personal Use License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2024-2026 Boris Michel. All rights reserved.
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to use,
|
|
7
|
+
copy, and modify the Software for personal, non-commercial purposes only,
|
|
8
|
+
subject to the following conditions:
|
|
9
|
+
|
|
10
|
+
1. NON-COMMERCIAL USE ONLY. The Software may not be used, in whole or in part,
|
|
11
|
+
for any commercial purpose. Commercial purpose includes, but is not limited
|
|
12
|
+
to: selling, licensing, sublicensing, or distributing the Software or any
|
|
13
|
+
derivative work for a fee; using the Software to provide paid services;
|
|
14
|
+
incorporating the Software into a product or service that is sold or
|
|
15
|
+
offered commercially.
|
|
16
|
+
|
|
17
|
+
2. NO REDISTRIBUTION FOR SALE. You may not sell, sublicense, or otherwise
|
|
18
|
+
transfer the Software or any derivative work to any third party for
|
|
19
|
+
commercial gain.
|
|
20
|
+
|
|
21
|
+
3. ATTRIBUTION. Any permitted use of the Software must retain this license
|
|
22
|
+
notice, the above copyright notice, and the following attribution:
|
|
23
|
+
"Built with vibeSpot by Boris Michel."
|
|
24
|
+
|
|
25
|
+
4. NO WARRANTY. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
|
26
|
+
KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
27
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
28
|
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
|
|
29
|
+
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
|
|
30
|
+
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
|
31
|
+
USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
32
|
+
|
|
33
|
+
For commercial licensing inquiries, contact Boris Michel.
|
package/README.md
ADDED
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
# vibeSpot
|
|
2
|
+
|
|
3
|
+
AI-powered HubSpot CMS landing page builder — vibe coding & React converter.
|
|
4
|
+
|
|
5
|
+
```
|
|
6
|
+
≋ vibeSpot — Build HubSpot Landing Pages with AI
|
|
7
|
+
```
|
|
8
|
+
|
|
9
|
+
## What It Does
|
|
10
|
+
|
|
11
|
+
vibeSpot lets you build HubSpot landing pages by chatting with AI. Describe what you want, and it generates native HubSpot CMS modules — fully editable in the HubSpot page editor. No coding knowledge required.
|
|
12
|
+
|
|
13
|
+
It also converts existing React landing pages (built with Lovable, v0, Bolt, or any React-based builder) into HubSpot-native modules.
|
|
14
|
+
|
|
15
|
+
### Vibe Coding Mode (Default)
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npx vibespot
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
Opens a browser with:
|
|
22
|
+
- **Chat on the left** — describe your landing page in natural language
|
|
23
|
+
- **Live preview on the right** — see your page render in real-time
|
|
24
|
+
- **Project sidebar** — create, open, resume, or delete projects
|
|
25
|
+
- **Module management** — reorder via drag-and-drop, edit fields, delete modules
|
|
26
|
+
- **Starter templates** — SaaS, Portfolio, Restaurant, Event
|
|
27
|
+
- **GitHub import** — convert existing React projects
|
|
28
|
+
- **Field editor** — tweak text, colors, images directly
|
|
29
|
+
- **Upload to HubSpot** — celebration popup with direct link to create pages
|
|
30
|
+
- **Version history** — automatic git commits after each AI generation
|
|
31
|
+
|
|
32
|
+
### Classic Wizard Mode
|
|
33
|
+
|
|
34
|
+
```bash
|
|
35
|
+
npx vibespot wizard
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
Step-by-step CLI wizard for converting an existing React project to HubSpot modules.
|
|
39
|
+
|
|
40
|
+
## Setup Guide
|
|
41
|
+
|
|
42
|
+
### 1. Check if Node.js is installed
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
node -v
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
If you see `v18.x.x` or higher, you're good. Otherwise install from [nodejs.org](https://nodejs.org).
|
|
49
|
+
|
|
50
|
+
### 2. Install an AI Engine
|
|
51
|
+
|
|
52
|
+
vibeSpot needs an AI engine to generate code. Use **one** of these:
|
|
53
|
+
|
|
54
|
+
| Engine | Install | Notes |
|
|
55
|
+
|--------|---------|-------|
|
|
56
|
+
| Anthropic API | No install — just need an API key | Get one at [console.anthropic.com](https://console.anthropic.com) |
|
|
57
|
+
| OpenAI API | No install — just need an API key | Any OpenAI model |
|
|
58
|
+
| Gemini API | No install — just need an API key | Google Gemini models |
|
|
59
|
+
| [Claude Code](https://claude.ai/code) | `npm install -g @anthropic-ai/claude-code` | Uses your Claude subscription |
|
|
60
|
+
| [Gemini CLI](https://github.com/google-gemini/gemini-cli) | `npm install -g @google/gemini-cli` | Uses your Google AI account |
|
|
61
|
+
| [OpenAI Codex](https://github.com/openai/codex) | `npm install -g @openai/codex` | Uses your OpenAI account |
|
|
62
|
+
|
|
63
|
+
### 3. Run vibeSpot
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
npx vibespot
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
The browser opens automatically. Enter your API key in the setup screen, create or open a theme, and start chatting.
|
|
70
|
+
|
|
71
|
+
## After Building Your Page
|
|
72
|
+
|
|
73
|
+
Once your modules are ready:
|
|
74
|
+
|
|
75
|
+
1. Click **Upload to HubSpot** in the toolbar
|
|
76
|
+
2. The celebration popup shows a direct link to your HubSpot portal (EU and NA regions auto-detected)
|
|
77
|
+
3. In HubSpot: **Content** → **Landing Pages** → **Create**
|
|
78
|
+
4. Choose your uploaded theme
|
|
79
|
+
5. Drag your modules onto the page
|
|
80
|
+
6. Edit text, images, and colors in the page editor
|
|
81
|
+
7. Preview and publish!
|
|
82
|
+
|
|
83
|
+
## Commands
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
vibespot # Vibe coding web UI (default)
|
|
87
|
+
vibespot wizard # Classic CLI wizard
|
|
88
|
+
vibespot init # Check and install required tools
|
|
89
|
+
vibespot convert # Convert a React project (no upload)
|
|
90
|
+
vibespot upload # Upload theme to HubSpot
|
|
91
|
+
vibespot doctor # Diagnose environment issues
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
Most users only need `npx vibespot` — the web UI handles everything.
|
|
95
|
+
|
|
96
|
+
## Configuration
|
|
97
|
+
|
|
98
|
+
Settings are saved in `~/.vibespot/config.json`:
|
|
99
|
+
- `aiEngine` — Your preferred AI engine (`anthropic-api`, `openai-api`, `gemini-api`, `claude-code`, `gemini-cli`, `codex-cli`)
|
|
100
|
+
- `anthropicApiKey` — Your Anthropic API key
|
|
101
|
+
- `openaiApiKey` — Your OpenAI API key
|
|
102
|
+
- `geminiApiKey` — Your Gemini API key
|
|
103
|
+
- `lastThemePath` — Last used theme directory
|
|
104
|
+
- `lastSourcePath` — Last used source directory
|
|
105
|
+
|
|
106
|
+
## Troubleshooting
|
|
107
|
+
|
|
108
|
+
**"command not found: node"** — Install Node.js from [nodejs.org](https://nodejs.org) and restart your terminal.
|
|
109
|
+
|
|
110
|
+
**"vibeSpot has not been built yet"** — Use `npx vibespot` instead, or run `npm run build` first.
|
|
111
|
+
|
|
112
|
+
**HubSpot upload keeps failing** — Run `vibespot doctor` to check your setup. Make sure `hs accounts list` shows your portal.
|
|
113
|
+
|
|
114
|
+
**Preview shows default template instead of modules** — Delete the boilerplate modules (button, card, menu, pricing-card, social-follow) using the × button on each module in the sidebar.
|
|
115
|
+
|
|
116
|
+
## License
|
|
117
|
+
|
|
118
|
+
MIT
|
|
@@ -0,0 +1,445 @@
|
|
|
1
|
+
# CONTENT.md — Landing Page Content Population Rules
|
|
2
|
+
|
|
3
|
+
> This file teaches Claude Code HOW to fill pages with rich, believable, lively content. The design system (CLAUDE.md) handles look and feel. This file handles **substance** — so pages never feel like empty shells with nice fonts.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
## The Core Problem You Must Solve
|
|
8
|
+
|
|
9
|
+
AI-generated landing pages almost always have the same failure mode: **great hero, then a ghost town.** The headline is punchy, the font is bold, but scroll down and you find: empty card outlines, one lonely testimonial, a "How it Works" section with 3 vague steps, and vast stretches of background with nothing in them.
|
|
10
|
+
|
|
11
|
+
**Real landing pages are DENSE with content.** Not cluttered — dense. Every section earns its space with specific, concrete, believable information. Your job is to generate pages that feel like a real business made them, not like a wireframe with a nice coat of paint.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 1. Page Architecture — The Full Section Blueprint
|
|
16
|
+
|
|
17
|
+
Every landing page you generate MUST include ALL of the following sections, in roughly this order. Never skip sections. Never leave sections half-populated. If the user only asked for a "landing page," they mean **all of this.**
|
|
18
|
+
|
|
19
|
+
### MANDATORY SECTIONS (generate all of these):
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
1. NAVIGATION BAR
|
|
23
|
+
- Logo/brand name (left)
|
|
24
|
+
- 4-5 nav links (center or right)
|
|
25
|
+
- CTA button (right, contrasting style)
|
|
26
|
+
- Sticky on scroll with backdrop-blur
|
|
27
|
+
|
|
28
|
+
2. HERO
|
|
29
|
+
- Badge/pill label (e.g., "⚡ Same-Day Service" or "New: AI-powered")
|
|
30
|
+
- Primary headline (bold, emotional, specific)
|
|
31
|
+
- Subheadline (1-2 sentences, supporting detail)
|
|
32
|
+
- Primary CTA button (with price/action hint)
|
|
33
|
+
- Secondary CTA or link (lower commitment option)
|
|
34
|
+
- Trust signals directly below CTAs (e.g., "★ 4.9 from 200+ reviews" or "No credit card required")
|
|
35
|
+
- Visual element (illustration, product shot placeholder, gradient shape, or decorative graphic)
|
|
36
|
+
|
|
37
|
+
3. SOCIAL PROOF BAR (immediately after hero)
|
|
38
|
+
- Logo strip of 4-6 clients/partners/press mentions
|
|
39
|
+
- OR a stats bar: "500+ customers · 4.9★ rating · 12 cities · Same-day available"
|
|
40
|
+
- This section can be compact (py-8) — it's a trust bridge between hero and content
|
|
41
|
+
|
|
42
|
+
4. FEATURES / SERVICES (what you offer)
|
|
43
|
+
- Section label + headline
|
|
44
|
+
- 3-6 feature cards, each with:
|
|
45
|
+
· Icon (Lucide)
|
|
46
|
+
· Title (short, specific)
|
|
47
|
+
· Description (2-3 sentences of REAL detail)
|
|
48
|
+
· Optional: metric, link, or mini-visual
|
|
49
|
+
- Layout: grid, bento, or alternating left/right
|
|
50
|
+
|
|
51
|
+
5. HOW IT WORKS (process/steps)
|
|
52
|
+
- Section label + headline
|
|
53
|
+
- 3-4 numbered steps, each with:
|
|
54
|
+
· Step number (styled prominently)
|
|
55
|
+
· Title (action verb)
|
|
56
|
+
· Description (what happens, how long, what user does)
|
|
57
|
+
· Visual or icon per step
|
|
58
|
+
- Connected by a visual line, arrows, or numbered flow
|
|
59
|
+
|
|
60
|
+
6. SOCIAL PROOF / TESTIMONIALS
|
|
61
|
+
- Section label + headline
|
|
62
|
+
- AT LEAST 3 testimonials (never just 1!)
|
|
63
|
+
- Each testimonial MUST include:
|
|
64
|
+
· Full quote (2-4 sentences, specific and believable)
|
|
65
|
+
· Person's name
|
|
66
|
+
· Role or context (e.g., "Tenant, Schwabing" or "Marketing Lead, Acme Corp")
|
|
67
|
+
· Star rating (visual stars)
|
|
68
|
+
· Optional: avatar placeholder (colored circle with initials)
|
|
69
|
+
- Layout: 3-column grid, carousel hint, or stacked cards
|
|
70
|
+
|
|
71
|
+
7. PRICING or VALUE PROPOSITION
|
|
72
|
+
- If service business: pricing table or "starting from" cards
|
|
73
|
+
- If SaaS: 2-3 tier pricing cards with feature lists
|
|
74
|
+
- If not pricing, then a strong VALUE section:
|
|
75
|
+
· Key metrics in large text (e.g., "47% faster", "€2.1M saved", "3x more leads")
|
|
76
|
+
· Supporting context for each metric
|
|
77
|
+
- Always include a CTA in this section
|
|
78
|
+
|
|
79
|
+
8. FAQ
|
|
80
|
+
- Section label + headline
|
|
81
|
+
- 4-6 questions with answers
|
|
82
|
+
- Use expandable accordion or visible Q&A pairs
|
|
83
|
+
- Questions should address REAL concerns (pricing, timing, guarantees, scope)
|
|
84
|
+
- Answers should be specific, not generic
|
|
85
|
+
|
|
86
|
+
9. FINAL CTA (closing section)
|
|
87
|
+
- Strong headline (restate the core promise or urgency)
|
|
88
|
+
- Subtext (remove last objections)
|
|
89
|
+
- Primary + Secondary CTA buttons
|
|
90
|
+
- Optional: guarantee badge, trust signal, or urgency element
|
|
91
|
+
- This section should feel visually distinct (different background shade, or bold color)
|
|
92
|
+
|
|
93
|
+
10. FOOTER
|
|
94
|
+
- Brand name + one-line tagline
|
|
95
|
+
- 3-4 link columns (Services, Company, Support, Legal)
|
|
96
|
+
- Each column has 3-5 links
|
|
97
|
+
- Contact info (email, phone, or address)
|
|
98
|
+
- Social media icons (Lucide: twitter/x, instagram, linkedin, facebook)
|
|
99
|
+
- Copyright line
|
|
100
|
+
- Optional: small trust badges (payment methods, certifications)
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
### OPTIONAL SECTIONS (include 1-2 when they fit):
|
|
104
|
+
- **Comparison table** — "Us vs. Them" or "Before/After"
|
|
105
|
+
- **Case study highlight** — One customer story in detail
|
|
106
|
+
- **Team/About strip** — 3-4 team member cards (for service businesses)
|
|
107
|
+
- **Blog/Resource teasers** — 3 recent article cards
|
|
108
|
+
- **Partners/Integrations** — Logo grid with names
|
|
109
|
+
- **Map/Service area** — For local businesses
|
|
110
|
+
- **Video embed placeholder** — With play button overlay on a gradient thumbnail
|
|
111
|
+
|
|
112
|
+
---
|
|
113
|
+
|
|
114
|
+
## 2. Content Voice & Copywriting Rules
|
|
115
|
+
|
|
116
|
+
### Headlines: The "Bar Test"
|
|
117
|
+
Every headline should pass the **bar test**: if you shouted it across a bar, would someone turn their head? If not, rewrite.
|
|
118
|
+
|
|
119
|
+
```
|
|
120
|
+
❌ "Our Services" → ✅ "What We Actually Do"
|
|
121
|
+
❌ "How It Works" → ✅ "Unclogged in 3 Steps"
|
|
122
|
+
❌ "Pricing" → ✅ "Cheaper Than Your Uber Eats Habit"
|
|
123
|
+
❌ "Testimonials" → ✅ "Don't Take Our Word For It"
|
|
124
|
+
❌ "Get Started" → ✅ "Blocked Drain? Text Us a Photo."
|
|
125
|
+
❌ "Features" → ✅ "Everything You Get, Nothing You Don't"
|
|
126
|
+
❌ "About Us" → ✅ "Started in a Garage. Now We Run the Block."
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### Section Labels (the small text above headlines)
|
|
130
|
+
Always include these. They orient the reader and add visual rhythm.
|
|
131
|
+
```
|
|
132
|
+
- Use UPPERCASE TRACKING (letter-spacing: 0.1em)
|
|
133
|
+
- Keep to 2-3 words
|
|
134
|
+
- Use accent color
|
|
135
|
+
- Examples: "HOW IT WORKS" · "STUDENT PRICING" · "REAL REVIEWS" · "THE PROCESS" · "WHY US"
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### Body Copy Rules
|
|
139
|
+
- **Never write generic filler.** Every sentence should contain a SPECIFIC detail.
|
|
140
|
+
- Invent plausible specifics that match the business type:
|
|
141
|
+
· Neighborhood names, not just "your area"
|
|
142
|
+
· "48 hours" not "quickly"
|
|
143
|
+
· "€49" not "affordable pricing"
|
|
144
|
+
· "Sarah, Tenant in Schwabing" not "Happy Customer"
|
|
145
|
+
- Keep paragraphs to 2-3 sentences maximum
|
|
146
|
+
- Aim for 6th-grade reading level (short words, short sentences)
|
|
147
|
+
- Write like a human who's slightly funny, not like a brochure
|
|
148
|
+
|
|
149
|
+
### CTA Button Copy
|
|
150
|
+
Never use "Submit" or "Learn More." Always tie the CTA to a specific outcome:
|
|
151
|
+
```
|
|
152
|
+
✅ "Book Now — From €49 →"
|
|
153
|
+
✅ "Start Free Trial · No Card Required"
|
|
154
|
+
✅ "Get My Custom Quote in 10 Min"
|
|
155
|
+
✅ "See Pricing →"
|
|
156
|
+
✅ "Join 2,000+ Happy Customers"
|
|
157
|
+
✅ "Send Us a Photo via WhatsApp"
|
|
158
|
+
✅ "Download the Free Guide"
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## 3. Content Density Rules — Never Leave Empty Space
|
|
164
|
+
|
|
165
|
+
### The "Scroll Test"
|
|
166
|
+
Scroll through your generated page mentally. At EVERY viewport-height (100vh), the user should see:
|
|
167
|
+
- At least one piece of **specific data** (number, price, time, rating)
|
|
168
|
+
- At least one piece of **social proof** (quote, logo, rating, customer count)
|
|
169
|
+
- At least one **visual element** (icon, illustration, decorative shape, gradient block)
|
|
170
|
+
- A clear sense of **what section they're in** (label + headline visible)
|
|
171
|
+
|
|
172
|
+
### Minimum Content Quantities
|
|
173
|
+
| Element | Minimum | Why |
|
|
174
|
+
|---------|---------|-----|
|
|
175
|
+
| Testimonials | 3 | One looks fake, two looks thin, three looks real |
|
|
176
|
+
| Feature cards | 4 | Three is a wireframe, four-six is a product |
|
|
177
|
+
| FAQ items | 4 | Fewer looks like you're hiding something |
|
|
178
|
+
| Process steps | 3 | The natural narrative arc |
|
|
179
|
+
| Stats/metrics | 3 | Scattered singles look accidental |
|
|
180
|
+
| Footer columns | 3 | Fewer looks like a side project |
|
|
181
|
+
| Nav links | 4-5 | Establishes the site has depth |
|
|
182
|
+
| CTA repetitions | 3 | Hero, mid-page, and closing (minimum) |
|
|
183
|
+
|
|
184
|
+
### Filling "Card" Components
|
|
185
|
+
Every card-style component must contain ALL of:
|
|
186
|
+
- Icon or visual element (top)
|
|
187
|
+
- Title (bold, 3-6 words)
|
|
188
|
+
- Description (2-3 sentences with specific detail)
|
|
189
|
+
- Optional: a link, metric, or tag at the bottom
|
|
190
|
+
|
|
191
|
+
**Never generate a card that is just a title and one sentence.** That's a wireframe, not a landing page.
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
## 4. Generating Believable Fake Content
|
|
196
|
+
|
|
197
|
+
When you need to invent content for a business, make it **specific and plausible**, not generic.
|
|
198
|
+
|
|
199
|
+
### Testimonials Template
|
|
200
|
+
```
|
|
201
|
+
"[Specific problem they had]. [How the service solved it — with detail]. [Emotional result or recommendation]."
|
|
202
|
+
|
|
203
|
+
— [First Name] [Last Name], [Role/Context], [Location]
|
|
204
|
+
★★★★★
|
|
205
|
+
|
|
206
|
+
EXAMPLES:
|
|
207
|
+
|
|
208
|
+
"Our kitchen drain backed up on a Sunday night with 6 guests over for dinner.
|
|
209
|
+
They showed up in 40 minutes and had it flowing in under an hour.
|
|
210
|
+
Absolute lifesavers — already recommended to three neighbors."
|
|
211
|
+
|
|
212
|
+
— Maria Kowalski, Homeowner, Sendling
|
|
213
|
+
★★★★★
|
|
214
|
+
|
|
215
|
+
"I run a small café and our grease trap was a disaster. Other plumbers quoted
|
|
216
|
+
€800+. These guys did it for €180 and even showed me how to prevent it.
|
|
217
|
+
Genuinely the first tradesperson I've ever left a Google review for."
|
|
218
|
+
|
|
219
|
+
— Tom Berger, Owner of Café Morgenrot, Haidhausen
|
|
220
|
+
★★★★★
|
|
221
|
+
|
|
222
|
+
"Moved into a new flat and discovered the bathroom drain was completely blocked.
|
|
223
|
+
Landlord was unreachable. Texted a photo on WhatsApp, got a quote in 8 minutes,
|
|
224
|
+
fixed the next morning for €49. Student discount was a nice surprise too."
|
|
225
|
+
|
|
226
|
+
— Lisa Nguyen, Student, Maxvorstadt
|
|
227
|
+
★★★★★
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
### Pricing Content Template
|
|
231
|
+
```
|
|
232
|
+
TIER NAME
|
|
233
|
+
€[Price] / [unit]
|
|
234
|
+
[One-line summary of who this is for]
|
|
235
|
+
|
|
236
|
+
✓ [Specific included thing with detail]
|
|
237
|
+
✓ [Specific included thing with detail]
|
|
238
|
+
✓ [Specific included thing with detail]
|
|
239
|
+
✓ [Specific included thing with detail]
|
|
240
|
+
✗ [What's NOT included — builds honesty]
|
|
241
|
+
|
|
242
|
+
[CTA Button]
|
|
243
|
+
[Small trust note: "No contracts" or "Cancel anytime"]
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
### FAQ Content Template
|
|
247
|
+
```
|
|
248
|
+
Q: [Question a real customer would Google or text you]
|
|
249
|
+
A: [Direct answer — first sentence is the answer, second sentence adds useful context.
|
|
250
|
+
Never start with "Great question!" or "Yes, we..." — just answer it.]
|
|
251
|
+
|
|
252
|
+
EXAMPLES:
|
|
253
|
+
|
|
254
|
+
Q: Do you work on weekends?
|
|
255
|
+
A: Yes, 7 days a week including holidays. Weekend callouts have a €15
|
|
256
|
+
surcharge, but we'll tell you upfront before we come out.
|
|
257
|
+
|
|
258
|
+
Q: What if you can't fix it?
|
|
259
|
+
A: You don't pay. Our guarantee is simple — if we can't unclog it,
|
|
260
|
+
the visit is free. We've only had to honor that twice in 3 years.
|
|
261
|
+
|
|
262
|
+
Q: How fast can you get here?
|
|
263
|
+
A: Average arrival time is 45 minutes within the city. We'll give you
|
|
264
|
+
a real-time ETA after booking, not a vague "2-4 hour window."
|
|
265
|
+
```
|
|
266
|
+
|
|
267
|
+
### Stats / Metrics Template
|
|
268
|
+
Generate at least 3 concrete metrics somewhere on the page:
|
|
269
|
+
```
|
|
270
|
+
EXAMPLES (pick the style that fits the business):
|
|
271
|
+
|
|
272
|
+
"2,847 drains unclogged this year"
|
|
273
|
+
"45 min average response time"
|
|
274
|
+
"4.9★ across 340+ Google reviews"
|
|
275
|
+
"€0 callout fee — ever"
|
|
276
|
+
"98.7% first-visit fix rate"
|
|
277
|
+
"12 neighborhoods covered"
|
|
278
|
+
|
|
279
|
+
FOR SAAS:
|
|
280
|
+
"47% average increase in conversion"
|
|
281
|
+
"<100ms API response time"
|
|
282
|
+
"99.99% uptime, 365 days/year"
|
|
283
|
+
"Used by 3,200+ teams worldwide"
|
|
284
|
+
"Set up in under 5 minutes"
|
|
285
|
+
"Integrates with 40+ tools"
|
|
286
|
+
```
|
|
287
|
+
|
|
288
|
+
---
|
|
289
|
+
|
|
290
|
+
## 5. Visual Content Strategy (What Goes Where Images Would Go)
|
|
291
|
+
|
|
292
|
+
Since we can't generate real photos, use these techniques to fill visual space:
|
|
293
|
+
|
|
294
|
+
### For Hero Sections
|
|
295
|
+
- **CSS illustration / branded graphic**: A stylized SVG or CSS-art related to the business
|
|
296
|
+
- **Gradient shape with icon overlay**: A large gradient blob or card with a hero-sized Lucide icon
|
|
297
|
+
- **Decorative text treatment**: The brand name or key word set in huge, faded display type as a background element
|
|
298
|
+
- **Emoji or icon at scale**: A single relevant emoji at 120px+ as a playful hero visual (works for casual brands)
|
|
299
|
+
- **Abstract pattern**: A CSS grid/dot pattern or geometric shape that implies the product
|
|
300
|
+
|
|
301
|
+
### For Testimonial Avatars
|
|
302
|
+
- Colored circle with initials: `<div class="w-12 h-12 rounded-full bg-orange-500 flex items-center justify-center text-white font-bold">MK</div>`
|
|
303
|
+
- Never leave avatar spaces empty
|
|
304
|
+
|
|
305
|
+
### For Feature/Service Icons
|
|
306
|
+
- Always use Lucide icons — be specific to the feature, not generic
|
|
307
|
+
- Size them at 24-32px inside a colored container (rounded square or circle)
|
|
308
|
+
- Example icon choices:
|
|
309
|
+
```
|
|
310
|
+
Plumber: Wrench, Droplets, ShowerHead, Timer, Shield, Truck
|
|
311
|
+
SaaS: Zap, BarChart3, Lock, Layers, Rocket, Globe
|
|
312
|
+
Restaurant: UtensilsCrossed, Clock, MapPin, Star, Heart, Leaf
|
|
313
|
+
Fitness: Dumbbell, Heart, Timer, TrendingUp, Users, Award
|
|
314
|
+
```
|
|
315
|
+
|
|
316
|
+
### For Process/Steps
|
|
317
|
+
- Large step numbers (48-72px, bold, accent color or faded)
|
|
318
|
+
- Connected by a vertical line or dotted path between steps
|
|
319
|
+
- Each step should have its own icon, not just numbers
|
|
320
|
+
|
|
321
|
+
### For the Logo/Trust Bar
|
|
322
|
+
- Use styled text "logos" as placeholders: company names in a distinctive font with opacity
|
|
323
|
+
- Or use pill-shaped badges: `<span class="px-4 py-2 rounded-full border border-white/20 text-white/60 text-sm">TechCrunch</span>`
|
|
324
|
+
|
|
325
|
+
---
|
|
326
|
+
|
|
327
|
+
## 6. Content Rhythm & Visual Pacing
|
|
328
|
+
|
|
329
|
+
### Alternating Section Density
|
|
330
|
+
Don't make every section the same weight. Alternate:
|
|
331
|
+
|
|
332
|
+
```
|
|
333
|
+
HERO — Full, rich, attention-grabbing (100vh)
|
|
334
|
+
TRUST BAR — Compact, just logos/stats (py-8 to py-12)
|
|
335
|
+
FEATURES — Dense, multi-card grid (tall section)
|
|
336
|
+
HOW IT WORKS — Medium, 3-4 steps with breathing room
|
|
337
|
+
TESTIMONIALS — Dense, 3+ cards in a grid or scroll
|
|
338
|
+
PRICING — Medium, 2-3 focused cards
|
|
339
|
+
FAQ — Compact but useful (accordion saves space)
|
|
340
|
+
FINAL CTA — Full width, bold, short (50vh max)
|
|
341
|
+
FOOTER — Dense with links, compact
|
|
342
|
+
```
|
|
343
|
+
|
|
344
|
+
### Background Alternation
|
|
345
|
+
Alternate backgrounds to create visual rhythm and prevent "wall of same":
|
|
346
|
+
```
|
|
347
|
+
Section 1: Dark background
|
|
348
|
+
Section 2: Slightly lighter (e.g., #111 vs #0a0a0a, or white vs #fafafa)
|
|
349
|
+
Section 3: Back to dark (or a subtle accent-tinted background)
|
|
350
|
+
Section 4: Lighter again
|
|
351
|
+
...
|
|
352
|
+
```
|
|
353
|
+
Every 2-3 sections should have a noticeable background shift. This is what makes a page feel like it has "chapters."
|
|
354
|
+
|
|
355
|
+
### Inline Trust Signals
|
|
356
|
+
Don't cluster all proof in one section. Sprinkle it:
|
|
357
|
+
- Hero: "★ 4.9 from 200+ reviews"
|
|
358
|
+
- Below features: "Trusted by 3,000+ businesses"
|
|
359
|
+
- Inside pricing: "No hidden fees — guaranteed"
|
|
360
|
+
- Before final CTA: "Join 500+ customers who switched this month"
|
|
361
|
+
|
|
362
|
+
---
|
|
363
|
+
|
|
364
|
+
## 7. Common Business Type Templates
|
|
365
|
+
|
|
366
|
+
When the user gives you a business type, instantly map it to concrete content:
|
|
367
|
+
|
|
368
|
+
### LOCAL SERVICE (Plumber, Electrician, Cleaner, Locksmith)
|
|
369
|
+
```
|
|
370
|
+
Hero angle: Pain point + speed promise
|
|
371
|
+
Must-have content: Service area map, response time, pricing transparency
|
|
372
|
+
Testimonials: Mention neighborhoods, specific situations, urgency
|
|
373
|
+
CTAs: Phone number, WhatsApp, booking form
|
|
374
|
+
Stats: Response time, jobs completed, satisfaction rate
|
|
375
|
+
FAQ focus: Pricing, availability, guarantees, service area
|
|
376
|
+
```
|
|
377
|
+
|
|
378
|
+
### SAAS / TECH PRODUCT
|
|
379
|
+
```
|
|
380
|
+
Hero angle: Outcome-first ("Save 10hrs/week") not feature-first
|
|
381
|
+
Must-have content: Feature grid with descriptions, integration logos, product screenshot placeholder
|
|
382
|
+
Testimonials: Include company names and job titles
|
|
383
|
+
CTAs: Free trial, demo booking, "See it in action"
|
|
384
|
+
Stats: Performance metrics, customer count, uptime
|
|
385
|
+
FAQ focus: Pricing tiers, data security, migration, integrations
|
|
386
|
+
Optional: Comparison table vs competitors
|
|
387
|
+
```
|
|
388
|
+
|
|
389
|
+
### RESTAURANT / FOOD
|
|
390
|
+
```
|
|
391
|
+
Hero angle: Sensory and emotional ("Farm-to-table since 2019")
|
|
392
|
+
Must-have content: Menu highlights (3-4 items with descriptions and prices), opening hours, location
|
|
393
|
+
Testimonials: Mention specific dishes
|
|
394
|
+
CTAs: Reserve a table, order online, view full menu
|
|
395
|
+
Stats: Years open, dishes served, local sourcing %
|
|
396
|
+
FAQ focus: Reservations, dietary options, private events, parking
|
|
397
|
+
```
|
|
398
|
+
|
|
399
|
+
### E-COMMERCE / DTC PRODUCT
|
|
400
|
+
```
|
|
401
|
+
Hero angle: Product benefit + social proof ("Join 50K+ happy sleepers")
|
|
402
|
+
Must-have content: Product features with details, comparison, guarantee
|
|
403
|
+
Testimonials: Before/after stories, specific results
|
|
404
|
+
CTAs: Shop now, add to cart, "Try risk-free for 30 days"
|
|
405
|
+
Stats: Units sold, return rate (low = good), customer satisfaction
|
|
406
|
+
FAQ focus: Shipping, returns, materials, sizing
|
|
407
|
+
Optional: "As seen in" press logos
|
|
408
|
+
```
|
|
409
|
+
|
|
410
|
+
### AGENCY / CONSULTANCY
|
|
411
|
+
```
|
|
412
|
+
Hero angle: Expertise + outcome ("We've scaled 40+ brands past €1M")
|
|
413
|
+
Must-have content: Service descriptions, case study highlights, process
|
|
414
|
+
Testimonials: Client name + company, with specific results
|
|
415
|
+
CTAs: Book a call, see case studies, get a proposal
|
|
416
|
+
Stats: Clients served, revenue generated, years in business
|
|
417
|
+
FAQ focus: Pricing model, timeline, what's included, communication
|
|
418
|
+
Optional: Team section with photos/bios
|
|
419
|
+
```
|
|
420
|
+
|
|
421
|
+
---
|
|
422
|
+
|
|
423
|
+
## 8. Final Pre-Output Checklist
|
|
424
|
+
|
|
425
|
+
Before delivering any landing page, verify:
|
|
426
|
+
|
|
427
|
+
- [ ] **Every section has real content** — no empty cards, no placeholder-only areas
|
|
428
|
+
- [ ] **At least 3 testimonials** with full quotes, names, roles, and ratings
|
|
429
|
+
- [ ] **At least 4 feature/service cards** with icons, titles, AND descriptions
|
|
430
|
+
- [ ] **FAQ has 4+ questions** with specific, helpful answers
|
|
431
|
+
- [ ] **Stats/metrics appear** at least twice on the page (hero area + mid-page)
|
|
432
|
+
- [ ] **CTAs appear 3+ times** (hero, mid-page, closing section)
|
|
433
|
+
- [ ] **Footer has 3+ columns** of real-looking links
|
|
434
|
+
- [ ] **Nav bar has 4-5 links** + a CTA button
|
|
435
|
+
- [ ] **Background alternates** between at least 2 shades across sections
|
|
436
|
+
- [ ] **No section is just a headline** — every section has body content below its heading
|
|
437
|
+
- [ ] **Pricing/value is concrete** — real numbers, not vague "affordable" language
|
|
438
|
+
- [ ] **Testimonials mention specifics** — situations, timeframes, prices, neighborhoods
|
|
439
|
+
- [ ] **Every card has 2-3 sentences** of description, not just a title
|
|
440
|
+
- [ ] **Trust signals are sprinkled** throughout, not just in one place
|
|
441
|
+
- [ ] **The page would make sense** if a real person in that industry saw it — nothing absurd
|
|
442
|
+
|
|
443
|
+
---
|
|
444
|
+
|
|
445
|
+
*The goal: when someone scrolls your generated landing page, they should think "this is a real business" — not "this is a template." Content density, specificity, and believability are what create that feeling.*
|