Can I vibecode Formasty?

KINDA · weekend project
price $29/moyou'd save $348/yrbuild time a weekendcategory 📝 formsreplaced by 0 people

A form builder is one of the most one-shottable categories there is: a schema, a renderer, a responses table, a CSV export. An agent will get you a working multi-step form with conditional fields and an embed snippet in a single session, and for a personal signup form or client intake that is genuinely enough. The gaps are the boring parts nobody thinks about until they bite: email that actually lands in inboxes, spam that gets past a honeypot, file uploads you have to back up, and the dozen integrations that turn a response into a row in someone else's tool. You also inherit uptime, because a form that is down is a lead you never knew existed. Build it if the form is yours and the volume is low; pay if the form is a business process.

the prompt
Build a single-user, self-hosted form builder and response collector. Stack: Next.js 15 App Router, TypeScript, Tailwind, SQLite via better-sqlite3. No other hosted services.
Data model: forms(id, slug, title, schema JSON, theme JSON, createdAt), responses(id, formId, payload JSON, meta JSON, createdAt), deliveries(id, responseId, url, status, attempts).
Admin builder at /admin/forms/[id]: add, reorder, duplicate and delete fields. Field types: short text, long text, email, number, single select, multi select, dropdown, date, rating 1 to 5, file upload, consent checkbox, hidden field.
Per field: label, help text, required flag, placeholder, and simple conditional visibility (show this field when field X equals value Y).
Multi-step forms: fields grouped into steps, one step per screen, progress bar, back button, answers held in client state until final submit.
Public form at /f/[slug]: server-rendered, mobile-first, keyboard navigable, and revalidated on the server so client validation is never the only check.
Persist in-progress answers to localStorage keyed by form slug so a refresh does not wipe the form.
File uploads write to ./uploads with a size cap and mime allowlist defined in the schema; store the relative path in the response payload.
Spam control: hidden honeypot field, reject submissions completed in under 2 seconds, and a per-IP rate limit table in SQLite. No captcha, no third party.
Notifications: on submit, send a plain text digest of the response over SMTP with nodemailer using SMTP_HOST, SMTP_USER, SMTP_PASS, NOTIFY_TO from .env. If those are unset, log and continue instead of erroring.
Optional per-form webhook URL: POST the response JSON, 3 retries with backoff, log every attempt in deliveries.
Responses view at /admin/forms/[id]/responses: table with one column per field, text search, date range filter, detail drawer, delete, and CSV export of the current filter.
Embedding: an /embed/[slug] route plus a small public/embed.js that injects an iframe and auto-resizes it via postMessage.
Theming per form: accent color, one of three system font stacks, light or dark, optional cover image, custom thank-you message, optional redirect URL.
Auth: a single ADMIN_PASSWORD from .env and a signed httpOnly cookie session for all /admin routes. No user accounts, no OAuth, no analytics, no telemetry.
Seed script creating two demo forms: a three-step onboarding survey with conditional fields, and a one-page contact form.
Out of scope: payments, e-signatures, team accounts, template marketplace, A/B testing, AI form generation.
Deliver a README with setup steps, a .env.example, a note on backing up form.db plus ./uploads, and a Dockerfile listening on port 3000.
Ship working code, not scaffolding: npm install, npm run seed, npm run dev must yield a fillable form at /f/contact and a visible row in the responses table.

$ open in your agent (prompt prefilled, you press enter) or copy it raw · this prompt is generated from the build plan · improve it via PR

why people still pay

Because forms are load-bearing. The moment a form is collecting real leads, applications, or client files, the cost of it quietly breaking exceeds any subscription, and you stop wanting to own the email deliverability, spam waves, and file storage yourself. Paid form tools also sell speed: a decent one gets a branded, conditional, multi-step form live in ten minutes with a template, which is faster than reviewing an agent's output. The self-hosted version wins when it is one form you control on a site you already run.

what you lose

xDeliverability: their notification email is warmed and authenticated, your SMTP box is not

xThe integration shelf: Sheets, Slack, Notion, CRM, Zapier style webhooks with retries and mapping UI

xTemplate library and builder polish, which is most of what you are paying for in a form tool

xPayment fields, e-signature, and anything that needs a compliance story like a signed DPA

xUptime and CDN edge delivery, so a form on a busy page fails silently when your box does

prior art · use these instead of building, if you'd rather

Nothing worth pointing at. That's why the prompt exists.

share on X ↗"I just replaced Formasty ($29/mo) with one prompt"
questions
Can I vibecode Formasty?

Kinda. The core of Formasty is buildable in a weekend with the prompt on this page, but there are real gaps: Deliverability: their notification email is warmed and authenticated, your SMTP box is not, The integration shelf: Sheets, Slack, Notion, CRM, Zapier style webhooks with retries and mapping UI. Read the honest list above before committing.

How much does Formasty cost?

Formasty costs about $29/month (Pro, checked 2026-08-18), which is $348 per year.

What do I lose by replacing Formasty?

Honestly: Deliverability: their notification email is warmed and authenticated, your SMTP box is not; The integration shelf: Sheets, Slack, Notion, CRM, Zapier style webhooks with retries and mapping UI; Template library and builder polish, which is most of what you are paying for in a form tool; Payment fields, e-signature, and anything that needs a compliance story like a signed DPA; Uptime and CDN edge delivery, so a form on a busy page fails silently when your box does. If any of those are load-bearing for you, keep paying.

Is there an open-source alternative to Formasty?

No mature open-source alternative worth pointing at, which is exactly why the one-shot prompt on this page exists.

Every week, more subscriptions die.

New verdicts, new prompts, the week's most-doomed apps.
One email. Unsubscribe in one click.

free forever · no scanner spam · the prompt stays on the site, the deaths come to you

$weekly: what got a verdict, what died.