It’s fresh hop season in the Pacific Northwest, which means the tap lists around Tacoma fill up with beers made from hops that were on the bine in the Yakima Valley hours before they hit the kettle. I love this time of year.
I also had a problem. I’d pick up a can and it would say Citra, Mosaic, Strata, and I’d nod like I knew what that meant. I have 865 check-ins on Untappd, most of them IPAs. I could tell you which ones I liked. I could not tell you why, or what Strata actually brings to a beer, or where it was grown, or whether the Citra in this can was the same thing as the Citra in the last one.
So I built HopLove. Look at a can, know the hops.
The answer was in twenty places
Everything you’d want to know about a hop is out there. It’s just scattered. The growers and breeders — Yakima Chief, Hopsteiner, BarthHaas, the Hop Breeding Company, NZ Hops and a dozen more — each publish spec sheets: alpha acids, oil content, what it smells like. The breweries publish which hops went into which beer, on their own websites, in whatever format their web designer liked that year. The USDA publishes how many acres of each variety got planted.
And the numbers disagree. One source will put a hop at 11–13% alpha acid, another at 12–15%. Most hop sites blend them into a single range, and you can’t tell whose number is whose.
HopLove started as the thing I actually wanted: a hop database that shows its work. Its working name was HopLore. The rule from day one was that every number is a citation, not a claim. Each source’s figures are stored separately, with a link back to where they came from, and when sources disagree the site shows you the spread instead of quietly picking a winner.
Where it stands today: 232 hop varieties from 22 sources, and 2,036 beers from 32 breweries — 145 of them fresh hop beers, traced back to 29 farms.
Then it grew a beer list
A hop database is useful to brewers. But I’m not usually holding a spec sheet. I’m holding a can.
So HopLove reads the breweries’ own websites on a schedule — Fort George, pFriem, Reuben’s, Cloudburst, Structures, Bale Breaker, Single Hill and the rest — and pulls out the hop bill for every beer that lists one. Search for a beer and you get every hop in it, what each one smells like, how hard it bites, and what the whole thing is likely to taste like when you add them up. Plus a list of other beers with the closest hop bill, for when you find one you love.
Fresh hop season is where this really paid off. Brewers love to credit the farm, and they write it in prose: “fresh, wet Roy Farms Strata and Haas Krush, with freshly dried Roy Strata, Black Star Ranch Simcoe, & Haas Krush.” That one sentence has two kinds of Strata in it — one straight off the bine, one kilned — and HopLove reads the difference. The fresh hop guide lists every fresh hop beer this season with the farms behind it: Carpenter Ranches, Sauve & Son, Loza, Roy, Van Horn, Coleman.
Snap the can
Plenty of beers aren’t on any brewery website. For those there’s Scan a beer: take a picture of the can, the bottle or the tap list, and Claude reads the hops off it and opens each one up. It runs through the same little Cloudflare Worker that powers my cookbook — same pattern, new routes, now with a daily limit so a busy weekend can’t run up the bill.
The chemistry is the good part
My degree is in molecular biology, and it turns out that’s the fun way into hops. What you smell in an IPA is mostly a handful of oils — myrcene, humulene, caryophyllene, farnesene — and the bitterness is the alpha acids isomerizing in the boil. Every hop on HopLove shows its oil breakdown, and there’s a hop science primer with the actual molecules, in 3D, that you can spin around. It’s the page I’d have wanted in college, when my beer of choice was an Ichthyosaur IPA from Great Basin in Reno.
How it’s built
Same philosophy as everything else on this site: static pages, no database, nothing to babysit.
- GitHub Actions reads the breweries’ sites twice a week, rebuilds the data and redeploys. New releases show up on their own.
- Every hop and every beer is a YAML file in a public GitHub repo, so every change is a commit and the whole history is there.
- My Untappd check-ins and ratings sync in every few hours, so each beer I’ve had shows what I thought of it under “In Brooks’s glass.”
- The data is free: every hop and every beer as JSON, no key, CC BY 4.0. If you build something with it, I’d love to see it.
Your turn
If you brew: put your hop bill on your website, in plain words, one page per beer. That’s all HopLove needs to include you, and it keeps up as you release new beers. If something on HopLove is wrong, email me and I’ll fix it.
If you drink: go find the last beer you loved and see what was in it. Then chase down the one that’s closest to it. Then the one after that. That’s the whole idea, and fresh hop season only lasts a few more weeks. 🍺🌳
HopLove is free and staying that way — no ads, no accounts, nobody selling you hops. The only thing that costs money is the camera, which pays a few cents per photo it reads, so there’s a buy-me-a-beer button if it ever saves you from a bad six-pack.
Now if you’ll excuse me, there’s a fresh hop tap list at Peaks & Pints and I finally know what I’m reading.
HopLove is at brooksgroves.com/hoplove. The code and data are open on GitHub.