Hide company field for individual users
- Estimate
- 3 story points
- Needs
- Frontend PR, review, QA pass
- Blocked by
- Next release train
- Assignee
- Someone's whole Tuesday
A headless React form engine. Conditional fields, validation, calculated values and repeaters live in a schema your backend controls — so changing a form stops being a frontend ticket.
npm install driven-form{ "id": "hero", "fields": [ { "name": "hasCompany", "type": "radio", "label": "Do you represent a company?", "order": 1, "options": [ { "id": "Yes", "label": "Yes" }, { "id": "No", "label": "No" } ] }, { "name": "companyName", "type": "text", "label": "Company name", "placeholder": "Acme Ltd", "order": 2, "show": "%hasCompany% == 'Yes'" } ]}
Why this exists
+ "show": "%hasCompany% == 'Yes'", + "required": "%hasCompany% == 'Yes'"
Shipped. No frontend PR. No deploy. A backend config change.
The contract
That's the whole list. The engine ships no UI — aTextInput you write on day one never needs touching again, no matter how the form changes.
Performance
Its own value, its own error, or a dependency it declared. Nothing else. That's enforced by tests in the repo — and you can watch it happen: the playground's Renders tab counts every field's renders live.
qtyFour levels of calculated fields settle in one pass. price was never touched, so it never rendered again.Try it yourself.
Then change forms from wherever your schema comes from — a backend, a CMS, a PM with a JSON editor, a model that emits JSON.