- A size chart gives four flat numbers to describe a 3-D body, and it can't tell whether the denim is zero-stretch raw selvedge or 4-way stretch. So the same shopper is a Size 29 in one jean and a Size 28 in a visually identical one. Same body, different correct size 🧵
- In our demo, meet Riley (a synthetic shopper). On the Ironside 14oz raw selvedge straight jean the correct size is 29, at 95% confidence, comfortable at every zone. A waist-only chart says 28. At 28 the thigh blows past this zero-stretch denim's stretch limit.
- Now keep Riley's exact measurements and switch to the Driftwood stretch slim jean. The correct size falls to 28 at 90% confidence, clean. Identical body, a visually similar jean, one full size apart. The stretch denim forgives the thigh where the raw selvedge could not.
- That gap is the whole thesis. Fit is not a picture problem, it is a mechanics problem. Whether a size fits is the circumferential strain at each zone (waist, hip, thigh) against that fabric's elastic limit. A pretty generative try-on image can't feel the fabric.
- So the load-bearing decision never touches an LLM. Per candidate size we compute how far the body exceeds the garment's finished circumference, divide by it, compare to the fabric's comfort band, and pick the size with the lowest total regret. Plain Python, 8 unit tests.
- Agents advise, code decides. A typed LLM crew reads the messy vendor copy into a FabricSpec, but an adversarial critic checks it against physics first. Feed it "100% cotton raw selvedge with 4-way stretch" and the critic blocks it, routes to human review, no size issued.
- And when no single size clears every zone, the engine abstains instead of bluffing. Jordan on that same raw selvedge jean: small sizes fail the thigh, larger ones run loose at the waist. It says "bracket or speak to a stylist." Across the eval it abstains on 33 of 105 pairs.
- Does the physics beat the chart? On a labeled 105-pair synthetic golden set the engine is +40 percentage points over the real incumbent, waist-only size-chart matching. The lead is widest on rigid denim and tailoring, exactly where fit bites hardest.
- Every call also writes a replayable JSON receipt: the extracted FabricSpec with the exact source phrases, the full per-size strain matrix, the decision. The same result serves at /api/fit for an AI shopping agent. A report you can audit, not a picture you can only look at.
- Question for e-commerce and returns leaders: would you let per-fabric sizing override your brand's own size chart at checkout, even when it drops the recommended size a full size? Where is your line? #FitPrediction #RetailTech #ApparelReturns #AgenticCommerce
- We built Contour as a demo, not a deployed pipeline (the Shopify and CLO-SET connectors are stubbed). If your team is treating returns as a fit problem, we'd like to hear how you're thinking about it. Walkthrough: https://veriprajna.com/demos/ai-fit-prediction-fashion
Published on X · August 17, 2026
On social media
See this post on its original platform
In our archive