Forms
A dynamic form-builder backend — define schemas in code (annotations, a FormDefinition, or the KForm DSL), render them to HTML or JSON, and collect validated submissions into DynamoDB or S3.
Collect data without building forms from scratch.
Schema as code
Declare a form with [Form], [FormField] and [FormOption], build a FormDefinition, or write it in the .kform DSL. Analyzer rules catch mistakes at build time.
Kform.Parse(source) Twenty field types
Text, number, date, select, matrix, ranking, rating, scale, file, signature, location and more, each a FieldType.
FieldType.MultiSelect Validation
Required, type and option checks run on every submit, plus length, range and regex validators. Add your own as an IFieldValidator.
IFieldValidator Rendering
Turn a form into HTML or JSON with HtmlFormRenderer and JsonFormRenderer, or implement the renderer contract for your own front end.
IFormRenderer Pluggable storage
Keep definitions and submissions in DynamoDB or S3 behind one IFormStore. Pick the store when you register.
AddS3KanjectFormStore() Save as you go
IForm creates and edits forms, questions and options at runtime. Partial submits keep one draft per form and user until the final submit.
SubmitPartialFormAsync() Inside your service.
On Lambda or in any container.
Forms is a .NET library, not a service you call. Add the package, register it in Program.cs, and it runs inside your own service, in process. Ship that service as a Lambda function or as your own container on ECS, EKS or App Runner — the module goes wherever your code goes.
- ✓ In process: your code calls the module directly — no sidecar, no extra network hop
- ✓ Built from your code: your image or Lambda package, patched on your schedule
- ✓ Configured in
Program.cs, with values from your own settings
Kanject.Program.cs, and exposes a typed API the rest of your service can use immediately.
Want in early?
Forms is in private beta. Tell us what you'd build with it and we'll bring you in as places open — and you'll help shape it before general availability. No purchase, no sales call.