Skip to content
Threadwise.
Home Comparison

Document 02 · Fabric Composition Score · v0.1 (MVP)

A composition score,
and only that.

Threadwise reads the fiber content on the label and nothing else, then returns a 0–100 score and a calm recommendation a shopper can read in the time it takes to check a price tag. Naming it precisely — a Fabric Composition Score — is the whole game.

Visual conversion of the MVP Fabric Composition Scoring logic · Threadwise v0.1 · July 2026

◆ Based on fabric label only This is a Fabric Composition Score, not a sustainability score and not a quality score. It uses only what is printed on the fiber-content label. Every screen, label, and line of copy calls it exactly what it is — that discipline is what makes it defensible.

01Input → output model

One clean pipeline: read the label, score each fiber, average by weight, apply at most two small adjustments, and return a score with a band, a recommendation, and a three-line explanation.

Input
  • Fiber-content label
  • Which fibers
  • Percentage of each
  • Natural / regenerated / synthetic
  • How many types blended
Engine
  • Base score per fiber (0–100)
  • Weighted average by %
  • − 5 mixed materials (if triggered)
  • − 5 complex blend (if triggered)
  • Max total adjustment: −10
Output
  • Score, 0–100
  • Band (one of five)
  • Recommendation label
  • 3-line explanation
  • “What this can’t see” line
Nothing else touches the number. The score is a starting signal, not a final verdict on the garment.

02What the score can & can’t see

Stated plainly on the result screen, so the shopper is never misled. The exclusion is a visible feature, not a hidden gap.

✓ Can evaluate — from the label
  • Which fibers the garment is made from
  • The percentage of each fiber
  • Natural, regenerated, or synthetic type
  • How many fiber types are blended
  • Whether small synthetic percentages are present
  • The broad sustainability & longevity signal the fiber type suggests
✕ Cannot evaluate
  • Construction & stitching quality
  • Actual garment lifespan (fiber type is a weak predictor)
  • Price or value
  • Brand ethics or labor practices
  • Certifications (organic, recycled-content, etc.)
  • Dyeing & finishing process; the specific factory
  • Weight / construction (knit vs woven); how it’s worn & washed
◆ Based on fabric label only The result screen carries a short “what this score can’t see” line at all times. It usually points at construction, fit, and how much you’ll actually wear the garment.

03Fiber category map

Each fiber gets one base score, 0–100, higher is better — ordinal judgments about production footprint and end of life, set in steps of 5 to avoid pretending they are precise.

Strong naturallow-input, biodegrade cleanly
Linen90
Hemp90
Organic cotton85
Acceptable naturalbiodegradable, heavier footprint
Cotton (conventional)75
Wool75
Silk75
Regeneratedcellulosic; process varies
Lyocell / Tencel80
Modal65
Viscose / rayon55
Syntheticsfossil-based, persistent
Recycled polyester45
Polyester35
Nylon30
Acrylic25
Elastane / spandex20
Nothing reaches 100 — the empty 90–100 space is deliberate headroom, a signal that the score means “strong,” not “flawless.”
◆ The category name is not the ranking Lyocell (regenerated, 80) scores above conventional cotton (natural, 75) on purpose. The process behind the fiber is the ranking, not its family — the model resists the lazy “natural good, synthetic bad” shortcut.

04Composition rules

The garment score is the weighted average of fiber base scores, plus at most two small adjustments. To apply them, sort every fiber into one of two families.

Step 1 — Weighted average. Multiply each fiber’s base score by its percentage, add them up.
Step 2 — Up to two adjustments. Maximum total −10. Round to a whole number.

Biodegradable family

All natural fibers (cotton, linen, hemp, wool, silk) and all regenerated cellulosics (lyocell, modal, viscose).

Synthetic family

Polyester, recycled polyester, nylon, acrylic, elastane.

RuleTriggerAdjustment
Mixed materialsBoth families present, each at 10% or more−5
Complex blendThree or more fiber types, each at 5% or more−5
◆ Trace synthetic (1–5%) No penalty — the amount is too small to change which recycling stream the garment could enter — but a specific line in the explanation says so: “the small stretch/synthetic content means this can’t be recycled as a natural fiber.” Honesty lives in the copy, not in a fiddly penalty.

05Score bands

Five bands map the 0–100 score to a plain label. Each band is legible by its range and word alone — never by color only.

85–100
Great fabric choiceBand 1 · the strongest signal
70–84
Good fabric choiceBand 2 · solid, one or two things to check
50–69
Okay, with tradeoffsBand 3 · works, with a tradeoff worth knowing
30–49
Think twiceBand 4 · real tradeoffs; fine if you’ll wear it a lot
0–29
Weak fabric choiceBand 5 · working against you on fabric alone
The scale runs high (best) to low. Range and label carry the meaning; color reinforces but never stands alone.

06Recommendation labels

Calm, plain, and free of guilt. The label is the verdict; the shopper decides what to do with it. No language blames the shopper.

BandRecommendationOne-line tone
GreatGo ahead“A strong fabric. Little to watch here.”
GoodSolid pick“A good choice. One or two things to check.”
OkayFine, with tradeoffs“Works, but there’s a tradeoff worth knowing.”
Think twiceWorth a second look“Some real tradeoffs here. Fine if you’ll wear it a lot.”
WeakProbably skip“This one’s working against you on fabric alone.”

Owned or thrifted garments are always best worn long, whatever the fabric scores — and the copy never implies otherwise.

07Explanation pattern

Every result shows the same three short lines, in this order. It keeps the tone consistent and makes “check yourself” a permanent, honest reminder.

Line 1

What’s good about this fabric — the strength that earned its score.

Line 2

The tradeoff — the honest cost, in one sentence.

Line 3

What to check yourself — usually construction, fit, and how much you’ll wear it.

The same pattern on every screen. Line 3 is where everything the score can’t see is named.

08Worked examples

All eight, fully worked, so any can be recomputed by hand. Distribution: 1 Great, 2 Good, 1 Okay, 4 Think twice — an honest skew that reflects what mass-market labels actually say.

#CompositionCalculationScoreBand → recommendation
1100% cotton1.00 × 7575Good → Solid pick
295% cotton, 5% elastane71.25 + 1.0 = 72.2572Good → Solid pick
380% cotton, 20% polyester60 + 7 = 67, −562Okay → Fine, with tradeoffs
460% polyester, 40% cotton21 + 30 = 51, −546Think twice → Worth a second look
5100% polyester1.00 × 3535Think twice → Worth a second look
670% viscose, 30% nylon38.5 + 9 = 47.5, −543Think twice → Worth a second look
750% wool, 50% acrylic37.5 + 12.5 = 50, −545Think twice → Worth a second look
8100% linen1.00 × 9090Great → Go ahead
❄ Frozen · deliberate consequence Raising cotton to 75 pulls the 95/5 cotton-elastane tee from “Okay” (68) up to “Good” (72). That is a real consequence, not a rounding artifact: in a composition-only model, a 95% cotton garment genuinely is a good fabric, and the elastane’s cost is carried by the tradeoff line, not a heavy penalty. The only clean lever to reverse it is holding cotton at 70 — cotton off the boundary, or a firmer trace-elastane signal. The former was chosen, and it is reversible.

092–5 garment comparison ranking

How a set of already-scored garments would be ranked when a shopper compares several similar items. This is a Phase 2 surface — shown here so the ranking logic is understood, not because it is in the MVP.

◷ Parked for v2 · Phase 2 Comparison is designed and ready, but it sits outside the composition-only MVP. The single-item score is the v1 deliverable.
1 · Collect
  • 2–5 scored items
  • Session-only tray
  • Opt-in “Add to compare”
2 · Line up & mark
  • One column per garment
  • Compare row by row
  • Mark the best value in each row
3 · Name the set
  • Highest score = “best of the set”
  • A gentle line, no shaming
  • All wearable; one is lowest impact
The comparison decides, it does not only display — but it names a winner without shaming the others.

Example set

GarmentCompositionScoreBand
Linen tee Best of set100% linen90Great
Cotton tee100% cotton75Good
Cotton-poly tee80% cotton, 20% polyester62Okay

Reads as: “All three are wearable; the linen tee is the lowest impact of the set.”

10Frozen MVP decision

The scope call that keeps this model simple to build and honest about its limits.

❄ Frozen · MVP decision For v0.1, Threadwise scores garments on fabric composition only: one base score per fiber, a weighted average, and two small adjustments (mixed materials, complex blend). Nothing else.
✓ Shipped in v0.1
  • One base score per fiber
  • Weighted average by percentage
  • Mixed-materials adjustment (−5)
  • Complex-blend adjustment (−5)
  • Honest naming + “what to check yourself” line
✕ Parked for v2 (in Scoring Model V2)
  • Durability signals & care burden
  • Construction quality
  • Certifications
  • Lifecycle data
  • Brand & production information
  • The full four-pillar weighting
◷ Parked for v2 · revisit when Hi-fi user testing shows shoppers want more than a fabric signal, or garment-level inputs (construction, weight, verified certifications) become reliably available. The tradeoff accepted: the score can’t see durability — made safe by honest naming and the permanent “what to check yourself” line.
↑ Back to top