A form that renders from a definition, validates, stores answers and emails you is an evening's work. The weekend goes into a builder that a non-developer can use, with conditional logic, calculations, uploads, Stripe payments and a PDF or signature step, and that is where a one-shot comes out rough. Paperform also sells the set around the form: thousands of app connections, workflows, e-signatures with an audit trail built to ESIGN and eIDAS rules, and SOC 2 Type II compliance. If you are happy writing the form as a JSON file instead of dragging blocks, the build is much shorter.
Before you buildPaperform Free keeps 30 submissions a month and a Paperform badge. If a handful of responses is all you need, switching to Free or to Tally's free plan beats building.
Build me a form builder and responder to replace Paperform. Requirements: - Node.js 22 + TypeScript: a Fastify server and a React admin built with Vite. `npm start` serves http://localhost:4900: admin at /admin, public forms at /f/<slug>. - Forms are JSON documents validated with `zod`: pages of blocks (short text, long text, email, number, choice, multi-choice, dropdown, date, file upload, rating, signature pad, payment, calculation, rich text). Storage is better-sqlite3 in ./data/forms.db with a version per save, submissions as JSON rows, uploads in ./data/uploads/. - Builder: block list on the left, live preview on the right, drag to reorder (`@dnd-kit/core`), a required flag and help text per block, and one theme per form (font, accent color, background image). - Logic: show or hide blocks and skip pages from conditions (equals, contains, greater than; AND/OR), plus calculation blocks with `expr-eval`. Evaluate in the browser and again on the server before saving. - Payments: a payment block sums priced choices and calculations and opens a Stripe Checkout Session (`stripe`, STRIPE_SECRET_KEY, test mode first). Mark the submission paid only from the verified `checkout.session.completed` webhook. - Submissions: a searchable table, CSV export (`csv-stringify`), a PDF per submission (`pdf-lib`), an email to me and an optional confirmation to the respondent (nodemailer SMTP from .env), and one HMAC-signed JSON webhook per form. - Spam and limits: honeypot field, rate limit per IP (`@fastify/rate-limit`), uploads capped at 10 MB and checked by MIME type. - Single user: one admin password in .env. No accounts, no telemetry, local-first. Outbound calls: Stripe, SMTP and the webhooks I configure. - Out of scope: legally binding e-signatures (the signature block stores an image only), workflows, third-party connectors, workspaces and roles. - README: Stripe test-mode setup, exposing the form through a tunnel (the webhook needs one), and a note that card data never touches this server.
Opens your agent with the prompt filled in, you press enter. Or copy it and paste it into an empty folder.
The first prompt builds the core. Run these one at a time in the same folder to grow it into your own Paperform.
Add a Google Sheets sync to the form builder in this folder. Requirements: - Per form, an optional spreadsheet ID and sheet name; authenticate with a service account JSON path from .env and tell me which email to share the sheet with. - After each saved submission, append one row with a header row created on first use: timestamp, one column per block label, payment status. - Queue failed appends in SQLite and retry with backoff; show failures on the form's admin page. - A `forms sync-sheet <slug>` command that backfills old submissions without duplicating rows. - Update the README with the Google Cloud steps.
Add embedding to the form builder in this folder. Requirements: - `/embed.js` creates an iframe for `/f/<slug>?embed=1` from a script tag with a data-form attribute, and resizes it to the form's height using postMessage with an origin check. - A per-form list of allowed parent origins; the form page sets `Content-Security-Policy: frame-ancestors` from it, and refuses to render in other frames. - Embedded mode hides the page background and any header, and passes UTM parameters from the parent URL into hidden fields. - Update the README with a copy-paste snippet.
Add save-and-resume to the form builder in this folder. Requirements: - A "Save and continue later" button on forms that asks for an email and stores partial answers with a random 32-byte token (hashed in SQLite) that expires after 30 days. - Email a resume link; opening it restores the answers and the current page. - Partial submissions never trigger payments, webhooks or notifications, and are deleted 30 days after the last edit. - Show partial responses in a separate admin tab, never mixed with completed ones. - Update the README.
Small businesses use it as a designed page that takes bookings, orders and payments without a developer. Payments carry no transaction fee from Paperform, seats are unlimited, and signing and automation come with the same plan, so a team of any size pays one price.
Estimate · Runs on a free tunnel or a $5 VPS. Stripe takes its normal per-payment fee; nothing else recurs. The build is token usage on your agent plan.
| Plan | Monthly | Annual, per month | What you get |
|---|---|---|---|
| Free | $0 | $0 | Unlimited forms, fields and views and unlimited seats; 30 submissions a month, 3 signed documents a month, 200 workflow steps a month, 5,000 automation credits, one shared workspace, Paperform badge. |
| Pro | $59 | $49 | Unlimited submissions and workflow steps, 25 signed documents a month, 20,000 automation credits, no Paperform badge, custom HTML and CSS, priority support, unlimited seats. |
| Business | $149 | $124 | Everything in Pro plus 10 workspaces, admin and user roles, one custom domain, 100 signed documents a month, 100,000 automation credits, first-priority support, SSO (SAML). |
| Enterprise | custom | — | Unlimited workspaces and custom domains, custom roles, dedicated customer success manager, SLA, local data residency. |
Free forever for individuals and small teams: unlimited forms, fields and views, 30 submissions a month and a Paperform badge on every form.
Kinda. The core is a weekend build with the prompt on this page, but real gaps remain: Thousands of integrations through Zapier, Make and direct connectors, Papersign: legally valid e-signatures with a signing certificate and audit trail.
About $59 a month on the Pro plan, $708 a year (checked 2026-10-19).
Thousands of integrations through Zapier, Make and direct connectors; Papersign: legally valid e-signatures with a signing certificate and audit trail; Stepper, the built-in builder for multi-step automations; Workspaces, roles and custom domains for client or multi-brand work; The template library, SOC 2 Type II and GDPR paperwork, and completed vendor security questionnaires. If any of those matter to you, keep paying.
Yes: OpnForm (open source), HeyForm (open source), Formbricks (open source).