Academy v4: 3 research-backed lessons (30 slides + audio); new bean logo; custom plan/lot names
Test and deploy / test-and-deploy (push) Successful in 59s
Test and deploy / test-and-deploy (push) Successful in 59s
Co-Authored-By: Claude Fable 5 <[email protected]>
This commit is contained in:
co-authored by
Claude Fable 5
parent
ec078116b4
commit
8b80c3fa6f
@@ -13,7 +13,7 @@ export const ACADEMY_TRACKS = [
|
||||
key: "roasting",
|
||||
name: "Roasting",
|
||||
blurb:
|
||||
"One continuous journey — a green seed to a finished roast, with the physics at every step.",
|
||||
"From one continuous journey to the physics inside the bean — what you'll smell, see, and hear, and how roasts go wrong.",
|
||||
lessons: [
|
||||
{
|
||||
id: "roast-journey",
|
||||
@@ -113,6 +113,241 @@ export const ACADEMY_TRACKS = [
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
id: "inside-bean",
|
||||
title: "Inside the bean",
|
||||
minutes: 8,
|
||||
slides: [
|
||||
{
|
||||
id: "ib-cells",
|
||||
title: "A few million tiny boilers",
|
||||
scene: ["ibCells", {}],
|
||||
transcript:
|
||||
"A green bean isn't a sponge — it's a dense, glassy block honeycombed with a few million microscopic cells. Each one is packed with oil, sugar, protein, and water. Roasting is what happens when every one of those cells becomes a tiny boiler.",
|
||||
},
|
||||
{
|
||||
id: "ib-seal",
|
||||
title: "The bean seals itself shut",
|
||||
scene: ["ibSeal", {}],
|
||||
transcript:
|
||||
"Cell walls have natural pores that would leak steam harmlessly away. But early in the roast, heat drives the cell's own oil outward, plugging those pores shut. The bean seals itself — and that is why pressure can build at all.",
|
||||
},
|
||||
{
|
||||
id: "ib-glass",
|
||||
title: "Glass to rubber, and back",
|
||||
scene: ["ibGlass", {}],
|
||||
transcript:
|
||||
"Within the first minute the warm, moist bean crosses its glass transition — from hard candy to warm caramel. Everything that follows happens in a soft, stretchable material. When the finished bean dries out and cools, it turns glassy again, locking its puffed shape in place forever.",
|
||||
},
|
||||
{
|
||||
id: "ib-front",
|
||||
title: "The retreating shoreline",
|
||||
scene: ["ibFront", {}],
|
||||
transcript:
|
||||
"Water doesn't leave the bean evenly — it retreats from the outside in, like a shoreline. Ahead of the front the core stays wet and cool, pinned near boiling. Behind it the dry shell races ahead, browning first. That gap between outside and inside is what the rest of the roast must close.",
|
||||
},
|
||||
{
|
||||
id: "ib-pressure",
|
||||
title: "Twice espresso pressure",
|
||||
scene: ["ibPressure", {}],
|
||||
transcript:
|
||||
"As long as liquid water remains, the steam pressure inside each cell is locked to the temperature — around fifteen bar as the bean nears first crack. That's twice what an espresso machine pushes, inside something the size of a pea. No one has measured it directly; the steam tables set the ceiling.",
|
||||
},
|
||||
{
|
||||
id: "ib-crack",
|
||||
title: "Why it finally cracks",
|
||||
scene: ["ibCrack", {}],
|
||||
transcript:
|
||||
"First crack is a structural failure: the rubbery, pressurized interior strains against the stiffer shell that dried first, until the shell gives way. It isn't one explosion — it's millions of tiny ones. And listen closely: fewer than one bean in ten actually pops out loud.",
|
||||
},
|
||||
{
|
||||
id: "ib-foam",
|
||||
title: "The bean becomes a foam",
|
||||
scene: ["ibFoam", {}],
|
||||
transcript:
|
||||
"By the drop, the bean has swollen by half or more and nearly half its volume is air — it's become a foam. Surprisingly, that expansion is steady across the whole roast, not a single pop at first crack. The crack is the sound of walls failing, not the moment of inflation.",
|
||||
},
|
||||
{
|
||||
id: "ib-mortar",
|
||||
title: "Mortar and rebar",
|
||||
scene: ["ibMortar", {}],
|
||||
transcript:
|
||||
"The cell walls are mortar and rebar. Roasting dissolves the soft mortar — the gums and sugars, up to sixty percent of them — which is what lets the bean stretch without falling apart. The cellulose rebar barely reacts. Push on toward very dark, and even the rebar starts to char and snap: that's second crack, a brittle fracture, not a steam pop.",
|
||||
},
|
||||
{
|
||||
id: "ib-co2",
|
||||
title: "Coffee is carbonated",
|
||||
scene: ["ibCo2", {}],
|
||||
transcript:
|
||||
"Roasting brews carbon dioxide inside the bean — up to eight liters per kilo, trapped in pores a few nanometers wide. Whole beans need weeks to let it go; grinding rips half of it out in seconds. That gas is the bloom in your pour-over and the crema on your espresso.",
|
||||
tts: "Roasting brews carbon dioxide inside the bean — up to eight liters per kilo, trapped in pores a few nano-meters wide. Whole beans need weeks to let it go; grinding rips half of it out in seconds. That gas is the bloom in your pour-over and the crema on your espresso.",
|
||||
},
|
||||
{
|
||||
id: "ib-color",
|
||||
title: "Same color, different coffee",
|
||||
scene: ["ibColor", {}],
|
||||
transcript:
|
||||
"Two roasts can land on exactly the same color and still be different coffees — a fast, hot roast ends puffier, lighter, and chemically distinct from a slow one at the same shade. Color tells you where the roast ended. The curve tells you how it got there. Log both.",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
id: "senses",
|
||||
title: "Roasting by the senses",
|
||||
minutes: 8,
|
||||
slides: [
|
||||
{
|
||||
id: "sn-instruments",
|
||||
title: "Your best instruments",
|
||||
scene: ["snInstruments", {}],
|
||||
transcript:
|
||||
"The same first crack can read three-ninety on one machine and four-ten on another — probes measure their own placement as much as the bean. Your nose, eyes, and ears are the instruments that transfer between machines. This lesson trains them.",
|
||||
tts: "The same first crack can read three ninety on one machine and four ten on another — probes measure their own placement as much as the bean. Your nose, eyes, and ears are the instruments that transfer between machines. This lesson trains them.",
|
||||
},
|
||||
{
|
||||
id: "sn-grass",
|
||||
title: "Grass, then wet hay",
|
||||
scene: ["snGrass", {}],
|
||||
transcript:
|
||||
"For the first minutes the trier smells like a lawn, then a barn: cut grass, wet hay, damp grain. The air above the beans is steam, not smoke — humid and heavy. Nothing is being created yet; the bean is only letting go of water.",
|
||||
},
|
||||
{
|
||||
id: "sn-hinge",
|
||||
title: "The hinge: hay becomes bread",
|
||||
scene: ["snHinge", {}],
|
||||
transcript:
|
||||
"Somewhere around three-thirty on the probe, in the space of ten seconds, hay becomes baking biscuits. That scent change is the end of drying — the water is out and browning can begin. Green coffee colors vary too much to trust your eyes here; experienced roasters call this moment by nose.",
|
||||
tts: "Somewhere around three thirty on the probe, in the space of ten seconds, hay becomes baking biscuits. That scent change is the end of drying — the water is out and browning can begin. Green coffee colors vary too much to trust your eyes here; experienced roasters call this moment by nose.",
|
||||
},
|
||||
{
|
||||
id: "sn-toast",
|
||||
title: "The bakery run",
|
||||
scene: ["snToast", {}],
|
||||
transcript:
|
||||
"Browning smells arrive in order: toasted grain, then nuts, then caramel as sugars begin to melt near three-seventy. Notice the texture of the smell too — the humid, steamy edge disappears, leaving dry bakery air. Sweetness is being built right now, and your nose can follow it.",
|
||||
tts: "Browning smells arrive in order: toasted grain, then nuts, then caramel as sugars begin to melt near three seventy. Notice the texture of the smell too — the humid, steamy edge disappears, leaving dry bakery air. Sweetness is being built right now, and your nose can follow it.",
|
||||
},
|
||||
{
|
||||
id: "sn-sight",
|
||||
title: "What the trier shows",
|
||||
scene: ["snSight", {}],
|
||||
transcript:
|
||||
"Watch the trier: yellow, then a marbled tan, then brown — with the center crease still clamped shut. Uneven, mottled color at light roast is normal, not a defect. Real expansion and the big chaff release only come when first crack throws the crease open.",
|
||||
},
|
||||
{
|
||||
id: "sn-firstcrack",
|
||||
title: "First crack: popcorn",
|
||||
scene: ["snFirstcrack", {}],
|
||||
transcript:
|
||||
"First crack sounds like popcorn: loud, low, well-separated pops. Ignore the first stray tick — that's one broken bean, not the batch. Call it when three to five pops land in quick succession. And remember the strange truth: fewer than one bean in ten ever pops out loud.",
|
||||
},
|
||||
{
|
||||
id: "sn-secondcrack",
|
||||
title: "Second crack: rice krispies",
|
||||
scene: ["snSecondcrack", {}],
|
||||
transcript:
|
||||
"Second crack is a different instrument: a fast, shallow crackle like rice krispies in milk, higher-pitched and quieter per snap but five times as frequent. The water is long gone — this is a brittle, carbonizing structure fracturing under gas pressure, and oils are being pushed to the surface.",
|
||||
},
|
||||
{
|
||||
id: "sn-arcs",
|
||||
title: "The four flavor arcs",
|
||||
scene: ["snArcs", {}],
|
||||
transcript:
|
||||
"Four arcs tell the flavor story. Acidity is only ever destroyed — the longer you roast, the less survives. Sweetness is a hill that peaks shortly after first crack. Body builds, then hollows out again in dark territory — dark roasts are thinner, not bolder. And bitterness waits, then climbs fast.",
|
||||
},
|
||||
{
|
||||
id: "sn-droplevels",
|
||||
title: "What each drop tastes like",
|
||||
scene: ["snDroplevels", {}],
|
||||
transcript:
|
||||
"Drop at City and the cup is bright, juicy, and delicate. City-plus is the balance point most home roasters chase. Full City turns bittersweet and chocolatey; a touch further suits espresso. Past that, roast character eclipses the origin — and by French the cup is thinner, smoky, and mostly about the roast itself.",
|
||||
},
|
||||
{
|
||||
id: "sn-smoke",
|
||||
title: "Steam becomes smoke",
|
||||
scene: ["snSmoke", {}],
|
||||
transcript:
|
||||
"The entire roast, told by your nose: steam slowly becomes smoke. A last wave of deep, sweet 'pre-smoke' aroma means real smoke is thirty seconds away. Heavy smoke means stop — the sweetness is already gone. And if tomorrow's grounds smell sharp and acrid, your charge was too hot today.",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
id: "gone-wrong",
|
||||
title: "When roasts go wrong",
|
||||
minutes: 9,
|
||||
slides: [
|
||||
{
|
||||
id: "ww-good",
|
||||
title: "What good looks like",
|
||||
scene: ["wwGood", {}],
|
||||
transcript:
|
||||
"Before the failure gallery, the target: a rate of rise that falls smoothly from turning point to drop, beans even in color with the inside matching the outside, weight loss on target — and a cup whose sweetness survives as it cools. Every defect that follows breaks one of these.",
|
||||
},
|
||||
{
|
||||
id: "ww-underdev",
|
||||
title: "Underdeveloped",
|
||||
scene: ["wwUnderdev", {}],
|
||||
transcript:
|
||||
"Snap a bean in half: a dark surface fading to a pale center means the heat never reached the core. The cup is grassy, sharp, and papery, sour and bitter at once with no sweetness between. Don't just roast darker — that burns the outside while the inside stays raw. Deliver energy earlier, or give development fifteen to thirty more seconds.",
|
||||
},
|
||||
{
|
||||
id: "ww-baked",
|
||||
title: "Baked — the invisible defect",
|
||||
scene: ["wwBaked", {}],
|
||||
transcript:
|
||||
"Stall the roast and it bakes: flat, bready, cardboard, no sweetness. The chemistry kept running at low energy — it spent the bean's sugars without making the sweet, aromatic compounds you were roasting for. Baked coffee looks perfectly normal; the tell is a cup that tastes okay hot and empty once it cools.",
|
||||
},
|
||||
{
|
||||
id: "ww-crashflick",
|
||||
title: "Crash and flick",
|
||||
scene: ["wwCrashflick", {}],
|
||||
transcript:
|
||||
"At first crack the beans dump steam and the rate of rise wants to dive; cut heat too late and it crashes, then chase it with gas and it flicks back up. The crash tastes baked, the flick tastes roasty — even at a light color. Both are fixed upstream: smaller, earlier moves, about forty-five seconds before the crack, and never panic-feed a crash.",
|
||||
},
|
||||
{
|
||||
id: "ww-scorch",
|
||||
title: "Scorching, tipping, facing",
|
||||
scene: ["wwScorch", {}],
|
||||
transcript:
|
||||
"Burn specks before the beans even tan, blackened tips, or charred faces late in the roast — three appearances of one mistake: metal or air hotter than the bean could absorb. All of them taste burnt and ashy over a hollow cup. Drop the charge ten degrees, load the drum properly, keep the beans tumbling.",
|
||||
},
|
||||
{
|
||||
id: "ww-fast",
|
||||
title: "Too fast — the gradient roast",
|
||||
scene: ["wwFast", {}],
|
||||
transcript:
|
||||
"Coffee conducts heat poorly — the inside needs time. Rush the roast and you don't get an average, you get a gradient: char over raw. The tell is a cup that tastes burnt and grassy at the same time, and no drop temperature can fix it. Slow the early roast and stretch the path to first crack.",
|
||||
},
|
||||
{
|
||||
id: "ww-quakers",
|
||||
title: "Quakers — the beans that can't brown",
|
||||
scene: ["wwQuakers", {}],
|
||||
transcript:
|
||||
"A few beans stay pale while the batch browns — quakers, seeds picked unripe, that never stored the sugars browning feeds on. Same drum, same heat, no color: proof that roast color is chemistry, not temperature. They taste like paper and peanut shells. You can't roast them out — pick them out of the cooling tray.",
|
||||
},
|
||||
{
|
||||
id: "ww-uneven",
|
||||
title: "The uneven batch",
|
||||
scene: ["wwUneven", {}],
|
||||
transcript:
|
||||
"An uneven batch is a message — read the pattern. A couple of pale outliers are quakers: the green's fault. A continuous spread of shades means the beans lived different roasts: mixed moisture or density, an overloaded drum, or too little airflow. Size the batch to the machine and buy well-sorted green.",
|
||||
},
|
||||
{
|
||||
id: "ww-airflow",
|
||||
title: "Air is a heat control",
|
||||
scene: ["wwAirflow", {}],
|
||||
transcript:
|
||||
"Around seventy percent of a drum roaster's heat arrives by air, so the fan is a heat control, not an exhaust switch. Starve it and smoke settles back onto the beans — ashy cups and a chaff fire waiting. Overdo it and you strip aromatics and stall the roast. Run it low through drying, medium through browning, high from just before crack to drop.",
|
||||
},
|
||||
{
|
||||
id: "ww-diagnose",
|
||||
title: "Taste backwards, fix forwards",
|
||||
scene: ["wwDiagnose", {}],
|
||||
transcript:
|
||||
"Let the cup diagnose the roast. Sour and thin asks for more development. Flat cardboard means you stalled — carry momentum through first crack. Smoky but dull points at a crash and flick, or starved airflow. Then the discipline: one change per batch, written down — and before you blame the roast, make sure it isn't just the brew.",
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user