Without change, form work stays a slow, manual job, and the data people need arrives late and in the wrong place.
Chapter 2 · Role and boundaries
The whole product, end to end.
I owned
AI generation flows: prompt, file and voice
Question review and status system
Form editor: field palette, magic tools, seven field types
Integrations directory
Design system across the product
Not mine
AI model and question generation (engineering)
Integration back-ends; Salesforce, HubSpot, Zapier still on the roadmap
Chapter 3 · Key decisions and trade-offs
From one sentence to a live form.
The new flow
Decision 1 of 4
Start from an AI draft, not a blank canvas
Baseline: 100% of forms started from scratch.
Options on the table
Why this one
Templates still need rewriting for each case. A draft written for the actual request removes the blank-page step entirely.
What I gave up
AI output varies, so every question is editable and the whole set can be regenerated. The person makes the call.
Decision 2 of 4
Three ways in, including voice
Long, open-ended forms were the slowest to type.
Options on the table
Why this one
People already have the content somewhere: in a document, or in their head. Meeting them there is faster than retyping.
What I gave up
Voice costs more to run, so the credit balance sits in the header and the cost per minute is shown before and during a session. No hidden meter.
Decision 3 of 4
Refine in the editor, don't rebuild
Placing fields by hand was the slow part.
Options on the table
Why this one
Users are polishing a form, not assembling one. Magic tools sit above the live form and the field palette beside it.
What I gave up
The editor has to handle every generated layout, which limited the first release to seven field types.
Decision 4 of 4
Route answers to existing tools
6 hours a week went to copying data.
Options on the table
Why this one
Exports were the hidden cost. Removing them saves more time than any change inside the builder.
What I gave up
Each integration is engineering work, so the directory shows live connections next to the ones still coming.
Try it
Try it: review the draft.
Nothing gets published without a person deciding on every question. Keep, drop or regenerate them, and sort out the one Ava flagged.
Review the draftLeave request · 5 questions from your prompt and 1 file
A small working copy of the review screen. The questions come from the leave-request example in the mockups.
Describe it: a prompt plus a policy PDF. The cost in credits is shown before anything runs.Review the draft: keep, edit or delete each question. Where the policy is ambiguous, Ava asks instead of guessing, and every question shows its source.The editor: the draft arrives with fields placed and rules attached, such as the notice period that applies only to annual leave.Talk to Ava: an editable live transcript, the fields Ava has picked up so far, and the credit cost of every minute.
Form status system
Draft
In progress
Pending review
Approved
Live
Rejected
Routing: connected tools, one that needs reconnecting with the responses it's holding, and rules for where each answer goes.Chapter 4 · Outcome and evidence
Shipped, with targets to prove.
8 sto a first draft
4 minfrom idea to a published form
0manual exports a week
These are the targets the product was designed around, not measured results from the live product.
The forms library: status at a glance, where each form sends answers, and one-tap edit, share and delete.When things go wrong: an unreadable file, too few credits for voice, and deleting a live form.
Heuristic review and walkthrough
I reviewed every screen against Nielsen's 10 usability heuristics, then walked through the four test tasks below step by step as a first-time user. Findings are rated by how likely they are to stop someone publishing a correct form.
5 findings · 4 fixed in the screens · 1 open
HighTalk to Ava · user controlFixed
The only ways out were Pause or "Stop and discard", so there was no way to stop and keep the transcript.
Added Finish. Discarding is a secondary action that asks to confirm.
MediumReview · visibility of statusFixed
"Open in editor (4)" didn't say that one question still needed checking.
The button reads "4 ready, 1 to check".
MediumWalkthrough · send answers to SlackFixed
Nothing in the editor said where answers go; people had to find Integrations in the sidebar.
The editor header shows the destinations and an Edit routing link.
MediumDelete form · error recoveryFixed
Deleting a live form asked to confirm, but there was no way back afterwards.
Deleted forms are kept for 30 days and can be restored; the dialog says so.
MediumForms list · accessibilityOpen
Edit, share and delete are icon-only. Only the hover tooltip is designed, so keyboard and screen-reader users get no label.
Add accessible names and show the tooltip on keyboard focus too.
How I'll test it next
5 people who build forms at work, unmoderated, on a clickable prototype.
Task 1Make a leave request form from the policy PDFPasses if: Published in under 5 minutes
Task 2Resolve the question Ava flagsPasses if: Understands why it was flagged
Task 3Send answers to SlackPasses if: Sets up routing without help
Task 4Recover when the file can't be readPasses if: Picks a way forward without restarting
Results and the changes they lead to will be added here.