#forms
9 pieces filed under “forms”.
AI form copilots: suggestion, not substitution
AI form copilots work when they suggest, not substitute: per-field confidence, bulk-fill undo, and one rule — the model never commits silently.
Form architecture at scale: schemas, errors and autofills
Schema-first form engineering: shared zod validation, error copy as data, correct autofill tokens, and announcements that don't double-speak.
State machines for checkout and onboarding flows
Multi-step flows rot into boolean soup. Explicit state machines fix back-button bugs and analytics blindspots — with a worked checkout example.
Address autocomplete that earns its keep
Address capture is where checkout helps or hectors: lookup with a manual escape, international format chaos, correction over scolding, and a plan for API failure.
One schema everywhere: shared validation contracts
One Zod schema shared across client forms, API handlers and generated types. The architecture, error mapping and versioning that end validation drift for good.
Address forms for the world: one field doesn't fit all
International checkout forms: per-country field order, autocomplete's confident lies, the phone field's real job, PO-box honesty, and testing with real parcels.
Dates and times: pickers, zones and the lies of relative time
Calendar grids vs typing, timezone display rules for teams, relative timestamps that decay to absolute, and the DST edge cases that bite months later.
Prairie Mutual: claims that take six minutes, not six phone calls
A regional insurer replaced a fourteen-page claims PDF with a six-minute guided flow — and 'where is my claim?' calls fell by more than a third.
Case studyKite & Anchor: insurance onboarding people actually finish
A boutique insurtech's quote flow was losing four in five visitors. Progressive disclosure, honest defaults and plain-English policy summaries fixed the finish line.