An AI coding assistant generating an app, representing adding a waitlist to an AI-built app

article

Add a Waitlist to an AI-Built App (Lovable, Replit, Bolt)

Add a waitlist to a Lovable, Replit, Bolt, or v0 app in about five minutes — embed the widget, link a hosted page, or keep the builder's template.

AAymane E.October 16, 20268 min readUpdated November 14, 2026
Share

AI app builders changed who can ship software — and they are now the default stack for AI startups. Lovable, Replit, Bolt, and v0 let a founder describe an app and get working code back in minutes, no CS degree required. So when that same founder needs a waitlist, the instinct is to ask the AI to build one too.

Here is the thing: you usually should not. A waitlist looks like a form, but it is really a database, confirmation emails, deliverability, spam control, and analytics. Those are the parts AI is weakest at, and the parts a dedicated tool already solved. The good news is that adding a waitlist to an AI-built app takes about five minutes — either by asking the builder to embed a widget, or by linking a hosted page.

The short answer

Here is how to add a waitlist to an AI built app — a Lovable, Replit, Bolt, or v0 app — in one of two ways:

  1. Ask the builder's AI to add the widget — paste one script tag and a container div, or describe it in a prompt.
  2. Publish a hosted page and link to it — no code at all.

Both are free to start. The widget keeps the form on your domain; the hosted page is faster if you have not wired up routing yet.

Why this works here (and not on Notion or Bubble)

Notion and Bubble sandbox custom JavaScript, so the GetWaitly widget script cannot run inside them — those platforms have to use the hosted page in an iframe. AI app builders are different: they generate real HTML and React, so the widget script runs normally. That makes these apps one of the easiest places to add an embedded waitlist.

Method 1 — Ask the builder's AI to add the widget

Every one of these tools has an AI you can talk to. Paste a prompt like this and let it wire everything up:

Add a waitlist signup form to my landing page using GetWaitly. Add this script to the page head: <script src="https://getwaitly.com/widget.js" defer></script>, and place <div class="gw-widget" data-waitlist-id="YOUR_WAITLIST_ID"></div> where the form should appear. Style it to match the page.

Replace YOUR_WAITLIST_ID with the public ID from your GetWaitly dashboard (Settings → Widget). The widget inherits your waitlist's accent color and font, so it matches the page automatically.

This is the fastest path if you are already in the builder's chat, and it is the most on-brand result.

Method 2 — Add the script manually

If you prefer to edit the files yourself, the change is two lines.

Vite / React projects (Lovable, Bolt.new): add the script to index.html inside <head>, and the container div where the form goes.

Next.js projects (v0): load the script with next/script in your layout or page, and render the container div in your component.

import Script from "next/script";

export function WaitlistForm() {
  return (
    <>
      <Script src="https://getwaitly.com/widget.js" strategy="afterInteractive" />
      <div className="gw-widget" data-waitlist-id="YOUR_WAITLIST_ID" />
    </>
  );
}

The full embed reference, including popup and DIY-form variants, is in the embed widget docs.

Method 3 — Publish a hosted page and link it

If your app does not have a landing route yet, or you want zero code, publish GetWaitly's hosted page instead. You get a shareable URL like getwaitly.com/w/your-id with your headline, branding, and form already styled. Point a button or a nav link at it.

This is the right call when you are still moving fast and the app's structure is changing daily — no embed to break when the AI rewrites your components.

If you used the builder's own waitlist template

Lovable ships two waitlist templates. Waitlist Page includes an email form, a live signup counter, ranked positions, referral attribution, duplicate and self-referral blocking, and an admin table — all backed by Supabase. LaunchPad is the lighter pre-launch option: signup form, live counter, countdown, sharing prompts, and CSV export, without the referral engine. v0, Bolt, and Replit have no waitlist template of their own, though each will build one when you ask. If you started from Lovable's Waitlist Page, you may not need anything else.

Keep the template if: all you need is a list of emails in your own database, you are happy sending launch emails yourself, and you do not need a queue position or a referral leaderboard.

Replace the template's form with GetWaitly if: you want broadcast emails with open and click tracking without wiring an email provider, you want referral links and a queue that just work instead of being maintained in your own schema, or you want spam control and deliverability handled for you.

You do not have to choose between them. Keep the template's layout and copy, and swap only the form component for the two-line embed — the design, the page structure, and your admin table all stay yours.

Per-tool notes

Lovable

A Lovable waitlist is a two-line embed. Lovable generates React (Vite) apps. The widget works in the index.html head, or ask Lovable's AI to add it. If you have not built the landing route yet, link the hosted page first and embed later.

Replit

A Replit waitlist works the same way. Replit hosts many stacks. For a plain HTML/JS project, add the script to your HTML. For a React or Node project, use the same two-line embed, or link the hosted page. The Replit webview renders the widget normally.

Bolt.new

A Bolt waitlist is two lines. Bolt.new generates Vite/React apps in the browser. Add the script to index.html, or ask Bolt to add it. Because the preview reloads often, the hosted page link is a safe fallback while you iterate.

v0

A v0 waitlist uses next/script. v0 generates Next.js (React) components. Use next/script with the container div as shown above — scoping the script to the component avoids hydration mismatches. v0's AI can add this for you.

What you get

Once the widget or hosted page is live, GetWaitly handles the rest: validation, dedupe, spam protection, optional name and phone fields, referral links and queue positions (Starter and above), broadcast emails with open and click tracking, and an analytics dashboard. Signups land in one place regardless of which builder you used.

FAQ

Can I add a waitlist to a Lovable app without coding?

Yes. Ask Lovable's AI to add the two-line embed, or publish a hosted page and link it. Either takes a few minutes.

Does the GetWaitly widget work in Replit and Bolt?

Yes. Both produce real HTML or React, so the widget script runs. Notion and Bubble are the platforms that block it and need the hosted page instead.

Can I just use Lovable's waitlist template?

Often, yes. Lovable's Waitlist Page and LaunchPad templates already capture emails and track referrals in Supabase. Use the template if you only need a list in your own database; swap its form for GetWaitly's embed if you want broadcast emails, a managed referral queue, and analytics without maintaining that yourself.

Should I embed the widget or link a hosted page?

Embed if you want the form on your own domain and your landing page is stable. Link the hosted page if you are still iterating fast or have no landing route yet.

Is it free?

Yes. GetWaitly's free plan includes the embeddable widget, a hosted page, analytics, and up to 100 subscribers, with no credit card. Referrals and broadcasts start at $5/mo.

Related reading

Built your app with AI? Add the waitlist the same afternoon — free, no backend. Start your waitlist →

Aymane E.

written by

Aymane E.

Founder of GetWaitly. I write about validating ideas, pre-launch, and growth from building a waitlist tool as a solo founder.

Follow on X

Build your waitlist in 5 minutes

GetWaitly handles signups, referrals, broadcast emails, and analytics — free to start.

The GetWaitly dashboard showing signups and growth