Lovable prompt for a waitlist landing page
A Lovable prompt for a pre-launch page that stores signups in a real database table, not a dummy form. It specifies queue-number confirmation, duplicate handling, and a referral link so the capture flow survives real users. Pick style, palette, typography, and motion in the customizer and the spec blocks drop straight into the prompt.
Last updated
Create a one-page waitlist site for {{product}} — a pre-launch page whose only job is collecting emails from {{audience}}. Wire the form to a real database table (waitlist: id, email, created_at, referral_code) so signups persist, and get the page ready to deploy as-is.
Page order:
1. Hero: eyebrow "Launching soon", a headline promising the concrete result {{product}} delivers, a one-sentence subhead on why joining now beats waiting, and the email field with its button immediately under.
2. Teaser trio: three blocks in a row — "What you'll get" (three launch features as bullets), "Who it's for" (one line naming the segments), and "Why now" (a first-cohort-access scarcity line).
3. Signup section: the form again with a supporting line above it; on submit, insert the row, then replace the form with a confirmation card showing a queue number derived from the row count and a copyable referral link built from referral_code.
4. FAQ: four pairs — when it launches, launch pricing, whether emails are shared, how referrals move the queue.
5. Footer: contact email plus a one-line privacy note about email use.
Visual direction:
{{style}}
Palette: {{palette}}
Typography: {{type}}
Motion: {{motion}}
Rhythm and behavior:
- 96px vertical section padding on desktop, 64px on mobile; blocks inside sections sit on a 24px gap grid.
- Validate the email client-side before insert; catch duplicates gracefully with "you're already on the list" plus their existing number.
- On phones the teaser trio stacks single-column and the header collapses to the logo plus one anchor link to the form.
The primary call to action is "{{cta}}"; use that exact text on both submit buttons and the header anchor.
After building, verify: a test email lands in the waitlist table; the same email twice shows the duplicate message and adds no second row; the confirmation card shows a number and a working copy button; and the deployed page accepts a signup in production.Customize it
Runs in your browser. Nothing you type here is sent anywhere.
Create a one-page waitlist site for a project management SaaS — a pre-launch page whose only job is collecting emails from engineering managers at startups. Wire the form to a real database table (waitlist: id, email, created_at, referral_code) so signups persist, and get the page ready to deploy as-is. Page order: 1. Hero: eyebrow "Launching soon", a headline promising the concrete result a project management SaaS delivers, a one-sentence subhead on why joining now beats waiting, and the email field with its button immediately under. 2. Teaser trio: three blocks in a row — "What you'll get" (three launch features as bullets), "Who it's for" (one line naming the segments), and "Why now" (a first-cohort-access scarcity line). 3. Signup section: the form again with a supporting line above it; on submit, insert the row, then replace the form with a confirmation card showing a queue number derived from the row count and a copyable referral link built from referral_code. 4. FAQ: four pairs — when it launches, launch pricing, whether emails are shared, how referrals move the queue. 5. Footer: contact email plus a one-line privacy note about email use. Visual direction: Minimal dark style. Near-black canvas (#0A0A0B) with one elevated surface tone (#141416) for cards — never more than two surface steps. Hairline borders (1px, white at 8% opacity) instead of shadows; if a shadow is unavoidable use 0 1px 2px rgba(0,0,0,0.4) and nothing softer. Text in exactly three steps: white at 92% for headings, 60% for body, 40% for captions. Generous negative space — section padding at least 120px on desktop, 64px on mobile. The accent color appears only on interactive elements and one hero highlight, nowhere else. Palette: a strict neutral ramp (white, #F5F5F5, #E5E5E5, #737373, #171717) carries the entire interface; pick one accent and use it only for primary CTAs, active states, and a single hero highlight. If the accent appears more than five times per viewport it stops being an accent. Keep semantic colors (success, error) desaturated so the accent stays in charge. Typography: one geometric sans (a Futura/Poppins-class face) at three weights maximum (400/500/700). Scale: 64-88px hero, 32px section heads, 18px lede, 16px body, 13px caps labels with 0.08em tracking. Tight headline leading (1.05-1.1), relaxed body (1.6). Let the geometry carry the personality — no italics; weight and size do all hierarchy. Motion: none. Zero scroll animations, zero entrance effects — the page is fully composed the instant it paints. Spend the motion budget on input feedback instead: 120-150ms ease-out color and transform transitions on hover and press states only. Hold this constraint absolutely; it is a statement, not an omission. Rhythm and behavior: - 96px vertical section padding on desktop, 64px on mobile; blocks inside sections sit on a 24px gap grid. - Validate the email client-side before insert; catch duplicates gracefully with "you're already on the list" plus their existing number. - On phones the teaser trio stacks single-column and the header collapses to the logo plus one anchor link to the form. The primary call to action is "start a free trial"; use that exact text on both submit buttons and the header anchor. After building, verify: a test email lands in the waitlist table; the same email twice shows the duplicate message and adds no second row; the confirmation card shows a number and a working copy button; and the deployed page accepts a signup in production.
Same task in other tools
Questions about this prompt
Which database does Lovable use for the waitlist table?
Lovable wires Supabase by default; accept the integration when prompted and it creates the waitlist table from the schema in the prompt. You can browse rows in the Supabase dashboard, or ask Lovable for a simple password-protected /admin list view.
Duplicates still get inserted sometimes — what's the robust fix?
Ask Lovable to enforce uniqueness at the database level, not just in code: "add a unique index on waitlist.email and handle the conflict in the submit handler." Count-based queue positions can also race; a serial id doubles as the position if you want it bulletproof.
Can I run this next to my existing marketing site instead of replacing it?
Yes — deploy from Lovable to a subdomain like waitlist.yourdomain.com and leave the main site untouched. Match your brand by choosing the closest customizer style first, then giving Lovable your exact hex values and font names in a follow-up message after the initial build.
Part of the Lovable landing-page cluster — start from the main Lovable landing page prompt.