Fermentation AI · practical guide

How to Automate Brewery Quality Control

You automate brewery QC by moving three things off spreadsheets — data capture, spec-checking, and alerting — in the order that actually works for a small brewery. Here's how to do it without buying a 50-barrel software suite you'll never grow into.

Most small breweries don't need "AI." They need to stop hand-copying gravity readings, stop finding out a batch drifted out of spec after it's packaged, and stop losing yeast health to guesswork. Automation fixes all three — in a specific order.

What "QC automation" really means (and what it doesn't)

Ignore the hype for a second. Automating brewery quality control is not a robot tasting your beer. It's a plain, four-stage workflow that runs whether or not anyone remembers to run it:

Capture Check Alert Learn

Capture gets a reading into a system the moment it's taken. Check compares that reading to the spec band for the style. Alert tells a human only when something is actually wrong. Learn keeps the history so every batch is measured against your own baseline, not a textbook. Get those four running and you have automated fermentation monitoring — no buzzwords required. The "AI" only shows up at the very end, and only if it earns its place.

What it doesn't mean: ripping out how you brew, adding twelve dashboards nobody opens, or trusting a sensor you've never calibrated. Automation that ignores those realities gets switched off within a month. Done right, brewery quality control automation is boring, reliable plumbing — not a robot, and not hype.

Step 1: Get your data off paper and out of siloed spreadsheets

Step 01 · Capture

One place, entered once, never re-keyed

Every manual re-entry is a chance to fat-finger a decimal. The single biggest source of QC error in a small brewery isn't bad brewing — it's a gravity point transcribed wrong from a clipboard to a spreadsheet three hours later.

The minimum fields that matter

You don't need forty columns. You need the handful of readings that actually forecast a good or bad batch: gravity, temperature, pH, dissolved oxygen at knockout, and time/date. Capture those consistently and you can automate everything downstream. Capture them sloppily and no amount of software saves you.

  • Gravity — the backbone of attenuation tracking; the one number every other check leans on.
  • Temperature — drives ester/fusel production and yeast health; drift here shows up in the glass.
  • pH — a fast, cheap health proxy for the fermentation.
  • Dissolved oxygen at pitch — the yeast-health lever brewers most often ignore.
  • Pitch rate & time — so a slow ferment can be traced back to what you actually pitched.

CSV / Google Sheets as the on-ramp

You don't start with a platform — you start by making the spreadsheet structured and single-source. One row per reading, consistent units, no merged cells, no color-coding standing in for data. That clean sheet is the on-ramp everything else bolts onto. (Full walk-through in tracking fermentation data in a spreadsheet →.)

Don't want to build the capture layer yourself? I set up the whole capture → check → alert → learn loop, wired to your tanks and styles.
See the QC Dashboard service →

Step 2: Automate the spec check (the first real workflow)

Step 02 · Check

Let the system decide "in spec / out of spec," not a tired brewer at 9pm

A spec check is just a rule: for this style, this reading should land inside this band by this point in fermentation. Once the band is written down, the computer can check it every single time — perfectly, for free, forever.

Defining a spec band per style

Each style gets its own envelope: target OG, expected attenuation curve, a temperature window, a terminal-gravity range. The bands come from your history, not a book — your house pale ale's real attenuation, not the style guideline's. This is where automation quietly beats manual QC: a spreadsheet can store the numbers, but it won't compare them for you.

Attenuation-vs-target is the highest-signal check

If you automate one thing, automate this. A batch attenuating slower than its own historical curve is the earliest, loudest signal that something's off — underpitched, unhealthy yeast, a temperature problem, or a stall in progress. It flags trouble days before a hydrometer reading "looks fine." Pair it with the attenuation calculator → to set the bands, and trace slow ferments back to what you pitched with the yeast pitch rate calculator →.

Step 3: Automated out-of-spec alerting

Step 03 · Alert

Tell a human the moment a batch drifts — and only then

Capture and checking are worthless if the result sits in a dashboard nobody opens. The alert is the payoff: an out-of-spec batch pings someone while there's still time to act, not after it's in cans.

What to alert on vs. what to ignore

Alarm fatigue kills adoption faster than anything else. Alert on the genuinely actionable — attenuation stalling, temperature out of the fermentation window, pH not dropping on schedule — and stay silent on noise. The first brewery I saw abandon "automation" did so because it cried wolf twenty times a day. If every reading is an alarm, none of them is.

Email, Slack, SMS — match the channel to severity

  • Log-only — normal readings; visible if you look, silent otherwise.
  • Email / Slack — a batch drifting toward a band edge; worth a look this shift.
  • SMS / phone — a hard out-of-spec on a batch you can still save; wake someone up.

Step 4: From automation to an AI agent

Step 04 · Learn

When a fixed rule isn't enough

Rules are great until the interesting problems live between them. That's where an agent earns its keep — not by replacing the rules, but by comparing each live batch to the full weight of your own history.

A rule says "gravity is above 1.020, alert." An agent says "Batch 12 is attenuating 8% slower than your average for this recipe — and the last two times that happened, pitch rate was low. Check the pitch." That's the agentic upgrade: it reasons against your baseline, surfaces the likely cause, and points at the fix. It's only possible because Steps 1–3 gave it clean, labeled history to learn from. Skip the fundamentals and "AI" has nothing to stand on.

Example: the batch that saved itself

"Batch 12 is attenuating 8% slower than your average — check pitch rate." That one line, fired on day two instead of discovered on day ten, is the whole value proposition. It's the difference between a small correction and a dumped tank.

What most breweries get wrong

Automation fails in predictable ways. Every one of these is avoidable:

  1. Automating the wrong metric. Tracking ten lagging indicators and missing attenuation-vs-baseline, the one leading signal that matters.
  2. Over-alerting. Alarm fatigue — the fastest route to a system everyone ignores and eventually unplugs.
  3. Trusting an uncalibrated sensor. Automated confidence in a wrong number is worse than an honest manual reading.
  4. Ignoring yeast health. Pitch rate, viability, and dissolved oxygen are the levers that decide the batch — automate their capture or you're monitoring symptoms, not causes.
Notes from the lab

At New Belgium, the win was never a fancier dashboard — it was catching drift early. A batch compared against its own history flags a problem days before a spot-check ever would. The same discipline scales down perfectly: a nano brewery with clean capture and one good attenuation-vs-baseline alert catches more bad batches than a big producer drowning in uncalibrated sensors. The tools got cheaper; the discipline is the moat.

Build vs. buy: an honest comparison

There's no single right answer — there's the right answer for your stage. Here's the fair version, including where doing it yourself is genuinely fine:

Comparison of DIY spreadsheet, DIY code, and done-for-you QC dashboard approaches for brewery quality control.
ApproachSetup effortOngoing costCatches drift early?Best for
DIY spreadsheetLowFreeOnly if you lookPlanning & first batches
DIY codeHighYour timeYes, if you finish itTechnical founders
Done-for-you dashboardNone (I build it)$1.5k–3k onceYes, automaticallySmall breweries that want it working now

The spreadsheet is honestly fine until the day a batch slips through because nobody looked. DIY code works if you're a technical brewer with the evenings to finish it — most aren't. The done-for-you route exists for the brewery that wants the capture → check → alert → learn loop running against their tanks this month, without becoming a software project.

Done-for-you: a QC dashboard wired to your tanks

This is what I build. A concierge QC dashboard that captures your readings, checks every batch against per-style bands built from your own history, alerts the right person at the right severity, and — when you're ready — adds the agent that compares each batch to your baseline and tells you why it's drifting. Built by someone who ran yeast and QC on a nationally distributed brewery's floor, not a generic dev shop.

Stop finding out too late

Get a QC dashboard built for your tanks.

Fixed-fee, $1.5k–3k, built around how you brew — capture, spec-checks, alerts, and the agent that catches drift before it costs you a batch. Start by seeing what off-spec fermentation is already costing you.