DermaSim: Research Foundation & Build Plan
Doc purpose: Top half = what to build and how. Bottom half = the science backing every number. Keep these sections in sync as the model evolves.
PART I — BUILD PLAN
Current State
The app (DermaSim) is a React + Three.js visualizer with a drag-to-compare slider that renders the same ReadyPlayerMe 3D avatar in two states: unprotected UV damage (left) vs. SPF-protected skin (right). The WebGL fragment shader on the avatar applies a procedural photoaging pass — solar lentigines clustering, erythema redness — driven by a single uDamage float that scales 0–1.
Current damage formula (App.tsx):
const baseDamage = years * uvi * 40;
const transmission = SPF_TRANSMISSION[spfTarget]; // 1/SPF
const melaninProtection = MELANIN_FACTOR[skinIndex];
const actualDamage = (baseDamage * transmission * melaninProtection) / maxTheoreticalDamage;
This is a reasonable scaffold but it has several gaps vs. the evidence base (see Research section). The plan below closes those gaps.
What’s Already Solid (Don’t Touch)
- Fitzpatrick skin type selector →
MELANIN_FACTORlookup ✓ - SPF transmission =
1/SPF— correctly matches the erythemally-weighted UVB model ✓ - Three.js clipping planes for the comparison split ✓
- MediaPipe
FaceLandmarker+ImageSegmenterfor photo-mode skin segmentation ✓ - GLSL
fbm()noise for organic lentigines texture ✓
Gap 1 — Application Quality Multiplier
Problem: Real-world SPF efficacy is 25–50% of lab-tested SPF because users under-apply. A person applying SPF 50 at half-dose is getting ~SPF 7. The current model ignores this.
Why it matters more than it seems: Granger et al. (2022) measured sunscreen protection failure rates under real high-UV conditions — SPF 15 failed 20% of the time, SPF 30 failed 4%, SPF 50+ failed only 1.5%. This makes “application quality” the biggest single variable in the whole model for users choosing between SPF levels.
Fix: Add an applicationQuality slider (0.25–1.0) and modify SPF_TRANSMISSION:
// types.ts addition
export function effectiveSPF(spf: SPFType, applicationQuality: number): number {
if (spf === 0) return 1.0;
// Realistic effective SPF = spf^applicationQuality (log-linear degradation)
return 1 / Math.pow(spf, applicationQuality);
}
UI: A slider labeled “Application Thoroughness” with three evidence-anchored presets:
Minimal (25%)— “avg consumer, rush application” → SPF 50 → effective ~SPF 7Typical (50%)— “most users, daily routine” → SPF 50 → effective ~SPF 25 (default)Full Coverage (100%)— “lab-tested dose, reapplied” → SPF matches label
Label the presets with the failure rate data: at Typical use, SPF 30 still beats SPF 15 at full coverage. That’s worth communicating visually.
Gap 2 — Cloud/Atmosphere UV Modifier
Problem: The current UVI selector uses fixed presets (3, 6, 9, 11) but doesn’t apply a cloud transmission coefficient. A cloudy day at UVI 6 delivers much less UV than a clear day at UVI 6.
Fix: Add a cloudCondition state and a modifier lookup:
// types.ts addition
export const CLOUD_UV_MODIFIER = {
clear: 1.00, // 100% — NWS standard
scattered: 0.89, // 89%
broken: 0.73, // 73%
overcast: 0.31, // 31%
} as const;
Update the damage formula:
const effectiveDose = baseDamage * CLOUD_UV_MODIFIER[cloudCondition] * transmission * melaninProtection;
UI: Four icon-buttons (sun / partial clouds / mostly cloudy / overcast) replacing or sitting alongside the current UVI row.
Also add environment multipliers (these scale UV up, not down — often overlooked):
export const ENVIRONMENT_MULTIPLIER = {
standard: 1.0, // typical outdoor
snow: 1.80, // snow reflects 80% additional UV
water_sand: 1.25, // water/sand reflects ~25% additional UV
altitude_2000m: 1.20, // +10% per 1,000m elevation
} as const;
These are especially important for a visualizer because skiers and beachgoers are exactly the population who underestimate their exposure. Stack multipliers (e.g., ski slope = snow × altitude).
Gap 3 — UVA vs UVB Channel Split
Problem: The current model uses a single transmission number, but UVA and UVB have different biological effects and different cloud/SPF attenuation profiles:
- UVB drives erythema (sunburn), SCC, and some melanoma initiation. Blocked well by SPF. More attenuated by clouds.
- UVA (>95% of surface UV) drives hyperpigmentation, photoaging, and melanoma promotion. Penetrates clouds and windows almost unchanged. Requires broad-spectrum SPF.
DNA damage anchor (from van Bodegraven et al. 2024): SPF 30 reduces full-day DNA damage by ~53%; SPF 100 reduces it by ~73%. This is a more useful calibration anchor than the theoretical 1/SPF transmission — it captures real-world DNA repair dynamics and is what the model should reference for the “cancer risk” output.
Fix: Split the damage calculation into two channels:
// UVB channel: attenuated by SPF and clouds
const uvbDose = baseDose * cloudModifier * envMultiplier * (1 / effectiveSPF) * melanin;
// UVA channel: less attenuated by clouds, requires broad-spectrum SPF
// Standard SPF tests only UVB; PA+++ / PPD rating approximates UVA protection
// Broad-spectrum SPF 30+ ≈ UVA PF ~10; SPF 50+ ≈ UVA PF ~16 (FDA ratio floor)
const uvaCloudModifier = 1.0 - (1.0 - cloudModifier) * 0.3; // clouds barely block UVA
const uvaSpfModifier = spf >= 30 ? 1 / 10 : spf >= 15 ? 1 / 5 : 1.0;
const uvaDose = baseDose * uvaCloudModifier * envMultiplier * uvaSpfModifier * melanin;
// Combined damage for shader
const photoagingIndex = 0.4 * uvbDose + 0.6 * uvaDose; // UVA dominates aging
const hyperpigmentationIndex = 0.2 * uvbDose + 0.8 * uvaDose; // UVA dominates pigment
const dnaDamageIndex = 0.7 * uvbDose + 0.3 * uvaDose; // UVB dominates CPD formation
Shader impact: Drive the freckleNoise / lentigines color by hyperpigmentationIndex, redness by uvbDose, and use dnaDamageIndex for the cancer risk readout. This makes broad-spectrum SPF 50 visually superior to SPF 30 in the visualizer — which is accurate and communicates an important distinction.
Gap 4 — Outcome Readouts: Cancer Risk + Photoaging Score
Problem: The UI shows “Damage Index” (0–100) and “Protection Efficacy %” but gives no real-world anchoring. Users don’t know what damage score 42 means.
Fix: Add a ClinicalOutcomes panel below the slider using the Nambour RCT effect sizes directly:
// Baseline annual melanoma risk for fair-skinned adult (Fitzpatrick I-II): ~28/100,000
// ~93% of all US melanoma cases attributable to UV (Islami et al. 2024 — CA Cancer J Clin)
const baselineMelanomaRisk = 28 / 100000 * MELANIN_RISK_FACTOR[skinIndex];
// Apply Nambour HR: daily SPF users HR = 0.50 overall, HR = 0.27 invasive
// Interpolate for partial use via protectionEfficiency
const relativeRisk = 1 - (protectionEfficiency / 100) * 0.50;
const absoluteRiskReduction = baselineMelanomaRisk * years * (1 - relativeRisk);
// Photoaging: 24% less aging per 4.5 years (linear anchor from Nambour/Hughes 2013)
const photoagingSlowdown = (protectionEfficiency / 100) * 0.24 * (years / 4.5);
UI callout cards:
- “Lifetime melanoma risk change: −X%” with a footnote citing the Nambour 10-year follow-up
- “Photoaging index: X% slower progression” tied to the Nambour 4.5-year silicone microtopography study
- “SCC tumor reduction: ~39% with daily SPF” shown as a static factoid for SPF ≥ 30
Gap 4b — Pigmentation Reversal (New Modeling Dimension)
Problem: The current model is one-directional — damage only accumulates. But there’s meaningful evidence that existing photodamage can reverse with consistent sunscreen use. This makes the visualizer more interesting and more accurate.
Evidence anchors:
- 52 weeks of daily SPF 30: 52% improvement in mottled pigmentation, 42% improvement in discrete pigmentation from baseline (Krutmann et al. 2021)
- 1 year of SPF 60 twice-daily: 50% reduction in pigmentation changes, 30% reduction in wrinkle changes (Goh et al. 2024)
- Effect is observed across Fitzpatrick types, including III–V — not just fair skin
Fix: Add a pigmentationReversal term that kicks in when cumulative SPF protection exceeds a threshold:
// Pigmentation reversal: kicks in after ~52 weeks of consistent daily use
// Models the improvement observed in Krutmann 2021 and Goh 2024
const consistencyThreshold = years >= 1 && applicationQuality >= 0.5 && spfTarget >= 30;
const pigmentReversal = consistencyThreshold
? Math.min((years - 0.5) / 4.5, 1.0) * 0.52 * (protectionEfficiency / 100)
: 0;
// Net pigmentation: existing damage minus reversal
const netPigmentDamage = Math.max(0, pigmentDamage - pigmentReversal * existingBaseline);
Shader impact: When pigmentReversal > 0, reduce the freckleNoise intensity on the right (protected) side of the slider. At year 5+ with daily SPF 30, the protected side should show fewer spots than the unprotected baseline — a genuinely compelling visual.
UI note: Add a small annotation when reversal is active: “Existing photodamage may improve with consistent SPF use (Krutmann et al., 2021)”.
Gap 5 — Timeline Anchors
Problem: The year slider goes from 1–40 continuously but the visualization doesn’t surface the evidence-backed milestones.
Fix: Add milestone markers on the years slider at years 1, 4.5, 10, and 15, with tooltip annotations:
- 1 yr: “SPF 30 daily: 52% improvement in existing mottled pigmentation” (Krutmann 2021)
- 4.5 yr: “Nambour trial horizon: 24% less photoaging, SCC rate ratio 0.61”
- 10 yr: “Nambour follow-up: 50% overall melanoma reduction, 73% invasive”
- 15 yr: “Upper bound of RCT extrapolation; beyond this is modeled”
Gap 6 — Shader Realism: Wrinkle Texture Pass
Problem: The current shader does a great job on pigmentation (lentigines, redness) but doesn’t visually represent the other major photoaging endpoint: surface texture / fine lines.
Fix: Add a second FBM pass in the GLSL for texture roughness — higher-frequency noise that increases the perceived roughness/bumpiness of the skin at high damage values:
// Add to fragment shader after existing pigment pass
float textureRoughness = fbm(vCustomUv * 200.0) * damageFactor * skinMask;
float wrinkleLines = smoothstep(0.4, 0.7, textureRoughness) * damageFactor * 0.6;
// Desaturate + darken in wrinkle troughs (simulates shadow in fine lines)
diffuseColor.rgb = mix(diffuseColor.rgb, diffuseColor.rgb * 0.65, wrinkleLines);
This is scientifically defensible — the Nambour photoaging study used silicone microtopography of the dorsal hand; “surface texture” is a validated measurable output of UV exposure. Goh et al. (2024) found a 30% reduction in wrinkle changes with SPF 60 over one year, which anchors the shader’s wrinkle reversal rate at the high-protection end.
Revised Damage Formula (Full)
Pulling all gaps together, the target formula is:
const effectiveTx = effectiveSPF(spfTarget, applicationQuality);
const cloudMod = CLOUD_UV_MODIFIER[cloudCondition];
const envMult = ENVIRONMENT_MULTIPLIER[environmentType];
const melanin = MELANIN_FACTOR[skinIndex];
// UVB: sunburn + CPD driver, blocked well by SPF + clouds
const uvbDose = years * uvi * 40 * cloudMod * envMult * effectiveTx * melanin;
// UVA: aging + pigment driver, barely blocked by clouds, needs broad-spectrum
const uvaCloudMod = 1.0 - (1.0 - cloudMod) * 0.3;
const uvaSpfTx = spfTarget >= 30 ? 1/10 : spfTarget >= 15 ? 1/5 : 1.0;
const uvaDose = years * uvi * 40 * uvaCloudMod * envMult * uvaSpfTx * melanin;
const photoagingDamage = (0.4 * uvbDose + 0.6 * uvaDose) / MAX_DOSE;
const pigmentDamage = (0.2 * uvbDose + 0.8 * uvaDose) / MAX_DOSE;
const dnaDamage = (0.7 * uvbDose + 0.3 * uvaDose) / MAX_DOSE;
// Pigmentation reversal term (bidirectional)
const pigmentReversal = (years >= 1 && applicationQuality >= 0.5 && spfTarget >= 30)
? Math.min((years - 0.5) / 4.5, 1.0) * 0.52 * (protectionEfficiency / 100)
: 0;
const netPigmentDamage = Math.max(0, pigmentDamage - pigmentReversal);
// Pass to shader: photoagingDamage, netPigmentDamage, dnaDamage
File-by-file Change Summary
| File | Change |
|---|---|
src/types.ts |
Add effectiveSPF(), CLOUD_UV_MODIFIER, ENVIRONMENT_MULTIPLIER, MELANIN_RISK_FACTOR |
src/App.tsx |
Add applicationQuality, cloudCondition, environmentType state; replace formula with dual-channel UVA/UVB + pigment reversal; add ClinicalOutcomes panel |
src/components/SkinModel.tsx |
Add uPigmentDamage, uTextureDamage, uPigmentReversal uniforms; add wrinkle FBM pass |
src/components/ComparisonSlider.tsx |
Add milestone year markers |
src/components/ClinicalOutcomes.tsx |
New: melanoma risk card, photoaging card, SCC factoid, pigmentation reversal note |
PART II — RESEARCH & CITATIONS
Primary Evidence Source: The Nambour Skin Cancer Prevention Trial
Everything important in this model traces back to one randomized controlled trial. This is unusually strong evidence for a lifestyle intervention.
Trial design: 1,621 adults in Nambour, Queensland, Australia (high UV environment; approx. UVI 8–12 summer). Randomized to daily SPF 15 or 16 sunscreen vs. discretionary use. Active intervention: 4.5 years. Long-term follow-up: 10 years post-randomization.
Why this is the gold-standard: True randomization eliminates the most problematic confounder in observational sunscreen research — the fact that people with fair, sun-sensitive skin use more sunscreen, making sunscreen appear weakly protective in case-control studies. The RCT removes this selection bias.
Effect Sizes Used in the Model
Melanoma (10-year follow-up)
- Daily users: 11 new melanomas total
- Discretionary users (control): 22 new melanomas
- Overall HR: 0.50 (95% CI 0.24–1.02) — 50% relative risk reduction
- Invasive melanoma specifically: 3 cases vs. 11 cases → HR: 0.27 (73% reduction)
- Source: Green AC, Williams GM, Logan V, Strutton GM. “Reduced melanoma after regular sunscreen use: randomized trial follow-up.” Journal of Clinical Oncology. 2011;29(3):257–263. doi:10.1200/JCO.2010.28.7078
How it’s used in the model: The relativeRisk calculation interpolates from HR=1.0 (no protection) to HR=0.50 (full daily use) based on protectionEfficiency. The 73% invasive melanoma reduction is cited as the “best case” in the outcomes panel.
Supporting cohort study: Ghiasvand et al. (2016) in a population-based cohort of 144,000+ Norwegian women found sunscreen use (SPF ≥15 vs. none/rarely) associated with lower melanoma risk, consistent with the Nambour direction. This adds external validity outside the Queensland population. Source: Ghiasvand R, et al. Journal of Clinical Oncology. 2016;34(33):3976–3983. doi:10.1200/JCO.2016.67.5934
Contemporary clinical review (JAMA 2025): Joshi UM, Kashani-Sabet M, Kirkwood JM. “Cutaneous Melanoma.” JAMA. 2025;334(23):2113–2125. doi:10.1001/jama.2025.13074 — a current clinical summary of melanoma epidemiology, risk factors, and the role of UV exposure, useful for framing the outcomes panel messaging and ensuring the model’s effect-size language aligns with up-to-date clinical consensus.
Population-level UV attribution: ~93% of all melanoma cases in the US are attributable to UV radiation exposure (Islami et al. 2024, CA: A Cancer Journal for Clinicians). This is the “why sunscreen matters” framing for the outcomes panel — not a model input, but important context. Source: Islami F, et al. CA Cancer J Clin. 2024;74(5):405–432. doi:10.3322/caac.21858
Squamous Cell Carcinoma
- Rate ratio: 0.61 (39% reduction in tumor count) during the 4.5-year trial period
- Effect was for tumors, not patients — SCC can be multiple
- USPSTF (2018) recommends behavioral counseling on sun protection, citing SCC and melanoma evidence
- Source: Green A, et al. The Lancet. 1999;354(9180):723–729. doi:10.1016/S0140-6736(98)12168-2
- USPSTF: Grossman DC, et al. JAMA. 2018;319(11):1134–1142. doi:10.1001/jama.2018.1623
How it’s used: Static factoid in the outcomes panel (~39% SCC tumor reduction with daily SPF ≥15).
Basal Cell Carcinoma
- No significant effect in either the 4.5-year or 10-year follow-up data
- Source: Same Lancet 1999 paper (Green et al.)
How it’s used: Explicitly shown as “No evidence of BCC reduction” in the outcomes panel. Important nuance — sunscreen is not a complete skin cancer prevention strategy.
Photoaging (4.5-year follow-up)
- Primary outcome: silicone microtopography impressions of the dorsal hand, scored for surface roughness/texture
- Daily sunscreen users showed no detectable increase in skin aging over 4.5 years
- Discretionary users showed measurable progression
- Relative odds of no aging increase: 0.76 → 24% less aging overall in daily SPF group
- Source: Hughes MCB, Williams GM, Baker P, Green AC. Annals of Internal Medicine. 2013;158(11):781–790. doi:10.7326/0003-4819-158-11-201306040-00002
How it’s used: The photoagingSlowdown variable is anchored to “24% less aging per 4.5 years.” The dorsal hand site means we can reasonably apply this to facial photoaging, though it’s worth noting in the UI that the study site was the hand.
SPF Effectiveness: Blocking Percentages and DNA Protection
Theoretical UVB Blocking (erythemally weighted)
The 1/SPF transmission formula in SPF_TRANSMISSION is correct for the erythemally-weighted UVB spectrum:
- SPF 15: blocks ~93% of UVB (1/15 = 6.7% transmitted)
- SPF 30: blocks ~97% of UVB (1/30 = 3.3% transmitted)
- SPF 50: blocks ~98% of UVB (1/50 = 2.0% transmitted)
- SPF 100: blocks ~99% of UVB
Source: Fivenson D, Norton SA. “Sun Exposure in Travelers.” CDC Yellow Book. 2024.
Real-World DNA Damage Protection
Theoretical transmission fractions aren’t the whole story — skin has DNA repair mechanisms that modulate actual mutation rates. Van Bodegraven et al. (2024) measured DNA damage (cyclobutane pyrimidine dimer formation) under realistic full-day solar exposure:
- SPF 30: reduces DNA damage by ~53% during full-day exposure
- SPF 100: reduces DNA damage by ~73%
These are the numbers to use for the dnaDamageIndex → cancer risk mapping. The gap between “blocks 97% of UVB” and “reduces DNA damage by 53%” reflects real-world CPD repair kinetics — important not to conflate transmission fraction with DNA protection fraction.
Source: van Bodegraven M, Kröger M, Zamudio Díaz DF, et al. “Redefine photoprotection: Sun protection beyond sunburn.” Experimental Dermatology. 2024;33(1):e15002. doi:10.1111/exd.15002
Real-World Failure Rates Under High-UV Conditions
Granger et al. (2022) tested sunscreens under actual high-intensity outdoor solar conditions (both Chinese and Caucasian populations):
- SPF 15: failed in 20% of exposures (i.e., sunburn occurred)
- SPF 30: failed in 4% of exposures
- SPF 50+: failed in only 1.5% of exposures
This is what anchors the application quality preset labels. Even at typical real-world application (~50% of recommended dose), SPF 50 significantly outperforms SPF 30. The visualizer should make this explicit when the user selects SPF levels.
Source: Granger C, Ong G, Andres P, et al. “Outdoor sunscreen testing with high-intensity solar exposure in a Chinese and Caucasian population.” Photodermatology, Photoimmunology & Photomedicine. 2022;38(1):19–28. doi:10.1111/phpp.12710
SPF Transmission Physics: Lab vs. Real-World
SPF is defined as the ratio of UV required to produce a minimal erythemal dose (MED) with vs. without sunscreen. The transmission fraction (1/SPF) is correct for the erythemally-weighted UVB spectrum and is the formula in SPF_TRANSMISSION.
However: FDA and dermatology consensus studies find that most consumers apply approximately 0.5 mg/cm² vs. the tested 2.0 mg/cm² (25% of test dose). Due to the non-linear relationship between SPF and dose:
- SPF 50 applied at 25% dose → effective SPF ~7
- SPF 30 applied at 50% dose → effective SPF ~7–8
- SPF 30 applied at full dose → effective SPF 30
Source: Diffey BL. “Has the sun protection factor had its day?” BMJ. 2000;320(7228):176–177.
Application quality slider default: 0.5 (typical real-world use). This is the most important single parameter for communicating why higher-SPF products have real-world value even if the theoretical difference looks small (97% vs 98% blocking).
Pigmentation Reversal Evidence
This is a new modeling dimension not present in the original design. Multiple controlled studies show existing photodamage can improve with consistent SPF use — the model should reflect this.
52-week SPF 30 daily use (Krutmann et al. 2021)
- Mottled pigmentation: 52% improvement from baseline after 52 weeks of daily SPF 30
- Discrete pigmentation: 42% improvement from baseline
- Effect observed across multiple Fitzpatrick types
- Mechanism: UV drives ongoing melanogenesis; blocking UV allows existing melanin to turn over and disperse without new stimulus
1-year SPF 60 twice-daily (Goh et al. 2024)
- 50% reduction in new pigmentation changes
- 30% reduction in new wrinkle changes
- Data collected from three Asian countries; predominantly Fitzpatrick III–V
- Seasonal skin darkening reduction was partially maintained over a 3-year period — suggesting cumulative long-term benefit
12-week SPF 50 vs. SPF 19 in Fitzpatrick IV–V (Krutmann et al. 2021)
- Both higher and lower SPF reduced pigmented spot density significantly
- No statistically significant difference between SPF levels for pigmentation outcomes at 12 weeks
- Implication for the model: for pigmentation reversal, consistency of use matters more than SPF level above a threshold of ~SPF 19. The consistent application slider is the more important variable.
Sources:
- Krutmann J, Schalka S, Watson REB, Wei L, Morita A. “Daily photoprotection to prevent photoaging.” Photodermatology, Photoimmunology & Photomedicine. 2021;37(6):482–489. doi:10.1111/phpp.12688
- Goh CL, Kang HY, Morita A, et al. “Awareness of sun exposure risks and photoprotection for preventing pigmentary disorders in Asian populations.” Photodermatology, Photoimmunology & Photomedicine. 2024;40(1):e12932. doi:10.1111/phpp.12932
Shader implementation note: Pigmentation reversal is modeled by reducing freckleNoise intensity on the protected side when pigmentReversal > 0. At year 5+ with daily SPF 30, the protected avatar should show visibly fewer/lighter spots than the starting state — which is both accurate and the most visually compelling thing the visualizer can show.
UVA vs. UVB Characteristics
| Property | UVB (280–315 nm) | UVA (315–400 nm) |
|---|---|---|
| % of solar UV at surface | ~5% | ~95% |
| Sunburn primary driver | Yes | No (requires high dose) |
| Melanoma initiation | Yes (CPD formation) | Yes (oxidative) |
| DNA damage type | Cyclobutane pyrimidine dimers | 8-oxoguanine (oxidative) |
| Photoaging / collagen | Moderate | Primary driver |
| Hyperpigmentation | Some | Primary driver |
| Cloud attenuation | Moderate (~31% overcast) | Minimal (<10% change) |
| Window glass attenuation | Blocked | Mostly passes through |
| SPF test coverage | Yes (by definition) | Only broad-spectrum |
Sources:
- WHO Environmental Health Criteria 160: Ultraviolet radiation and health
- Battie C, Verschoore M. “Cutaneous solar ultraviolet exposure and clinical aspects of photodamage.” Indian J Dermatol Venereol Leprol. 2012;78:S9–14
- van Bodegraven et al. 2024 (CPD vs. oxidative damage framing)
Why it matters for the model: A user selecting “Overcast day” should still see significant UVA-driven hyperpigmentation and photoaging accumulate over time, even with minimal UVB-driven sunburn risk. The UVA/UVB channel split makes this visible in the shader output.
Cloud and Environment UV Modifiers
Cloud Transmission
Source: US National Weather Service UV index guidance and WHO Global Solar UV Index: A Practical Guide (2002).
| Sky condition | UV transmission | Notes |
|---|---|---|
| Clear (0–10% cover) | 100% | Reference |
| Scattered clouds (10–50%) | 89% | Small reduction |
| Broken clouds (50–90%) | 73% | Meaningful but partial |
| Overcast (90–100%) | 31% | Still ~1/3 of UV reaches surface |
Key point: “Up to 80% of UV can penetrate cloud cover” refers to thin/scattered clouds. True overcast is ~31%. There is NO safe cloud scenario for UVA.
Reflective Surfaces and Altitude
These scale UV dose up, and are frequently underestimated by users:
- Snow: reflects ~80% of UV back, effectively nearly doubling exposure
- Water / sand: reflects ~25% additional UV
- Altitude: UV increases ~10% per 1,000m elevation (so 2,000m = ~20% more; ski resorts are often at 2,000–3,500m)
- Stacked exposure: a skier at 3,000m elevation on a clear snow day faces approximately 2.3× baseline UV
Source: Fivenson D, Norton SA. “Sun Exposure in Travelers.” CDC Yellow Book. 2024.
Melanin / Fitzpatrick Type Baseline Risk
Darker Fitzpatrick types have significantly lower UV transmission through the epidermis due to melanin absorption, but they are not immune to photoaging or skin cancer.
| Fitzpatrick Type | Relative UV Transmission | Melanoma RR vs. Type I |
|---|---|---|
| I (Very fair) | 100% | 1.0 (reference) |
| II (Fair) | ~90% | ~0.9 |
| III (Medium) | ~70% | ~0.5 |
| IV (Olive/Tan) | ~40% | ~0.25 |
| V (Brown) | ~20% | ~0.10 |
| VI (Dark brown/Black) | ~10% | ~0.05 |
Source: Tadokoro T, Yamaguchi Y, Batzer J, et al. “Mechanisms of skin tanning in different racial/ethnic groups in response to ultraviolet radiation.” J Invest Dermatol. 2005;124(6):1326–1332.
Important caveats for the model’s outcomes panel:
- Darker skin types are at lower absolute melanoma risk, but at higher risk of late-stage diagnosis (detection bias, as lesions are harder to spot on darker skin)
- Darker skin types are NOT protected from photoaging, post-inflammatory hyperpigmentation, or UVA-mediated damage — in fact, hyperpigmentation is a primary concern for Fitzpatrick III–VI
- The pigmentation reversal evidence (Krutmann 2021, Goh 2024) was specifically studied in Fitzpatrick III–V populations, making it more applicable to the visualizer for those skin types than for Fitzpatrick I–II
Population-Level Extrapolation (15+ Years)
For extrapolating beyond the 10-year Nambour follow-up:
- Population modeling under modest SPF uptake (~50% of adults using daily SPF) suggests up to 10% reduction in population-level melanoma incidence at 20 years
- Source: Olsen CM, Wilson LF, Green AC, et al. Australian and New Zealand Journal of Public Health. 2015;39(5):471–476. https://pmc.ncbi.nlm.nih.gov/articles/PMC6009843/
Note: The model should flag extrapolations beyond year 15 as speculative in the UI.
Confounding in Observational Literature
Most sunscreen studies are observational and are confounded in the direction of making sunscreen look less effective — people who burn easily use more sunscreen, but also have higher baseline skin cancer risk. This means observational effect sizes likely underestimate the true benefit.
The Nambour RCT avoids this. However, it has its own limitations:
- SPF 15–16 was used (lower than modern SPF 30–50+ recommendations)
- Nambour is an extreme UV environment; results may not generalize to temperate climates
- Compliance was imperfect in the “daily” arm — real daily users with SPF 30–50 likely see larger effect sizes
Meta-analyses of observational literature show mixed results, primarily due to this confounding problem:
- Silva et al. (2018) systematic review and meta-analysis: found protective association in well-adjusted studies
- Brunner et al. (2025) meta-analysis: confirmed protective signal for melanoma, though heterogeneity across studies was high
- Rueegg et al. (2019) specifically examined and quantified the confounding challenge — concluded that the “null” observational findings are likely confounding artifacts, not true nulls
Sources:
- Silva ESD, et al. “Use of Sunscreen and Risk of Melanoma and Non-Melanoma Skin Cancer.” European Journal of Dermatology. 2018;28(2):186–201. doi:10.1684/ejd.2018.3251
- Brunner AS, et al. “Malignant Melanoma: The Relationship Between Sunscreen Use and Cancer Risk.” Anticancer Research. 2025;45(9):3595–3603. doi:10.21873/anticanres.17724
- Rueegg CS, et al. “Challenges in Assessing the Sunscreen-Melanoma Association.” International Journal of Cancer. 2019;144(11):2651–2668. doi:10.1002/ijc.31997
- Sanchez G, et al. Cochrane Database of Systematic Reviews. 2016. https://pmc.ncbi.nlm.nih.gov/articles/PMC6451658/
Photoaging: What “Validated” Means
The Nambour photoaging study used silicone rubber impressions of the dorsal hand (microtopography), a method validated against histological aging markers (collagen disorganization, elastosis). “Surface texture roughness” is a clinically validated endpoint tied to dermal structural changes.
Relevance to the shader: Driving the wrinkle-texture FBM pass from cumulative UV dose is mechanistically appropriate. The GLSL noise at high frequency (200× UV) simulates the kind of surface heterogeneity that microtopography captures. The 30% wrinkle reduction in Goh et al. (2024) at one year with SPF 60 gives us a near-term reversal anchor.
Source: Hughes MCB, et al. Annals of Internal Medicine. 2013.
Key Papers Summary
| Paper | Year | What it tells us | Used in model |
|---|---|---|---|
| Green et al., J Clin Oncol | 2011 | Melanoma: HR 0.50 overall, 0.27 invasive (10-yr RCT) | Cancer risk readout |
| Green et al., The Lancet | 1999 | SCC: rate ratio 0.61; BCC: no effect (4.5-yr RCT) | SCC factoid; BCC caveat |
| Hughes et al., Ann Intern Med | 2013 | Photoaging: 24% less aging, no detectable increase (4.5-yr RCT) | Photoaging index |
| van Bodegraven et al., Exp Dermatol | 2024 | SPF 30 → 53% DNA damage reduction; SPF 100 → 73% | dnaDamageIndex calibration |
| Granger et al., Photodermatol | 2022 | Failure rates: SPF 15 = 20%, SPF 30 = 4%, SPF 50+ = 1.5% | Application quality preset labels |
| Krutmann et al., Photodermatol | 2021 | Daily SPF 30 → 52% mottled pigmentation improvement at 52 wks | Pigmentation reversal term |
| Goh et al., Photodermatol | 2024 | SPF 60 daily → 50% pigmentation, 30% wrinkle reduction at 1 yr | Reversal rates; darker skin |
| Ghiasvand et al., J Clin Oncol | 2016 | Cohort: SPF ≥15 associated with melanoma reduction | External validity for cancer output |
| Islami et al., CA Cancer J Clin | 2024 | 93% of US melanoma attributable to UV | Context for outcomes panel |
| Grossman/USPSTF, JAMA | 2018 | Recommends behavioral sun protection counseling | Policy grounding |
| Diffey, BMJ | 2000 | Application dose → effective SPF degradation | Application quality formula |
| Olsen et al., ANZJPH | 2015 | Population melanoma projections at 20 years | Long-horizon extrapolation |
| Sanchez et al., Cochrane | 2016 | RCT > observational; confounding documented | Confounding caveat |
| Brunner et al., Anticancer Res | 2025 | Meta-analysis: protective signal, high heterogeneity | Observational caveat |
| Rueegg et al., Int J Cancer | 2019 | Quantified confounding in observational studies | Observational caveat |
| Silva et al., Eur J Dermatol | 2018 | Meta-analysis: protective in adjusted studies | Observational context |
| WHO/WMO | 2002 | UV index cloud transmission tables | Cloud modifier lookup |
| CDC Yellow Book (Fivenson) | 2024 | Reflection + altitude UV multipliers | Environment multiplier lookup |
| Tadokoro et al., JID | 2005 | Fitzpatrick type → epidermal UV transmission | MELANIN_FACTOR calibration |
| Long et al., Lancet | 2023 | Cutaneous melanoma comprehensive review | General background |
Document maintained alongside the DermaSim codebase. Update effect sizes if new RCT data emerges — particularly any Nambour extended-follow-up publications or Krutmann replication studies in non-Asian populations.
Numbered Reference List
Canonical numbered list matching the data points used throughout this document.
- Fivenson D, Norton SA. “Sun Exposure in Travelers.” CDC Yellow Book. 2024. https://wwwnc.cdc.gov/travel/yellowbook/2024/environmental-hazards-risks/sun-exposure
- van Bodegraven M, Kröger M, Zamudio Díaz DF, et al. “Redefine photoprotection: Sun protection beyond sunburn.” Experimental Dermatology. 2024;33(1):e15002. doi:10.1111/exd.15002
- Granger C, Ong G, Andres P, et al. “Outdoor sunscreen testing with high-intensity solar exposure in a Chinese and Caucasian population.” Photodermatology, Photoimmunology & Photomedicine. 2022;38(1):19–28. doi:10.1111/phpp.12710
- Green AC, Williams GM, Logan V, Strutton GM. “Reduced melanoma after regular sunscreen use: randomized trial follow-up.” Journal of Clinical Oncology. 2011;29(3):257–263. doi:10.1200/JCO.2010.28.7078
- Joshi UM, Kashani-Sabet M, Kirkwood JM. “Cutaneous Melanoma.” JAMA. 2025;334(23):2113–2125. doi:10.1001/jama.2025.13074
- Ghiasvand R, Weiderpass E, Green AC, Lund E, Veierød MB. “Sunscreen use and subsequent melanoma risk: a population-based cohort study.” Journal of Clinical Oncology. 2016;34(33):3976–3983. doi:10.1200/JCO.2016.67.5934
- US Preventive Services Task Force, Grossman DC, Curry SJ, et al. “Behavioral counseling to prevent skin cancer: USPSTF recommendation statement.” JAMA. 2018;319(11):1134–1142. doi:10.1001/jama.2018.1623
- Islami F, Marlow EC, Thomson B, et al. “Proportion and number of cancer cases and deaths attributable to potentially modifiable risk factors in the United States, 2019.” CA: A Cancer Journal for Clinicians. 2024;74(5):405–432. doi:10.3322/caac.21858
- Silva ESD, Tavares R, Paulitsch FDS, Zhang L. “Use of sunscreen and risk of melanoma and non-melanoma skin cancer: a systematic review and meta-analysis.” European Journal of Dermatology. 2018;28(2):186–201. doi:10.1684/ejd.2018.3251
- Brunner AS, Haddad S, Weise JJ, et al. “Malignant melanoma: the relationship between sunscreen use and cancer risk — a systematic review and meta-analysis.” Anticancer Research. 2025;45(9):3595–3603. doi:10.21873/anticanres.17724
- Rueegg CS, Stenehjem JS, Egger M, et al. “Challenges in assessing the sunscreen-melanoma association.” International Journal of Cancer. 2019;144(11):2651–2668. doi:10.1002/ijc.31997
- Hughes MCB, Williams GM, Baker P, Green AC. “Sunscreen and prevention of skin aging: a randomized trial.” Annals of Internal Medicine. 2013;158(11):781–790. doi:10.7326/0003-4819-158-11-201306040-00002
- Krutmann J, Schalka S, Watson REB, Wei L, Morita A. “Daily photoprotection to prevent photoaging.” Photodermatology, Photoimmunology & Photomedicine. 2021;37(6):482–489. doi:10.1111/phpp.12688
- Goh CL, Kang HY, Morita A, et al. “Awareness of sun exposure risks and photoprotection for preventing pigmentary disorders in Asian populations: survey results from three Asian countries and expert panel recommendations.” Photodermatology, Photoimmunology & Photomedicine. 2024;40(1):e12932. doi:10.1111/phpp.12932
- Long GV, Swetter SM, Menzies AM, Gershenwald JE, Scolyer RA. “Cutaneous melanoma.” The Lancet. 2023;402(10400):485–502. doi:10.1016/S0140-6736(23)00821-8
