Vibecode Fillout

track this build5 phases, 15 steps, beginner friendly
YES · one-shottable
price $19/moyou'd save $228/yrbuild time one sittingcategory 📝 formsreplaced by 0 people

The core loop is small enough for a capable coding agent to produce a useful local version in one sitting. For Fillout, build a polished form that writes to a user-owned database and supports simple branching. The hard boundary is excellent airtable and notion integrations, scheduling, payments, and hosted polish, plus integrations, deliverability, and workflow depth.

the project pack5 files · written for this build, step by step
README.md
# Fillout · indie build

A form builder where the interesting part is the logic engine: questions that appear based on earlier answers, validation that runs the same rules on both sides, partial responses that survive a closed tab, and a submission pipeline that never loses an answer because a webhook failed.

Estimated effort: **multi-day**. Work `BUILD_PLAN.md` top to bottom · every phase ends in a check that has to pass before the next one starts.

## Stack

| Part | Choice | Why |
| --- | --- | --- |
| Runtime | TypeScript with Fastify and PostgreSQL | forms are a database problem with a rendering layer, not the other way around |
| Logic | A declarative rule tree evaluated identically on client and server | logic that only runs in the browser is a suggestion |
| Storage | Answers as rows keyed by question, not a JSON blob | questions change and a blob makes every historical response unreadable |
| Payments | Stripe Checkout for paid forms | taking card details yourself turns a form builder into a compliance project |
| Delivery | An outbox with retries for webhooks and notifications | a submission is accepted before anything downstream is attempted |

## Before you start

Have every one of these ready. The plan assumes them from step one.

- [ ] **Node.js 22 or newer** · free
  - Why: Runs the server and shares the logic evaluator with the client.
  - Get it: nodejs.org, or nvm install 22.
  - Verify: node --version prints v22 or higher
- [ ] **PostgreSQL 16 or newer** · free locally
  - Why: Versioned questions, keyed answers and an outbox all want a real relational database.
  - Get it: Docker or your package manager.
  - Verify: psql connects and creates a table
- [ ] **A Stripe account in test mode** (optional) · free to test; per-transaction in production
  - Why: Phase 4 only. Hosted Checkout keeps card details off your server entirely.
  - Get it: Sign up, use test keys, and configure a webhook endpoint with its signing secret.
  - Verify: A test Checkout session completes and the webhook is received and verified
- [ ] **A way to receive webhooks locally** · free
  - Why: Both payment and delivery testing need real webhooks reaching your machine.
  - Get it: The Stripe CLI forwards events, or use a tunnelling tool.
  - Verify: A test event arrives at your local endpoint and verifies
- [ ] **Your retention period and what forms will collect** · free
  - Why: Retention is stated on the form and enforced by a job, and the two have to match. Some question types make a form collect data with a much higher duty of care.
  - Get it: Decide the period, decide what you will refuse to collect, and write both down before building.
  - Verify: A written note states the period and the categories you will not collect

## Quick start

Follow Phase 1 in `BUILD_PLAN.md`; it creates the project.

Then copy `.env.example` to `.env` and fill in the values it documents.

## Honest limits

This build deliberately does not replace:

- The visual builder that makes forms pleasant to construct.
- Templates and themes.
- Integrations with dozens of destinations.
- Certified accessibility work.
- excellent Airtable and Notion integrations, scheduling, payments, and hosted polish
- advanced branching
- payment and CRM integrations
- large template libraries
- enterprise compliance

If one of those is essential to you, that is the reason to keep paying for Fillout, and the README should say so rather than pretend.

$ choose a build depth, inspect the files, then open the complete pack in your agent

why people still pay

People still pay for Fillout because a basic form is trivial; people pay when the form feeds a dependable business workflow and never loses a response. The recurring cost buys spam control, email delivery, storage, exports, accessibility, conditional logic, and integrations, not just the visible interface.

what you lose

xexcellent Airtable and Notion integrations, scheduling, payments, and hosted polish

xadvanced branching

xpayment and CRM integrations

xlarge template libraries

xenterprise compliance

share on X ↗"I just replaced Fillout ($19/mo) with one prompt"
the escape hatch

Don't feel like building it? These folks already made it free.

BaserowAirtable's database half with public forms and your own disk underneath5.4kaug 2026open source↗

no votes, no pay-to-list · just what's real

the numbers

Fillout pricing

planmonthlyannual (per mo)what you get
free$0/workspace$0/workspaceUnlimited forms, seats, questions and file uploads; 1,000 responses/month; 20MB maximum file size; Fillout branding
starter$19/workspace$15/workspace2,000 responses/month and 20MB maximum file size; unlimited forms, seats, questions and uploads
pro$49/workspace$40/workspace5,000 responses/month; unlimited forms and seats
business$89/workspace$75/workspaceUnlimited responses, at least 1GB maximum file size, custom domain, unlimited forms and seats
enterprisecustom—1 million+ database records, unlimited workflow runs, unlimited forms, seats and responses

free tierUnlimited forms, seats, questions and file uploads; 1,000 responses/month; 20MB maximum file size; Fillout branding

billingmonthly + annual prepaid (-20%)

hidden costsFillout says responses continue to be collected after the monthly cap, but the account must upgrade, buy unpublished bulk-submission capacity or wait for reset to use them; Conversion Kit is a separately sold add-on with no public rate.

verified 2026-08-12 · source ↗

questions
Vibecode Fillout

Yes. A competent AI coding agent (Claude Code, Codex, Cursor) can build a usable personal Fillout replacement in one session with the prompt on this page. It runs on your own machine or server with no subscription.

How much does Fillout cost?

Fillout costs about $19/month (Starter, checked 2026-07-31), which is $228 per year. That's what you save by replacing it with one prompt.

What do I lose by replacing Fillout?

Honestly: excellent Airtable and Notion integrations, scheduling, payments, and hosted polish; advanced branching; payment and CRM integrations; large template libraries; enterprise compliance. If any of those are load-bearing for you, keep paying.

Is there an open-source alternative to Fillout?

Yes: Baserow (Airtable's database half with public forms and your own disk underneath) The prompt is for when you want it exactly your way.