// Build Log

Where Your $5 Goes

A scrollytelling piece following every cent of a $5 latte from cup to farm — and a horizontal Sankey diagram that tips down vertically and lands on a real world map, showing where each river of money actually flows.

I pay for coffee at least once a day. Most days, twice. I’d never really stopped to think about where the five dollars actually goes — and when I asked the question out loud, I realized I had a vague sense of an answer and no real one.

The vague sense was the usual: most of it never makes it to the farmer. That much I knew. The number behind it I didn’t.

So I went looking.


What I expected

I expected the farmer to get something like a quarter. Maybe a dime. Surely some non-trivial slice of a five-dollar drink had to make it back to the person who spent a year growing the beans.

I expected the café’s share to be the biggest single piece — but I assumed it’d be something like half, with the other half threaded through roasters, importers, mills, shipping, and origin labor.

I expected the geography to feel romantic. Four continents, ports, mountains, mills, farms. A long story written in pennies.

What’s actually true

Across every published study I could find — the Specialty Coffee Association, the ICO/COSA Mexico value-chain work, Columbia’s CCSI, the Coffee Barometer, the National Restaurant Association’s labor numbers — the answer kept landing in the same range.

For a prepared café drink, the farmer’s share is one to three percent.

Of a five-dollar latte, that’s somewhere between eight and twelve cents.

Eighty cents of every dollar stays inside the four walls of the shop you’re standing in. Rent. Labor. The milk. The paper cup. Card processing. A thin operating margin. The café isn’t being greedy — it’s being a restaurant, and restaurants are labor-intensive local businesses with thin margins and high overhead. The economics are what they are.

The romantic chain of origin actors — importers, mills, roasters, exporters, shippers — splits about a dollar between them. That’s it. About a buck for everything that happens between the farm and your cup.

The bean is the cheapest part of the transaction.


The build

I wanted to make the proportions visible before the brain had time to argue with them. Numbers in a table don’t do that. A bar chart almost does. A scrollytelling piece that fills a coffee cup, splits it into proportional bands, stretches those bands into a Sankey diagram, and then tips the whole Sankey down vertically and lands each river on its real geography — that finally did.

Café revenue lands on US metros. Importer money anchors at coastal ports. Mills cluster in origin countries. The farmer’s barely-visible 2% green stream sprays across the entire coffee belt from Minas Gerais to Sidama to Gayo — the thinnest river, the longest distance.

It’s a single HTML file. GSAP ScrollTrigger for the scroll-driven animation. A hand-rolled equirectangular projection (no d3-geo) for the world map. Natural Earth country shapes via the world-atlas TopoJSON. Self-hosted, no external dependencies, no build step.

// Scroll through the full interactive  ·  Open full screen ↗

What it changed for me

I don’t feel differently about buying coffee. I’ll still go tomorrow. The café is selling me a real product — a place to be, a moment of caffeine, a person who knows how to pull a shot — and they’re charging what it costs to keep that available near me at the moment I want it. That math is honest.

What I do feel differently about is the shape of the chain. The farmer is not the small player in a fair system. The farmer is the thinnest player in a chain that has been bending downstream toward branding and service for thirty years, and will keep bending. The dime they make per drink is not a rounding error. It’s the structure.

The piece is the structure, made visible.

// interactive build
Where Your $5 Goes — The Journey of a Latte
HTMLCSSVanilla JSGSAPScrollTriggerSVGTopoJSON
● active
interact with this build _
click to explore