CLO.

How it works

No machine learning, no vibes — a 1940s physiology model you can check by hand.

1. Your body is a heater

Walking, you produce about 145 W/m² of heat (2.5 MET). Roughly 78 % of it must escape through your clothes — the rest leaves as breath and sweat. Comfort is when production equals loss: too much insulation and you overheat, too little and you freeze.

required insulation  =  (T_skin − T_air) / (0.155 × heat flux)
T_skin               =  33 °C (comfortable skin temperature)
air film             =  0.7 clo in still air, eroded by wind: 0.7 / (1 + 0.5 × wind)
what you must wear   =  required insulation − air film   (in clo)

Sanity anchor: at 21 °C, seated, still air, this yields 1.0 clo — which is the definition of the unit. That case is a pinned unit test in the engine.

And because an outfit chosen at 8am is worn until midnight, the model reads the whole waking day: the morning window sets the target, a warmer midday sets how much insulation must be removable(layers you can shed at lunch), and the evening, rain timing and UV become the day's tips — each with its numbers shown.

2. Garments add up

Each garment has a measured insulation value (ASHRAE Standard 55); an outfit is approximately the sum of its parts. The picker enumerates outfits from the wardrobe and chooses one within ±0.15 clo of the target — closer than your body can feel.

T-shirt0.08
Long-sleeve tee0.20
Breton stripe shirt0.20
Oxford shirt0.25
Flannel shirt0.34
Thin sweater0.25
Thick sweater0.36
Hoodie / sweatshirt0.34
Fleece jacket (est.)0.30
Rain shell0.36
Denim jacket0.36
Wool coat0.48
Down jacket (est.)0.55
Insulated parka (est.)0.70
Walking shorts0.08
Chinos0.15
Jeans0.24
Sweatpants0.28
Sneakers0.02
Leather shoes0.02
Boots0.10
Beanie (est.)0.06
Gloves (est.)0.05
Scarf (est.)0.06

3. What this model gets wrong (on purpose)

  • Wind uses an approximation, not the ISO 9920 formula — right order of magnitude, simpler to show. If feedback says windy days run cold, it gets upgraded.
  • Rainisn't insulation math: wet clothes lose most of their warmth, so the picker simply requires a waterproof outer layer instead of modeling it.
  • Sun is ignored. Full sun can be worth ~0.5–1 clo of warmth; on sunny mornings CLO will dress you slightly warm.
  • Your body is assumed average. The fix is per-person calibration from daily feedback — designed, not yet built.

Why ship a knowingly-simplified model? Because garment values are themselves ±10 %, and a model you can read beats a model you must trust.