Address & name format variance
Names and addresses have different shapes per country, so a fixed First/Last plus State/ZIP form quietly locks out much of the world.
See it
What it is
Names and addresses do not share a shape across the world, so a form hardcoded to First Name, Last Name, Street, City, State, ZIP quietly locks out large parts of it. Plenty of Indonesians have a single legal name. Spanish speakers commonly carry two surnames. Chinese, Japanese, Korean, and Hungarian names put the family name first. Icelandic patronymics are not family names at all. On the address side, Japan orders postal code first and goes largest unit to smallest, the UK has no state, and India needs a required district that the US form has no slot for.
The fixes are boring and effective. Use one full name field plus an optional preferred or display name, and never require a surname. Ask for country first, then render that country's address template rather than a US one with fields relabeled: Google's open libaddressinput dataset encodes field order, required fields, and local labels for most territories. Accept the full Unicode range, store as UTF-8, and give generous length limits.
Gotcha: validation causes most of the damage, not layout. Regex that demands two words, blocks apostrophes and hyphens (O'Neill, Jean-Baptiste), rejects non-ASCII letters, or enforces a five-digit postcode will reject real people all day. The canonical reading is 'Falsehoods programmers believe about names'. Also: honorifics and gendered titles are optional metadata, never a required dropdown.
Ask AI for it
Rebuild this signup and checkout form to handle international names and addresses. Replace the first name and last name inputs with a single required full name field plus an optional preferred name, and drop any regex that requires two words or blocks apostrophes, hyphens, or non-ASCII characters. Put the country selector first and drive the address fields from a per-country template (field order, which fields are required, and the local label for the administrative area and postal code) rather than showing US labels everywhere. Store everything as UTF-8 with generous length limits, keep honorifics optional, and render saved addresses back in that country's own ordering.