A proposal for radically simplifying the consumer estimate page — from a 15-decision form to photos → vehicle → one tap → estimate — and restructuring lead capture so contact info is asked at the moment of intent instead of up front. Every recommendation below is grounded in a product that already proved it works, and in what our own backend actually needs.
Counted from the live /consumer page. The person filling this out is usually standing
next to a damaged car, on a phone, possibly rattled from an accident. Every decision below is a place to give up.
Our estimate prompt already instructs the AI: "If photos and the reported damage zone conflict, FOLLOW THE PHOTOS" and "The reported damage zone is a customer reference only." In other words: the 20-zone diagram, the chips, and the free-text description are collected, then largely overridden by the photo analysis. We are charging the customer effort for inputs our own system treats as a hint. The severity picker is the one non-photo input that genuinely calibrates the estimate — so it stays (as one tap).
Deliver the estimate before requesting contact info. A person who has seen their number is far more motivated to leave a phone number to act on it.
The Zestimate is shown instantly from an address — no signup. Contact capture happens when the visitor clicks "contact agent," at peak intent. That ordering is the core of how Zillow became the top real-estate lead engine in the US.
Sequential single questions feel effortless; a long page of parallel questions feels like homework. Completion research (Baymard Institute, and every A/B study Typeform publishes) consistently shows fewer visible fields → higher completion.
Lemonade sells insurance — a far heavier product than a repair estimate — through a ~90-second, one-question-at-a-time flow, and built a multi-billion-dollar book on it. TurboTax turned the most hated form in America into single-question screens for the same reason.
Anything the AI can infer from a photo should never be a form field. We already send all photos to the model; it already identifies panels, sides, and damage type.
Their instant-offer flows collapsed "describe your car's condition" from dozens of questions into a plate/VIN plus a handful of taps — because their pricing models fill the gaps. Offer volume exploded. Same physics here: our model fills the gaps from photos.
Don't ask for name + phone + email + consent as a wall. Offer actions the customer wants — "text me this estimate," "have 3 local shops call me" — each of which naturally carries the contact fields with it.
Home-services marketplaces capture contact details inside the "get quotes from pros" action, not on the landing form. The contact ask is reframed as the customer's benefit ("so shops can reach you"), which is also exactly the TCPA-clean way to collect a phone number.
Click through the phone. Three screens before the estimate; every lead-capture ask comes after the customer has their number, attached to an action they want.
"Simple" must not mean "worse leads." This is the disposition of every input on today's form, and where the new flow gets the same signal.
| Input on today's form | Disposition | Where the signal comes from now |
|---|---|---|
| Photos (up to 6) | KEEP — promoted | Screen 1, the hero action. Backend requires ≥1 photo already. |
| ZIP code | KEEP — auto-filled | Geolocation prefill + one-tap edit. Needed for shop matching & labor rates. |
| VIN / Year+Make+Model | KEEP — one gesture | VIN photo-scan (already built) becomes the default; dropdowns one tap away. |
| Severity picker | KEEP — one tap | Screen 3. It genuinely calibrates the AI prompt's line-item budget. |
| Drivable? | KEEP — one tap | Screen 3. Estimate signal + tow-referral trigger. |
| 20-zone damage diagram + chips | CUT | AI infers panels/sides from photos; backend already treats zone input as reference-only and follows the photos on conflict. Saves 1.4 MB + the whole diagram bug class. |
| Issue type + free-text description | CUT (optional later) | Inferred from photos. An optional "anything we should know?" one-liner can live on the result page for edge cases. |
| Shop type preference | CUT | Barely differentiates the estimate; shops themselves are matched by ZIP + category. |
| Email (required-ish) | MOVED to intent moment | "Text me this estimate" makes phone primary; email offered as alternative delivery. Result-page permalink already exists for no-contact users. |
| Phone + SMS consent | MOVED to intent moment | Captured inside "text me" / "get connected" — with the consent checkbox attached at exactly the point the number is given (TCPA-clean by construction). |
| Injured? / At fault? | MOVED to Alex | Asked conversationally after the estimate, where they feel natural. Attorney-referral routing preserved. |
| Damage zones for the shop's benefit | AUTO | The AI's own line items name the panels — shops see "R front fender Repl, bumper cover Rfn," which is more precise than customer-tapped zones. |
| Shops need | Minimum viable lead | Great lead | Captured at |
|---|---|---|---|
| Contactable customer | Phone + consent | + name, preferred time | "Text me" / "Get connected" cards |
| Local | ZIP | + neighborhood | Screen 1 (auto) |
| Real, scoped damage | Photos + AI line items | + severity, drivability | Screens 1 & 3 |
| Identified vehicle | Year/Make/Model | + VIN (exact parts) | Screen 2 |
| Intent | Requested contact | + insurance status, timeline | "Get connected" tap; Alex asks insurance/timeline |
"Enter your license plate" as step 1; a plate-to-VIN API resolves the exact vehicle. Fastest possible vehicle entry — plates are on the car, memorized, and photographable.
Why not now: plate decoding requires a paid third-party API (typically ~$0.03–0.10/lookup; NHTSA's free decoder is VIN-only, which our scan already uses). Worth piloting inside Concept A later as a fourth tab on the vehicle screen — it's an enhancement, not a different architecture. Decision needed (open question #2).
Alex runs the entire intake conversationally: "Send me a pic — ouch, that's the right fender. What year is the CR-V?" Warm, differentiated, on-brand.
Why not as the primary path: it roughly doubles per-lead AI cost (every turn is a model call on top of the estimate call), adds latency at each step, is harder to skim/go-back, and is the hardest variant to A/B against the current page. Alex stays where he adds unique value: post-estimate insurance guidance and the injured/at-fault conversation. Lemonade itself has been moving its highest-volume steps from chat back to tap-buttons — the chat is the brand, the buttons are the conversion.
PENDING_MIGRATIONS.sql; backend wiring is a tracked
follow-up.)/consumer-v2), unlinked, hitting the exact same backend endpoints with the same payload shape
(diagram fields simply sent empty — the API already treats them as optional hints). Zero changes to the existing
page until the A/B says so. Rollback = flip a link./consumer-v2 (parallel, unlinked, same backend), add the 4 funnel counters./consumer; keep the loser reachable for 30 days; delete after.
Recommendation: A/B via parallel page (Phase 2 above). But if you'd rather move fast and skip measurement, a straight replace is buildable — say which.
It's the single biggest remaining friction-cut after this redesign. Not required for v2 — VIN-scan covers most of the gap free.
Today's referral flow doesn't require it and shops still reply. The new flow gets it via Alex (post-estimate) rather than a form field. If pilot shops say it's a dealbreaker field, it becomes a one-tap chip on the result page instead ("Going through insurance? · Yes / No / Not sure").
Recommendation: no — phone-first with the permalink as the no-contact fallback. If you want an email capture kept, the natural spot is the "email me a link to finish later" rescue on screen 1 and an "email me this estimate" option next to "text me."