Blog

We scanned OpnForm. Here is where form creators get stuck.

August 2026 · The Holostaff team · 6 min read

Last scanned August 7, 2026 · OpnForm main at commit 3a1b5abd

OpnForm is the open source form builder. One command on its repo: holostaff /scan.

The result: 20 routes, 13 components, 26 customer-facing copy strings, 7 coverage gaps, and six workflows placed on the customer journey: Sign up, Create a form, View and manage submissions, Share a form, Upgrade subscription, and Guest form creation to signup. Two of those land at the Commit stage, three at Adopt, one at Expand.

This is teardown #3, after Documenso and Formbricks. This time the scan found something we did not expect: the most interesting user in the whole product has no account.

All six workflows on the canvas, each placed at its journey stage. Rendered from the scan, unedited. Click to enlarge.

The guest who was never invited

OpnForm has a generous door: a guest can build a whole form without an account. The scan mapped it as its own workflow, Guest form creation to signup. A visitor starts building on the guest route, works in the real editor, and only when they hit Save does a quick-register modal ask them to create an account.

The scan flagged the gap in that generosity. Its exact risk: "Guest builds form but never triggers the registration prompt." The signal it watches for is a guest spending more than 90 seconds in the editor without ever saving or publishing. That visitor did the work, got value, and drifts away without ever being invited to keep it. The invite only exists behind a button they never pressed.

So the copilot the scan proposed does not wait for Save. It steps in while the form is taking shape: "Looking good! Create a free account to save your form and start collecting responses."

And for the guest who reaches the modal and starts backing away, it wrote a second line: "Your form progress won't be saved without an account. It only takes 30 seconds to sign up."

The Create a form workflow drill-in: steps down the middle, risks and interventions beside the steps they belong to. Rendered from the scan, unedited. Click to enlarge.

Two more lines we liked

The fork in the road.

Creating a form starts with a modal asking you to pick a style, Classic or Focused. The scan marked a stall risk for anyone staring at that choice for more than 15 seconds, and wrote: "Not sure which to pick? Classic works for longer forms with layout blocks. Focused is great for short, one-question-at-a-time surveys."

The draft that looks live.

On the share page you can copy a link to a form that is still a draft. Visitors who open it get nothing. The scan anchored an intervention to the draft warning state: "Your form is still in draft mode. Publish it first so respondents can access the link."

Where the scan stayed quiet

Restraint again, our favorite pattern from the first two teardowns. On the share page, copying the link, grabbing the embed code, or downloading the QR code all run without a copilot line. The one intervention the scan placed in the submissions workflow is for the empty table, the moment a form exists but nobody has answered yet.

And the map does not just author what to say. It authors explicit silences. For the step where users export their submissions, the scan wrote a silence intervention, reasoning included: "Export is straightforward — tooltip already explains the options. Intervening here would be patronising."

A user doing the thing is not a trigger. A user stuck before the thing is.

The scan also learned how OpnForm talks

Copilots speak inside someone else's product, so the scan extracts the product's voice along with its screens. For OpnForm it wrote: "Clear, confident, and approachable. Direct without being pushy. Emphasizes simplicity, freedom (no caps, no lock-in), and professional quality. Uses short punchy sentences and avoids jargon."

It also lists words the copilots must never say in this product. For OpnForm that list includes "enterprise-grade", "leverage", "synergy", "cutting-edge", and "revolutionary". Vocabulary guardrails, extracted from the codebase, applied to every line a copilot will ever speak there.

Honest limits

The scan says so itself. It shipped this map with 7 coverage gaps attached, including: "Backend API routes and controllers not analyzed (Laravel in /api directory)", "Workspace settings and team management flows not deeply explored", "PDF editor flow (client/pages/forms/[slug]/pdf-editor/) not explored", and "Integration configuration detail pages not read".

And the usual caveat: the scan reads code, not production traffic. Its risks are hypotheses a founder would recognize, not measurements. Rehearsal against simulated users is where the hypotheses get tested.

Three products scanned. Three maps that knew the code.
Yours would be the fourth.

Explore the live Documenso map · or run npm install -g @holostaff/cli on your own repo.