FS FormScript

Comparison

Compared honestly

Each row is a tool a buyer already uses, what it is good at, and which of the four copies of the rule it does not remove.

what this buys you

  • React Hook Form still owns state
  • Zod still owns schemas
  • FormScript removes the copy of the rule
  • Level 4 is not claimed yet
Language specification 1.0 · level 3 of 5
ToolWhat it ownsWhat it does not remove
React Hook Form, Formik, TanStack Form The web screen’s state The API still reimplements the rule
Zod, Yup, Joi, Valibot A TypeScript schema, often shared in a monorepo Relevance, calculated fields, “ask this only when,” render intents, a JVM
JSON Schema, react-jsonschema-form The shape of the data Applicability, derived fields, honest absence, profile-pinned arithmetic
form-js A JSON form with a viewer, a visual editor and a playground The API still reimplements the rule — the schema is one renderer’s document, and nothing certifies that a second runtime reads it the same way
SurveyJS, Form.io, Typeform A product with its own JSON and renderer You cannot take the document to a JVM you control and get a conformance result
XForms, ODK / OpenRosa The model (and offline field collection) Syntax, and everything that is not field collection — FormScript keeps the model
CEL Sandboxed expressions with cost bounds Forms, widgets, output projection, i18n of a document
JsonLogic A rule as JSON, shared between front end and back end, never eval()ed Everything around the decision — one rule is one decision; fields, applicability, output projection and render intents are not modelled at all
DMN Decision modelling: a notation, an expression language, decision tables The form itself — fields, applicability, output projection, and the renderer that turns intents into controls
OpenAPI The contract of an HTTP API, in a language-agnostic description The rules of the form — applicability, derived values, locale, render intents; it describes HTTP, not a form

The rows for form-js, JsonLogic, DMN and OpenAPI are not opinions about the tools. Each claim is taken from that tool's own documentation: form-js (view, edit and simulate JSON-based forms), JsonLogic (rules as JSON, never eval()ed), DMN (a notation and an expression language, with decision tables) and the OpenAPI Specification (a language-agnostic interface description for HTTP APIs).

FormScript is a synthesis, not a novelty claim. The product sentence is: the rule is the document, and two runtimes must agree.

Keep what you own

React Hook Form, Zod and JSON Schema are good at what they do. FormScript removes the copy of the rule, not the tools.

Not a novelty claim

This is a synthesis of ideas that already exist, aimed at one gap: a rule that two runtimes can both read.

Honest about level

Level 3 of 5 is claimed today. A second independent runtime is level 4, and it is not claimed yet.