“Can you tell me what it costs?”
No job type, size, condition, or timing attached.
One responsive landing page turns a vague “get a quote” call to action into a bounded estimate, visible adjustments, validation, and a sandbox confirmation.
Outcome
The concept does not claim more leads. It proves that one visitor can understand the scope, produce a deterministic estimate, recover from invalid input, and reach a clear confirmation state.
No job type, size, condition, or timing attached.
House wash, medium property, built-up condition, one story, preferred timing captured.
Task loop
This is one action-state-result chain, not three unrelated mockups.
Only bounded options are allowed; house height disappears for surface-only services.
Each visible line maps to one selected input or additive treatment.
The reference stays attached while the UI states explicitly that nothing was sent.
Build
The end-client page handles the buyer task. The case page exposes the implementation boundary and proof.
Worked / Broke / Fixed / Verified
A control is not proof until both failure and recovery are visible and testable.
Pure calculation tests cover each service and story isolation.
The form exposes an inline error and focuses the invalid field.
The user can recover without losing the estimate selections.
Desktop and mobile browser tests assert correspondence and bounds.
Delivery
Public-path release proof is represented here by direct routes, responsive captures, executable tests, and a verification date. Hosting remains a separate deployment step.
Limits
Credits
A first paid pilot covers one of these deliverables, not both.