Form Builder Development
Form builder is a tool for creating arbitrary data collection forms without programming. Applications: surveys, applications, registration, onboarding, quizzes. References: Typeform, Google Forms, JotForm.
Field Types
Basic set:
- Short text — single-line input
- Long text (Textarea) — multi-line
- Number — numeric input with validation
- Email / Phone / URL — with format validation
- Date / DateTime — date picker
- Single choice (Radio) — one option
- Multiple choice (Checkbox) — several options
- Dropdown (Select)
- Rating — stars or NPS scale (0–10)
- File Upload — file upload
- Signature — signature via canvas
- Payment — built-in payment (Stripe)
Conditional Logic (Skip Logic)
Show/hide fields or pages based on answers:
IF question_3 = "Yes" THEN show questions 4,5,6
IF question_3 = "No" THEN go to question 7
Rules model:
{
"field_id": "q3",
"conditions": [
{
"field": "q3", "operator": "equals", "value": "yes",
"actions": [{ "type": "show", "fields": ["q4", "q5", "q6"] }]
}
]
}
Multi-page Forms
Form divided into steps. Progress bar shows step N of M. Navigation: "Back" / "Next" / "Submit" on last step.
Progress save: if user leaves, partially filled form saved in sessionStorage or server by token. On return — data restored.
Answer Storage
CREATE TABLE form_submissions (
id UUID PRIMARY KEY,
form_id, respondent_id (nullable),
submitted_at, ip_address, user_agent,
utm_source, utm_medium, utm_campaign -- UTM parameters
);
CREATE TABLE submission_answers (
submission_id, field_id,
value_text, value_number, value_json JSONB,
value_files TEXT[] -- links to files in S3
);
Answer Analytics
For each form:
- Summary view: aggregated data per question (pie chart for single choice, bar chart for rating)
- Individual responses: each filled instance
- Drop-off analysis: which step users leave (completion funnel)
- Export: CSV / XLSX all answers
Notifications
- Notification email: on each new answer — email to form owner (customizable template)
- Confirmation email: confirmation for respondent (with answer copy)
- Webhook: POST with answer data to specified URL
Embed and Publish
Three distribution ways:
-
Direct link:
forms.platform.com/f/abc123 - iFrame embed: code for embedding on any website
- Popup/Slide-in: JS snippet opening form as overlay
Timeline
MVP (10 field types, conditional logic, email notifications, CSV export): 6–8 weeks. Full builder with payment, branding, multi-page forms, analytics and integrations: 3–4 months.







