- Taps to finish
- —
- 1st option at
- —
- Progress count
- —
- Taps to finish
- —
- 1st option at
- —
- Progress count
- —
NetRevenue · Application form · CRO mockup
Both phones are live and clickable at a true 375 px. Every question, helper line and answer label is copied verbatim from DtoApplyFS.tsx — not one word was rewritten. Colours are the production tokens from src/index.css. Only layout, hierarchy and interaction changed.
Hover a row to flash the affected region on the V2 phone.
Was: pick an answer, then reach for Continue.
Single-choice questions carry no ambiguity about when the answer is final, so the second tap is pure friction, repeated eight times. The selection still confirms visibly for 260 ms before the slide, and Back restores the previous answer so a mis-tap costs one tap to undo, not a lost form.
Was: a permanently visible muddy-orange button, greyed until you answer.
A disabled CTA in the brand's action colour reads as a broken button, not a locked one — it is the loudest object on the screen and it does nothing. On single-choice steps V2 shows no button at all; Continue returns only where it earns its place: the "Something else" write-in, the timeline write-in, and the contact step.
Was: logo bar + APPLICATION pill + "Let's find out if we're the right fit." re-rendered on every step.
That block earns its space once — on step 1, where it sets the promise. On steps 2–9 it is 150 px of repetition standing between the user and the thing they came to do. V2 keeps it in full on step 1, then collapses to a slim sticky bar. No copy was deleted, only de-duplicated.
Was: "1 / 8" that silently becomes "5 / 9" when a conditional step is added.
The live denominator grows mid-flow, so the form visibly gets longer while you fill it in — the exact moment a committed applicant reconsiders. V2 uses a segmented bar with no fraction: adding a segment is a sub-pixel change, and a filled-versus-empty bar answers "how much is left" without ever printing a number that can contradict itself.
Was: 18 px semibold, left-aligned, below a progress row, inside a bordered card, inside a hero.
Three nested containers each took a turn before the question got to speak, and the card border drew a box around the one thing that needed no framing. V2 drops the card, centres the question on a 290 px measure and the options on 320 px, and sets the type in Inter Tight at 24 px/-0.024 em — the same face as the landing-page headlines, so the form reads as the same product rather than a shadcn default that inherited the colours.
Was: a 16 px shadcn radio circle, vertically centred against wrapping labels.
The radio dot is small, generic, and drifts out of alignment the moment a label wraps to two lines — which four of the seven industry options do. A fixed 26 px key holds the left edge steady, makes each row read as one deliberate object, and doubles as the keyboard shortcut: press A–G on desktop.
Was: a purple border and a 25%-opacity purple tint — near-invisible on a phone in daylight.
Selecting an answer is the only thing the user does on this screen, so it should be the only thing that lights up. The whole row fills with the CTA gradient and the key becomes a check — readable at arm's length, outdoors, at a glance. Purple stays the brand accent; orange stays reserved for action, which is exactly why it can no longer sit on a dead button.
Was: an instant swap plus a smooth-scroll to top.
A 190 ms slide — forward one way, back the other — tells the user the form moved and which way it went, so the screen change is legible instead of startling. It is the difference between an app and a page that reloaded. Respects prefers-reduced-motion.
DtoApplyFS.tsx — under-100 leads still adds the "can you get to 100+" gate, a soft timeline still adds the write-in, $50–150K still adds the offer choice. Nothing here is a copy test, so a V1/V2 result is attributable to formatting alone. No copy was added either — V2 ships no new instruction lines, hints or microcopy.DtoApply.tsx (/dto/apply), DtoApplyFS.tsx (/dto/fs) and fs/Apply.tsx (/dto-fs/apply) each carry their own copy of this option UI, and /dto-vsl needs a form next. If V2 lands, it should ship as one shared component so this is the last time it gets fixed once per file.