Everything between the form and the report

A form builder with the depth of a system you would otherwise write yourself: rules that run on the server, campaigns that decide when and for whom, exports that open clean, and reporting that never lags. Every item below is built and tested today. The last section says what is coming.

Forms that hold their own rules

Intent and presentation are separate. A choice question can be a dropdown today and chips tomorrow without losing a single answer, and the rules travel with the form wherever it is rendered.

Nine field types, twenty-four widgets
Text, number, choice, yes or no, date, date range, file upload, location, and calculated fields. Sliders, star ratings, chips, polls that can show their counts after voting, rankings you drag into order, a map pin or the device's own location, pickers with search, and a dropzone, each checked against the field type so a wrong pairing cannot be saved.
Rules that cannot be bypassed
Visibility, calculated fields, and cross-field validation are JSON Logic from a fixed list of operators. They run in the browser as the respondent types, again on the server on the frozen version, and over MCP when an agent saves.
Repeatable and generated sections
Collect a list of order lines, or generate one block per option a person selected, with per-instance validation and totals.
Options from where they already live
Static lists, remote sources with search, dependent filters and paging, or the platform's and your workspace's own master data, so a district list is maintained once.
Every label in the respondent's language
A per-form default locale, BCP-47 language codes, and a picker respondents switch at any time. Labels, options, and validation messages all change.
Media beside a section or a question
An image, a hosted video, or a carousel of images above or below any section or question, with alt text and captions in every language. YouTube and Vimeo links play in a privacy-preserving player that loads only when the respondent presses play.
Instructions and branding
A Markdown intro with numbered steps and an optional required acknowledgement, plus your logo and cover image.

Campaigns decide when, and for whom

A form never goes live on its own. A campaign freezes a version, sets the schedule, says who may answer and how often, and gives you a QR code to print.

Four schedule kinds
One-time, date range, open-ended, or periodic with daily, weekly, or monthly recurrence in the campaign's time zone. A monthly check-in reopens itself.
Open or restricted
Anyone with the link, or only people on your email list, from approved domains, or signed in with Google. Verification by emailed one-time code today, with SMS codes on the roadmap.
Audiences that show who has not answered
Members with tags and attributes, groups, CSV import of up to 50,000 rows, and a per-campaign view of who is still missing.
Response policy
Unlimited, once, or once per period per person, an overall cap, and whether respondents may edit their own answers until the campaign closes.
Four page templates
Classic single page, guided section by section with a stepper, conversational one question at a time, or split. Pick per campaign.
Follow-up forms
After one answer, offer the next form: a consult after a high stress score, a weekly tracker after sign-up. The two answers stay linked, even when the respondent never signs in.
A share studio for every campaign
Templates for posts, stories, link previews, and printed posters, and an editor to change every word, colour, image, and position. The QR code, the address, and your logo come built in, and designs are saved for the whole team.
A clear lifecycle
Draft, scheduled, active, paused, ended, archived. Republishing freezes the latest draft again; the old version keeps serving until then.

Responses you can trust in the export

The server re-runs visibility, calculations, and validation on the frozen version for every submission, so what you export is what the form allowed, not what a browser sent.

Know who answered, when it matters
Google sign-in or an emailed code identifies a respondent. Identified people can edit their own answers until close, and the campaign knows who has not answered yet.
CSV and Excel that open clean
Label headers, one column per multiple-choice option, repeatable sections as rows or sheets, streamed through single-use links so a 100,000-row export never times out.
Files handled safely
Uploads are typed from their real bytes, private files sit behind access-checked links, and a file cannot be deleted while a response relies on it.
No duplicates on a bad connection
Submissions are idempotent: a retry after a dropped connection never creates a second response, and per-person limits are enforced on the server.

Reporting without a spreadsheet

Reporting tables are written in the same transaction as each response, so the numbers are never behind and never need a refresh.

Trends and funnels
By day, week, or month with period-over-period comparison, splits by platform and language, and a funnel from opened to started to submitted.
Per-question insight
Distributions for choices, percentiles for numbers, and answer counts per question, on the campaign page.
Custom charts and dashboards
Seven metric kinds, up to two groupings and ten filters, in a closed query language nobody can inject into. Save charts to shared or private dashboards and compare campaigns side by side.
Reports that arrive
Email a dashboard daily or weekly to up to 50 recipients.
Search by meaning
Ask "complaints about late delivery" and get the responses that mean that, however they were phrased, in English, Hindi, or Hinglish. Choice questions are answered exactly, by value.

Workspaces, roles, and machine access

Everything a member does is checked against their live role on every request. Tokens and AI clients can only ever hold a subset of it.

Roles you can shape
Five built-in roles plus custom ones made of permissions. Nobody can grant more than they hold.
Invitations and handover
Shareable links, email invitations, optional approval, ownership transfer, and deletion with a restore window.
API tokens and MCP
Long-lived credentials for one workspace, hashed at rest, revocable, and capped by your role. Twelve MCP tools let an AI client draft forms and never publish them.
Audit log
Who did what, when, across the workspace, including every save an AI client makes.

Coming next

On the roadmap, in the order we plan to build them: SMS one-time codes for verification, and AI features inside the app starting with translation. Hosted MCP access, webhooks, and payment collection follow.

See the roadmap

See it with your own form

Import a configuration into the playground, or create a workspace and publish a campaign.