All free tools
    Dev · Client-side only

    Waitlist form snippet

    Ship a validated waitlist form in under a minute. Framework-free HTML + CSS. Point it at Formspree, Getform, Basin, or ConvertKit.

    Join the waitlist

    Be first when we launch. No spam, one email at launch.

    HTML snippet
    <!-- Waitlist snippet · generated with Build on Vibe · buildonvibe.site/tools/free/waitlist-snippet -->
    <form class="wl" action="https://formspree.io/f/your-id" method="POST">
      <h2 class="wl__title">Join the waitlist</h2>
      <p class="wl__sub">Be first when we launch. No spam, one email at launch.</p>
      <div class="wl__row">
        <input class="wl__input" type="email" name="email" required placeholder="you@work.com" />
        <button class="wl__btn" type="submit">Get early access</button>
      </div>
      <p class="wl__fine">We'll only email you at launch. No newsletters.</p>
    </form>
    <style>
    .wl{max-width:520px;margin:2rem auto;padding:2rem;border:1px solid #e5e7eb;border-radius:20px;background:#fff;font-family:system-ui,sans-serif;text-align:center}
    .wl__title{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .5rem}
    .wl__sub{color:#6b7280;margin:0 0 1.25rem}
    .wl__row{display:flex;gap:.5rem;flex-wrap:wrap}
    .wl__input{flex:1;min-width:200px;padding:.75rem 1rem;border:1px solid #e5e7eb;border-radius:10px;font-size:1rem}
    .wl__input:focus{outline:none;border-color:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,.15)}
    .wl__btn{background:#f97316;color:#fff;border:0;border-radius:10px;padding:.75rem 1.25rem;font-weight:600;cursor:pointer}
    .wl__btn:hover{background:#ea580c}
    .wl__fine{color:#9ca3af;font-size:.75rem;margin:.75rem 0 0}
    </style>
    Need a hand?

    Talk to a builder, not a bot.

    Questions about vibe coding, prompts, launching, pricing, or a partnership? We reply within one business day usually a few hours.