Skip to content

Start here

Pencil

On this page

Pencil is a self-hosted form builder for one business. You build short forms that ask one question at a time and change the next question based on what people answer. Then you share a link, send invitations, and read the results. It runs on your own Cloudflare account, so the answers stay with you. It is free and MIT licensed, and the source is at https://github.com/just-every/run-pencil.

What you get

  • Short, adaptive forms. A form is an optional welcome screen, a handful of questions, and a named completion screen. There are 13 question types, from short text and email to ratings, NPS, dates and consent. See Build a form.
  • Answer paths. Send people to different questions depending on what they said, and check the whole route in a preview before anyone sees it. See Answer paths.
  • Numbered revisions. Publishing makes an immutable revision. You can keep editing a new draft while the live form stays exactly as it was. See Publish and share.
  • A public link, a script or an iframe. Put the form on its own page or inside your website. See Publish and share.
  • A shared audience. Add and edit contacts with custom fields, review CSV imports before committing, choose whether matching contacts are updated, and save rule-based segments with current counts. See Invitations, reminders and consent.
  • Invitations and reminders. Email a personal link to selected contacts or a saved segment, send one reminder, and honour opt-outs. Each launch freezes its audience, contact names and addresses, and evaluated eligibility and reminder policies. See Invitations, reminders and consent.
  • Results you can read without any AI. Answers for each question, completion and drop-off, a ledger of every response, and JSON or CSV downloads. See Results, review and exports.
  • Analysis you can check. Optionally connect a language model to group a revision's text answers into ranked themes. Every count is recomputed by Pencil, every quote is an exact excerpt you can open, small themes are withheld, and the one recommendation becomes an action only when you choose. Off until you configure a provider. See Analysis.
  • Actions with an owner and a review date. Turn what results show into an action with an owner, a target metric and a review date, record what changed, and mark it effective or ineffective yourself. Optionally send it to your own task system through a webhook, after you confirm exactly what leaves. Recommendations are written by people. See Actions and follow-up.
  • Your own branding. Your business name, supporting line, accent colour and logo on your public forms.
  • A way in from another form builder. Import a Typeform form and its responses into an editable draft. See Moving in.
  • Backup and restore. Export the whole installation and restore it into a new database. See Backup and restore.

Who it is for

Pencil is built for one business with one shared workspace. Everyone who signs in is an operator, and every operator can see and change everything. There are no roles and no separate workspaces. If that fits you, you get a feedback and lead-capture tool you fully own and can change, because the whole product is the source code in the repository.

What is not in this release

Check this list before you plan around Pencil. These things are not built yet, so you will not find them hidden in a setting.

  • AI help while building. Analysis reads collected answers; there is no AI help for writing or rewriting questions.
  • Named task-system integrations. External tasks go to a webhook you run; there is no built-in Jira, Linear, Asana or similar connection.
  • A notification centre and daily digests. You can get an email for each new response, per flow, but there is no in-app notification list and no digest.
  • Roles, several workspaces, payments, scheduling, file-upload questions, native mobile apps and single sign-on. These are out of scope.
  • Other kinds of embed. The Share panel offers the public link, a script embed and a plain iframe, and nothing else.

The dashboard line Ask → Signal → Act describes the whole loop. This release covers asking (forms), reading the signal (results) and acting on it with owned, measured actions. The recommendation itself comes from you.

Start here

  1. Install and run locally takes you from the source code to a working copy on your own computer.
  2. Build a form makes your first form from a template or from scratch.
  3. Publish and share puts it in front of people.

Run it for real

About this release

The source in this repository is version 0.3.0, which is still a candidate release. Nothing in these pages claims a live service, a measured hosting capacity, or proof that email reaches an inbox. Those depend on your own deployment and your own mail provider. The changelog on GitHub lists what each version changed, and the product requirements are in CONTRACT.md. Pencil is MIT licensed, and the licence is in LICENSE.

Edit on GitHub