The Empty Input Field Is a Confession
Why every judgment call in our product arrives with a grounded AI recommendation a human confirms or changes.
Stijn Hendrikse · Sep 8, 2026
An empty number field in a B2B product is not neutral data collection — it is a design decision to make the user guess. The fix is to have the system take a position first: a grounded estimate, a critique of that estimate, a visible range and rationale, and a human confirm. Blank fields don't capture judgment; they manufacture unattributed numbers.
That choice has a price, and the person who pays it is a fractional CMO who is four clients deep and has been asked, by software, to invent a plausible ARR figure for a company whose books they saw eleven days ago. They will not go find the number. They will type something. Then they will build a plan on it, and so will the AI downstream, and nobody will ever know which figures in the final strategy were reasoned and which were the result of a cursor blinking in an empty box at 11pm.
So we banned it. Not as a design preference — as a constitution principle in our codebase, with a registry of every judgment call in the product and a CI check that fails the build when a new one ships without a recommendation attached.
Blank fields don't collect judgment, they manufacture noise
The industry rationalization is that the user knows their business better than we do, so we should ask rather than assume. That's a real principle applied to the wrong moment. It's true at the point of decision. It's false at the point of first draft.
Asking a human to produce a number from nothing is not respect for their expertise. It's outsourcing the cost of thinking to the person with the least time and the most context-switching — the operator reloading four sets of personas, pipelines, and politics several times a day. In our own buyer interviews, that reloading runs to roughly 1.5 hours a day across four clients, which at 230 workdays and a $250 hourly rate is about $75,000 of unbillable time a year. What comes back from a blank field is not their judgment. It's the fastest number that lets them close the modal.
Worse is the silent default. A field that quietly initializes at zero is a lie with no author. Nobody chose it, nobody can audit it, and three screens later a growth model is running on a value that was never a decision at all. A value should be 0 only when a human looks at a recommended range and says: zero.
What replaces the blank: recommend, critique, prefill, defer
Take the ARR estimator inside our Growth Matrix. The old shape was a field labelled "current ARR" and a blinking cursor. The new shape has four moves:
- An estimator prompt. The model reads everything already known about the account — stage, headcount, pricing shape, funding signals, whatever the workspace has — and produces a grounded estimate rather than a generic one.
- A devil's-advocate pass. A second prompt whose only job is to attack the first: what would make this estimate wrong, what is being extrapolated from too little, where is the model pattern-matching to a company that isn't this one.
- A prefilled range, a point estimate, and a rationale. Not a lone number pretending to be a fact. A range that shows the width of the uncertainty, a point inside it, and one line of reasoning the human can check in five seconds.
- A human confirm or change. The system has taken a position and is waiting for your call. Confirm it, or edit it and keep your own wording. Only then does the rest of the platform treat it as true.
The devil's-advocate pass is the part people skip. Without it you've built a confidence machine — plausible content produced at near-zero cost, which is exactly the noise problem, just arriving in a nicer field. The critique is what turns a generated number into a reviewable one. It is also the difference between mastery and speed: as one of our internal reviews put it, "the point is to see if I understand exactly why Claude is making these decisions."
Confirming a good recommendation is a different act than filling a void
Confirming a good recommendation is a different act than filling a void, and the difference is worth arguing about: pre-filling doesn't reduce human judgment, it's the only thing that makes real judgment affordable.
Editing is cheap and diagnostic. Show a fractional CMO a range with reasoning and they'll react in seconds — the model missed the enterprise pilot that hasn't closed, the range is too tight, that funding round was a bridge. That reaction is signal. It exists only because there was something to react against. A blank field has nothing to diff against, so it captures no reasoning at all — just a number with no author and no note explaining why.
This matters most for operators already under-resourced on attention: fractional CMO practices lose an estimated 50 to 60 percent of their working time to navigating and stitching together disparate tools rather than producing billable deliverables. Every field that demands invention from memory comes out of that same budget.
This is where the "AI takes the judgment out of the work" critique inverts. The generation was never the scarce part. Conviction is. Our job is to spend the model's cheap output buying back the human's expensive attention — and to route that attention at the two or three calls that actually move the plan, not at forty fields that only needed a defensible starting point.
Why we made it structural instead of a guideline
A design guideline decays. Someone ships a new module on a Friday, the field is a nice-to-have, and the blank comes back.
So it lives in the constitution — the ruleset the codebase and every agent working in it must obey — backed by a registry of judgment calls and a CI check that refuses the merge when a surfaced decision arrives without a recommendation, a critique, and a rationale behind it. It's enforced the way a type error is enforced: not by remembering.
The test to run on your own product this week
Open your tool and count the number and date fields a user must fill from memory. For each one, ask three questions:
- Does the system already know enough to make a defensible guess? Usually yes, and the guess is better than the number a distracted user types.
- If it silently defaults, who chose that default? If the answer is nobody, it's not a default — it's an unattributed claim in your customer's plan.
- When a human overrides the recommendation, do you capture why? The diff tells you what changed. The typed note tells you what your model doesn't know yet.
Empty forms feel neutral. They aren't. They move the cost of thinking onto the person least able to absorb it, and they discard the one artifact worth keeping: the moment a human looked at a position the system took and said not quite, here's why.