Introduction
FlowForm is a security-first form and survey builder. You design your questions visually in the browser — no code required — and the builder outputs a clean, structured JSON schema you can send to any backend or API.
What makes FlowForm different?
Section titled “What makes FlowForm different?”Most form builders are wrappers around simple input fields. FlowForm is built around a flow model — each question is a node, and nodes can have rules attached that control the path a respondent takes through the form.
- Five question types — multiple choice, matching, rating, open-field, and logic rules
- Visual rule builder — set branching and skip logic without writing code
- Pseudonymous by design — response data is never stored alongside real user identities
- Dual-database isolation — form structure and raw responses live in completely separate databases
How it works
Section titled “How it works”- Open the builder on the home page and add your questions
- Use the Rules node type to add conditional branching between questions
- Hit Preview form to test the respondent experience end-to-end
- When you’re happy, export the JSON schema and send it to your backend
Architecture overview
Section titled “Architecture overview”Builder (browser) └─ Produces a SurveyNode[] JSON schema
Backend (Flask) ├─ core DB — survey structure, metadata, submission registry └─ response DB — raw answer data, pseudonymous subject IDs{ "type": "question", "sort_key": 100000, "content": { "id": "q1", "title": "Satisfaction Survey", "label": "How satisfied are you?", "family": "rating", "definition": { "variant": "slider", "range": { "min": -5, "max": 5, "step": 1 }, "ui": { "left_label": "Not satisfied", "right_label": "Very satisfied" } } }}The two databases share a single integer key (core_submission_id) but have no cross-database foreign keys. This means response data can be backed up, retained, or deleted completely independently of the survey structure.
Next steps
Section titled “Next steps”- Building Your First Form — a step-by-step walkthrough
- Question Types — every node type explained