Prompt library

Waitlist page

BeginnerWaitlist

Captures an email (and only the fields you list) with success, error, and duplicate states.

When to use it

Use this before the product exists. The deliverable is a page plus a place the email is stored. Do not use it for a full booking app.

Variables

[PRODUCT_NAME][AUDIENCE][PROMISE][FIELDS][SUCCESS_MESSAGE][STACK]

Copy prompt

Build a waitlist page for [PRODUCT_NAME], in [STACK].

Context
- Audience: [AUDIENCE]
- Promise, in one sentence: [PROMISE]
- Fields besides email: [FIELDS]
- Success message: [SUCCESS_MESSAGE]

If [FIELDS] is "none", the form is email only. Do not add phone, company, or job title on your own.

Behavior
- Validate the email on the client and again before writing.
- Actually store it in [STACK]'s storage. Show where the row appears.
- New email: show [SUCCESS_MESSAGE] without reloading the whole page.
- Existing email: do not create a second row. Say the address is already on the list.
- Network failure: keep what the person typed and show an error with a retry button.
- Do not send a confirmation email unless [STACK] already can. If it cannot, say that was left out.

Page
- A headline with the promise, one paragraph, the form, and a count of signups only if the number comes from the database. If you cannot count, show no number.
- Accessible: visible label, error tied to the field, AA contrast.
- No fake countdown and no invented "spots left".

Deliver: the command to run, where the data lives, and a 4-step manual test (empty, invalid email, new email, repeated email).

How to run this prompt

  1. Write the promise. One sentence. No feature list for a product that does not exist yet.
  2. Pick the storage. A sheet, the builder's table, or your own endpoint. Put that in STACK.
  3. Test the duplicate. Submit the same email twice and read both messages.

Where this breaks

Models like to pretend the save worked. The prompt requires real storage and a different message for a repeated email.

Result

Slot for a screenshot or demo. No result is published yet.