One variable changed · simulated on the CoffeeScope V3 engine · updated 18 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 measured 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 baked Hoffmann Ultimate V60 recipe (15 g, 1:16.7, 96 °C, 600 µm, center pour). The only difference is roast level on the model's 0–1 scale: 0.15 (light) vs 0.75 (dark).
{
"brewer": "v60", "doseG": 15, "ratio": 16.7, "grindUm": 600,
"waterTempC": 96, "roastAgeDays": 7, "grindSpread": 0.24,
"bloomWaterX": 3, "bloomTimeS": 45, "pourRate": 6,
"pourHeight": 16, "pourPattern": "center", "bedLevel": 0.5,
"pourHeadroom": { "stopMm": 10, "resumeMm": 13 },
"resolution": "medium", "numericBackend": "js",
"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.
| Measure | Light · 0.15 | Dark · 0.75 | Takeaway |
|---|---|---|---|
| Extraction yield (EY) | 19.1 % | 20.4 % | The darker, more-soluble roast gives up more of itself on an identical recipe. |
| Strength (TDS) | 1.28 % | 1.37 % | More dissolved solids in the same water — a heavier, stronger cup from the dark roast. |
| Drawdown time | 162 s | 162 s | Identical: roast changes chemistry, not the bed's flow resistance here. |
| Cup volume | 223.5 ml | 223.5 ml | Same beverage volume — roast shifts what is dissolved, not how much water passes. |
| Caffeine | 159 mg | 159 mg | Unchanged — caffeine is set by dose and extraction, not by roast colour. |
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 | Dark | Δ | Tasteable? |
|---|---|---|---|---|
| Clarity | 0.79 | 0.63 | 0.16 | yes — the light roast reads cleaner |
| Astringency | 0.02 | 0.12 | 0.11 | yes |
| Bitterness | 0.29 | 0.38 | 0.09 | yes — dark climbs, as expected |
| Acidity | 0.57 | 0.49 | 0.08 | yes — brightness fades in the dark cup |
| Sweetness | 0.75 | 0.71 | 0.04 | no — below threshold |
| Body | 0.59 | 0.62 | 0.03 | no — below threshold |
| Aroma | 0.96 | 0.96 | 0.00 | no — unchanged in the model |
Roast moves the axes you would predict — clarity down, bitterness and astringency up, acidity down — but only four of the seven clear the tasteable line, and the shifts are modest next to what grind does. On a fixed recipe, roast tilts the cup rather than transforming it.
Cumulative extraction yield, sampled during the brew:
| Time | Light — EY | Dark — EY |
|---|---|---|
| 60 s | 10.4 % | 11.4 % |
| 120 s | 16.8 % | 18.1 % |
| Final | 19.1 % | 20.4 % |
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, a darker roast carries a larger pool of slow, soluble compounds (the bitter, woody polyphenols) and a smaller fast (bright, acidic) pool, is less dense, and degasses more CO₂. On an identical recipe, that higher solubility raises extraction yield and TDS, and the taste readback follows the chemistry: bitterness and astringency rise off the larger slow pool, while acidity and clarity fall as the bright fast fraction shrinks. Because roast does not change grind or geometry, the bed's permeability — and therefore drawdown — is untouched. See the methodology for the fast/slow/refractory solubles model and the CO₂ degassing term.
Load this exact A/B in the live simulator and compare the extraction fields side by side:
Related experiments: Fine vs coarse grind 1:14 vs 1:17 ratio 85 °C vs 96 °C