Skip to content
·· vibe-coders

Ship the form your AI app needs in the next ten minutes.

You are deep in a Cursor session. The product needs a waitlist, a beta-feedback survey, a contact form. You do not want to write a database migration, an ingest endpoint, a spam filter, an email notifier. Paste a JSON spec, get a hosted URL, ship the tweet. Webhooks if you outgrow the inbox.

JSON-firstHosted URLsPublic sandboxWebhooks if you need them
Live playground

Type the spec. Watch the form render.

Same JSON shape we accept on real templates. No SDK, no install. Edit the left, see the right - then go ship.

Presets

Edits re-render the form on the right.

·· live preview

Beta signup

·· sandbox · nothing is sent or saved

Why this exists

Three forms every AI side-project hits in week one

You will not finish the launch tweet without all three. We pre-built them so the build does not bottleneck on form infra.

The waitlist

Email + "what are you building?" Drop the URL in the launch tweet, the README, the Discord. Submissions land in your inbox; promote anyone to a real account in one click later.

The beta-feedback form

Rating, what worked, what did not. Five minutes after first user finishes, you have typed signal you can paste back into Cursor as a TODO list.

The contact form

Because the day someone wants to pay you, you should not be debugging Mailchimp.

Workflow

How a vibe-coder ships a form before lunch

Numbered for the README - same flow we follow ourselves.

  1. Describe the form

    Either type a JSON spec into the playground above, or use the QuickForm generator at /quickform and let the LLM write it for you.

  2. Hit publish

    You get a hosted URL ending in /f/{public_id}. Drop it anywhere a link goes - landing, README, tweet, Discord pin.

  3. Watch submissions land

    Inbox shows each row with typed fields. Email notifications by default; webhook later if you need it in your own app.

  4. Iterate when the launch tweet pops

    Add fields, branch the survey, slap a captcha on it - the URL stays the same.

Forms are the unsexy 20% that takes 80% of the time. We took that 80% out so you can stay in the part you actually like.

Bounds

Where you should still write your own backend

We would rather you stay focused than overstep our scope.

  • If submissions need to enrich a row in your own database within 50ms, write your own endpoint and use Formspring for the public-facing forms only.
  • If you need browser-side encryption of the payload before it leaves the page, our hosted ingest is not the right layer.
  • If your form is the product (e.g., a Typeform competitor), use Formspring for the metadata-driven scaffolding, not the runtime.

Stop writing the form. Ship the product.

The free tier covers indie projects. Hit a webhook when you outgrow the inbox - same URL, same form.

·· no card · 50 submissions / mo · no countdown