Brewing Feedback Loop

39 BJCP Scoresheets · 27 Batches · 2023–2024

42 Best Florida Beer · 2023
23 Hot & Humid · 2024

Same recipe. Nineteen points apart.

One American Pale Ale, entered in ten competitions over two years, scored anywhere from a medal to a near-failure. The recipe never explained it. Reading all thirty-nine scoresheets against the brewing data did — and the answer wasn’t in the recipe at all.

The Problem

Two piles of information that couldn’t see each other

Brewfather knew exactly what went into every batch. The scoresheets knew exactly how those batches turned out. Nobody had ever put the two side by side.

On one side: years of grain bills, hop schedules, water profiles, mash temperatures and fermentation logs, readable one phone screen at a time. On the other: thirty-nine competition scoresheets sitting in a folder as PDFs with filenames like eJudge_1201.pdf, each one a judge’s written verdict on a beer nobody could trace back to its numbers.

So the same faults kept recurring, batch after batch, and the only feedback loop running was memory.

Build One

A way to ask the brewing log questions

The first piece is a connection between the Brewfather account and an AI assistant — nine ways of asking about brewing in plain English. List my batches. Show me this recipe. What did fermentation actually do. What’s in the inventory. What is my real efficiency. Compare these two batches side by side.

It only reads. There is no path in it that can change or delete anything in the account, and that’s enforced by automated tests rather than by good intentions. Credentials never leave the brewer’s own machine.

Free for any homebrewer

The connector is published openly under an MIT license at github.com/flattery89/brewfather-mcp. Before release it was cloned and installed from scratch the way a stranger would — a test that caught a real bug where setup reported success after the connection had already failed.

Build Two

Making sure the numbers were actually true

This mattered more than anything else. A tool that reports efficiency confidently and gets it wrong is worse than no tool at all. So its math was checked against twenty-seven real batches. On all-grain batches it now agrees with Brewfather’s own figure every single time, within two points — the average disagreement is two-tenths of a point.

Getting there exposed four genuine bugs. The one worth knowing about:

It was reading the current recipe rather than what actually went into the kettle that day. On two batches those differ by more than two and a half pounds of grain, because the recipe was edited afterwards.

A record of what you brewed should not change when you change your mind about the recipe.

Just as important is where the math doesn’t work. Anything with sugar, fruit, honey or lactose in it resists every model tried — three were tested and none reproduced Brewfather reliably. Those batches are excluded by default and the reason is written down, rather than shipping a number that quietly disagrees with the app.

Build Three

Turning the scoresheets into evidence

All thirty-nine sheets were renamed to a single readable pattern — style, beer, score, competition, year — and sorted into fifteen folders by BJCP category. Four duplicates went in the bin. Then every sheet was read end to end and every criticism tallied.

Read one at a time, a scoresheet is an opinion. Read thirty-nine at once, it’s data.

What judges kept writing down

Recurring criticisms across all 39 sheets, 2023–2024.

Thin body 23/39
Low carb. 22/39
Astringent 22/39
Weak malt 18/39
Poor head 15/39
Too sweet 12/39

The Finding

The recipe was fine. The bottles weren’t.

Back to the 42 and the 23. Break those scores down by BJCP category and the pattern is unmistakable: flavour barely moved. Everything around it collapsed.

Where the points went

Average points lost per category, as a share of that category’s maximum — comparing the first version’s competition average against every version after it.

Mouthfeel −26%
Aroma −19%
Appearance −17%
Overall −13%
Flavour −9%

Mouthfeel, aroma and appearance are the three categories carbonation touches directly. Flavour — the recipe’s own category, and the largest single block of points on the sheet — held.

That is not a recipe failing. That is packaging and carbonation failing, and it was costing more points than any ingredient decision on the sheet. The instinct after a 23 is to rewrite the recipe. The data said don’t.

The Deep One

One unmeasured number, three separate complaints

The finding that only appeared because both halves were finally in the same place.

Every version of this beer took all of its bitterness from one late hop addition and none from a proper sixty-minute charge — the textbook cause of a harsh finish, and it matches what six of ten judges wrote. Then, in the brewing data:

V1 mash pH 5.59 V2 mash pH 5.60 V3 mash pH 5.59

Three batches. No acid ever added. No reading ever taken. All three estimates built on a water profile in Brewfather literally named “Default” — a placeholder nobody had ever replaced with a real water report.

A mash at 5.6 pulls harsh tannins, blurs malt definition, and drags efficiency down. That is three of the recurring complaints traced back to a single number nobody had ever measured. No individual scoresheet could have shown it. Three batches with identical wrong estimates make it impossible to miss.

Why It Matters

What actually changes from here

  • Every batch now feeds the next one. Judge feedback stops being paper in a folder and becomes evidence you can question against what you actually brewed.
  • You stop fixing the wrong thing. That’s the difference between a wasted brew day and a corrected one.
  • Patterns surface that no single batch reveals. A placeholder water profile is invisible on one sheet and glaring across three.
  • The numbers are trustworthy. When it reports 60% efficiency, that’s the real measured figure — which is why the next version is designed around 60% rather than a textbook 70% that would leave it short.
  • It compounds. The tooling is built now. The loop runs faster on the next beer, and the one after that.

Where It Landed

Version four

The redesign moves bitterness to a proper sixty-minute charge with a cooled whirlpool, builds the water from distilled so every mineral is known rather than guessed, adds acid to bring the mash to 5.3, restores malt backbone and body, and specifies the packaging step by step — because that’s where the points were being lost.

It is the first version of this beer to sit inside the style guidelines on every single parameter: gravity, finish, strength, bitterness and colour. Earlier versions each broke at least one.

One item is still open. Brewfather built the recipe assuming 66% efficiency against a measured 60%, which on a no-sparge system would land the beer at the thin end of the style — walking straight back into the complaint that defines its history. The fix on the table is about ten percent more grain, which brackets both outcomes safely.

The scoresheets were always telling the truth. Nothing was reading them.

Built with Claude Code. The Brewfather connector is open source and free to use; the analysis draws on 39 BJCP scoresheets and 27 brewed batches from a single homebrewer’s record, 2023–2024.