One variable changed · simulated on the CoffeeScope V3 engine · updated 23 July 2026
Brew a light roast and a dark roast on the exact same recipe and they do not land in the same place in the cup. The simulator lets us isolate why: we changed only the roast level on one V60 recipe and read off how far the extraction and the predicted taste moved.
Roasting develops the bean. A darker roast is more soluble and less dense, and it has been degassing CO₂ for longer, so — brewed identically — it tends to extract more and push toward bitterness. A lighter roast holds onto its acids and its delicate aromatics but resists extraction, so the same recipe can leave it tasting sour and underdeveloped. The practical question: on a fixed recipe, how much does roast alone move the cup, and which way?
Both lanes are the simulator's stock V60 recipe (16 g, 1:16, 94 °C, 600 µm, spiral pour). The only difference is roast level on the model's 0–1 scale: 0.15 (light) vs 0.75 (dark).
{
"brewer": "v60", "doseG": 16, "ratio": 16, "grindUm": 600,
"waterTempC": 94, "roastAgeDays": 7, "grindSpread": 0.45,
"bloomWaterX": 2, "bloomTimeS": 45, "pourRate": 4,
"pourHeight": 8, "pourPattern": "spiral", "bedLevel": 0,
"pourHeadroom": { "stopMm": 10, "resumeMm": 13 },
"resolution": "medium",
"roastLevel": 0.15 // Lane A — light
"roastLevel": 0.75 // Lane B — dark
}
Every number on this page is read from these two runs, taken to brew completion on the deterministic V3 engine.
Physics-based simulation, calibrated to move in the right direction — not a measurement of your specific coffee. How to read these numbers →
| Measure | Light · 0.15 | Dark · 0.75 | Takeaway |
|---|---|---|---|
| Extraction yield (EY) | 19.0 % | 20.3 % | The darker, more-soluble roast gives up more of itself on an identical recipe. |
| Strength (TDS) | 1.32 % | 1.41 % | More dissolved solids in the same water — a heavier, stronger cup from the dark roast. |
| Drawdown time | 198 s | 198 s | Identical: roast changes chemistry, not the bed's flow resistance here. |
| Cup volume | 229.8 ml | 229.8 ml | Same beverage volume — roast shifts what is dissolved, not how much water passes. |
| Caffeine | 175 mg | 175 mg | Unchanged — caffeine content is fixed by dose, not roast, and with the identical drawdown here it strips to the same near-complete degree. |
The taste axes are directional calibrations, not sensory-panel scores. A difference is flagged tasteable when it clears the model's own threshold of 0.045 (0–1 scale).
| Axis | Light roast | Dark roast | Direction |
|---|---|---|---|
| Sweetness | Sweet, developed | Sugars collapse | Large shift |
| Bitterness | Lighter | Much more bitter | Large shift |
| Clarity | Brighter | Darker | Large shift |
| Acidity | Brighter | Muted | Moderate shift |
| Aroma | Aromatic | More muted | Small shift |
| Astringency | Soft | Rougher | Small shift |
| Body | Moderate | Moderate | Minimal shift |
| Axis | Light | Dark | Δ |
|---|---|---|---|
| Sweetness | 0.53 | 0.32 | 0.21 |
| Bitterness | 0.32 | 0.48 | 0.16 |
| Clarity | 0.70 | 0.56 | 0.14 |
| Acidity | 0.58 | 0.50 | 0.08 |
| Aroma | 0.82 | 0.76 | 0.06 |
| Astringency | 0.01 | 0.06 | 0.05 |
| Body | 0.57 | 0.61 | 0.04 |
Roast moves the axes you would predict — bitterness and astringency up; clarity, acidity, aroma and sweetness down — and six of the seven clear the tasteable line. Sweetness is now the biggest single-axis shift in this whole experiment set: it falls from 0.53 to 0.32 as dark roast chars away the free sugars that carry sweetness, faster than the caramelised sugars that partly replace them can keep up. Bitterness follows close behind, climbing from 0.32 to 0.48 as bitter lactones and woody phenolics build. Together the two axes are the real story of a dark roast: not just darker and less bright, but markedly less sweet and noticeably more bitter.
Cumulative extraction yield, sampled during the brew:
| Time | Light — EY | Dark — EY |
|---|---|---|
| 60 s | 7.7 % | 8.5 % |
| 120 s | 14.6 % | 15.8 % |
| Final | 19.0 % | 20.3 % |
The dark roast runs about one extraction point ahead throughout — the gap opens early and holds, rather than appearing only in the tail.
Roasting drives off mass and restructures the bean. In the model, roast level recolors the compound families: bitter CGA-lactones and woody phenolics grow with roast while organic acids and fragile fruit esters fade, the bean gets less dense and more soluble, and it degasses more CO₂. On an identical recipe the higher solubility raises extraction yield and TDS, and the taste axes read those families directly: sweetness collapses as free sugars char away faster than the caramelised sugars that partly replace them can develop, bitterness and astringency climb on the lactones and tannins, acidity falls with the acid pool, clarity darkens as phenolics muddy the cup, and aroma dims as the esters go. Because roast does not change grind or geometry, the bed's permeability — and therefore drawdown — is untouched. Caffeine barely moves because its content is set by dose, not roast, and it extracts almost completely at either roast level. See the methodology for the compound-family kinetics and the CO₂ degassing term.
Load this exact A/B in the live simulator and compare the extraction fields side by side:
Run light vs dark live →Get Early Access →
Related experiments: Medium vs coarse grind 1:14 vs 1:17 ratio 85 °C vs 96 °C