Typeform

typeform.comcontributed by Samuele Ongaro

YES

Replaceable in one session with an AI coding agent.

Forms that ask one question per screen. The conversational format and the logic behind it — branching, calculations, hidden fields — are what people pay for, along with the answers landing somewhere useful afterwards.

Promptfree, for everyone, and the only version there is
Build me a one-question-at-a-time form that replaces Typeform: the conversational format, the logic behind it, and the answers landing somewhere useful.

STACK
- Node 20+ with Fastify, server-rendered HTML with progressive enhancement
- SQLite through better-sqlite3, WAL mode
- Caddy in front

WHY ONE QUESTION AT A TIME
- It measurably lifts completion, because a page of thirty fields is a decision to abandon and a single question is a decision to answer
- It is also slower per question, so it suits forms where completion matters more than speed — an application, a survey, a qualification
- Build both modes: one question at a time, and all questions on a page. Let the form's author choose, and say in the interface which suits which job. A tool that only does the conversational format will be used for a two-field contact form, and there it is worse

THE DATA MODEL
- forms: id, slug, name, version, definition_json, theme_json, status, published_at, close_at, response_limit, redirect_url
- form_versions: id, form_id, version, definition_json, published_at — a submission records the version it answered
- questions: within the definition — id, key, kind, prompt, description, config_json, required, logic_json, position
- submissions: id, form_id, form_version, token, status, started_at, submitted_at, completed_at, ip_hash, referrer_host, country, device, hidden_fields_json
- answers: id, submission_id, question_key, value_text, value_num, value_json, answered_at, ms_spent
- events: id, submission_id, kind, question_key, at — shown, answered, skipped, went back, abandoned. Append-only, and the reason drop-off is answerable per question
- Partial submissions are kept. Somebody who answered four of nine has told you something, and discarding it throws away the most honest half of the data

THE INTERACTION
- One question, large, centred, with the prompt readable in one glance
- Enter advances, and the keyboard alone completes the whole form. Letter keys select choices. This is what makes it fast for people who type, and it is the detail most copies miss
- A visible progress indicator that is honest about what remains, given the logic already satisfied
- Going back is always possible and never loses an answer
- Each question is a real URL, so back and forward work in the browser and a refresh loses nothing. Enhancement makes the transition smooth; without JavaScript it is still a working sequence of pages
- Answers submitted as they are given, so a closed tab leaves a partial rather than nothing

QUESTION KINDS
- Short and long text, email, phone, url, number, date, dropdown, multiple choice, picture choice, yes or no, rating, opinion scale, net promoter, ranking, matrix, file upload, payment, legal consent, and a statement with no answer
- Each kind has a parser, a validator, a keyboard interaction, an accessible markup template and a CSV form. Write that contract once
- Choice questions get letter shortcuts and optional randomisation, with the order recorded per submission

LOGIC
- Jump to a question or an ending based on earlier answers
- An explicit expression tree, never evaluated code, with one evaluator on the server and in the browser so what is shown and what is accepted cannot disagree
- Calculations for scores and quizzes, with a dependency graph so a cycle is rejected at save time
- Several endings, chosen by logic, each with its own message and redirect
- Validated on publish: an unreachable question, an unknown reference or a jump that skips a required question is an error before anybody sees it
- Hidden fields from query parameters, so the form knows where somebody came from

ACCESSIBILITY, WHICH THIS FORMAT MAKES HARDER
- The conversational format is animation-heavy by default and that is a problem for some people. Respect `prefers-reduced-motion` completely — no transitions at all when it is set
- Each question announced properly to a screen reader when it appears, with focus moved to it and errors announced
- The whole form usable by keyboard, which it already is, and by a screen reader, which takes deliberate work
- An all-on-one-page fallback offered by a link, which is both an accessibility answer and useful for anybody who wants to see the whole thing

RESULTS
- Per question: distribution for choices, an average with the distribution for ratings, the raw list for text
- Drop-off per question, which in this format is precise — you know exactly which question lost them, which a single-page form can never tell you. That is the analytical advantage of the format and the reporting should lead with it
- Time spent per question
- Export CSV and JSON, complete, including partials
- Webhooks on submission, signed and retried, and a per-form endpoint to push answers wherever they need to go

OPERATIONS
- .env: DATABASE_PATH, STORAGE_PATH, BASE_URL, SESSION_SECRET, HASH_SALT, SMTP_URL
- Migrations on boot, each once
- Nightly backup off the machine, restore script
- Health endpoint

WHAT MATTERS MOST
The keyboard path and per-question drop-off. Make the entire form completable without touching a mouse, and record every question shown as well as answered. The first is why people finish it; the second is the only reason to prefer this format analytically.

Give me the repository, migrations, .env.example, a seed form with jumps and a score, and a README with deploy steps behind Caddy.

What you lose

  • The one-question-at-a-time interaction, which measurably lifts completion rates
  • A visual editor non-technical colleagues can use without you
  • Conditional logic jumps configured by clicking rather than by writing code
  • Notification email deliverability, and the spam filtering that keeps submissions clean
  • A large catalogue of ready-made integrations to CRMs and spreadsheets

If you would rather not build

  • Fillout — paid, closest builder with a generous free tier

What it costs

as published on their pricing page

PlanBilled monthlyBilled yearlyLast read
—$39/mo——

Their pricing page is where these came from. Seeing a different price? Tell us.

The escape hatch

open source · no votes, no paid placement

Formbricks

$0

Survey and form platform with logic, targeting and self-hosting.

formbricks/formbricksfree · open source

HeyForm

$0

Conversational forms with logic jumps and a built-in results view.

heyform/heyformfree · open source

SurveyJS

$0

Form and survey rendering library you embed in your own application.

surveyjs/survey-libraryfree · open source

Why this verdict

our own opinion · changed only by a person

82/100

Verdict yes at 82: rendering fields and storing rows is a solved problem an agent handles in one session. The score stops short of the nineties because matching Typeform's completion-rate advantage takes real interaction design, not just working code.

History

tracked since 6 Aug 2026 · nothing is ever overwritten

Interest · last 30 dayspeak 2/day
views01230 Aug4 Sept9 Sept14 Sept19 Sept24 Sept28 Sept
— views— prompt copies none yet— votes none yet

Questions about Typeform

answered from the record above

Is Typeform free?

No — the plan we track is $39 a month. Basic plan on monthly billing. $28/mo equivalent if billed yearly. Response limits apply on every tier.

Can you replace Typeform by building your own?

YES. Replaceable in one session with an AI coding agent. Replacement score 82 out of 100, build time one session. Read what you lose before you decide.

How much does Typeform cost?

$39 a month on Basic — $468 a year. Recorded 6 Aug 2026.

What do you lose by replacing Typeform?

The one-question-at-a-time interaction, which measurably lifts completion rates; A visual editor non-technical colleagues can use without you; Conditional logic jumps configured by clicking rather than by writing code; Notification email deliverability, and the spam filtering that keeps submissions clean; A large catalogue of ready-made integrations to CRMs and spreadsheets. If any of those carry weight for you, keep paying.

Is there an open-source alternative to Typeform?

Yes: Formbricks, HeyForm, SurveyJS. The prompt on this page is for when you want it your way instead.

Related entries

same category first, most replaced first

All 19 in Forms

Not sending yet

Every week, something stops being worth paying for.

New verdicts, prices that moved, entries added. One email a week. Unsubscribe in one click. Nothing is being sent yet — your address is kept here, and the first issue is the first thing it is used for.

free forever · no tracking pixel · stored here, never passed to anyone

Esc