Showing posts with label Recipes. Show all posts
Showing posts with label Recipes. Show all posts

Sahti 2026

>> Saturday, June 06, 2026


Today I'm finally brewing one of the more unusual historical beer styles, at least compared to styles I typically brew: Sahti, a traditional farmhouse ale of Finland. Here’s how the 2021 BJCP guidelines describe this historical style:
A sweet, heavy, strong traditional Finnish beer with a rye, juniper, and juniper berry flavor and a strong banana-clove yeast character.

The use of rye doesn’t mean that it should taste like caraway (a common flavor in rye bread). The juniper acts a bit like hops in the balance and flavor, providing a flavor and bitterness counterpoint to the sweet malt. Piney, woody juniper character more common than gin-like berries.

An indigenous traditional style from Finland; a farmhouse tradition for at least 500 years, often brewed for festive occasions like summer weddings, and consumed within a week or two of brewing.

I love that the guidelines specifically say that the use of rye doesn't mean it should taste like caraway. Believe it or not, I've had numerous discussions with other judges and homebrewers that mistakenly associated "spicy" rye character with what's actually caraway in most rye bread.  

A friend of mine from my old homebrew club in Utah, Mike Johnson, made a Sahti that won gold on
multiple occasions. I reached out to Mike for tips on replicating this style. I also found a good write up on Craft Beer & Brewing, and tons of great information on Brewing Nordic. I highly recommend Brewing Nordic. It contains an incredible amount of information on traditional Sahti and was invaluable while researching this batch. For my attempt today, I'm kind of mashing all this great info together and hoping it yields a nice drinkable beer and a decent example of the style.

There are a few challenges to trying to brew this style in the U.S. that I wanted to mention: 
  • First, one of the key ingredients is Tuoppi Kaljamallas, a dark roasted rye malt, isn’t available in the U.S. Fortunately it’s not too difficult to take rye malt and roast it in the oven for a very close substitute. 
  • Another challenge is the traditional yeast, a bread yeast, is not readily available outside of Finland. I was thinking one of the Kveik farmhouse strains might be a good alternative, but Nordic Brewing says it’s really not. Banana esters are a huge part of the fermentation profile for this beer and a lot of the Kveik strains are fairly clean and/or give you citrus and tropical fruit (but not banana). I'm using WLP300 for banana flavor and aroma. I've only used this yeast once before and that was about 15 years ago so I don't really remember much from that batch. Clove phenolics are another important part but according to my research, should be more restrained than the banana character. I plan to use WLP565 and pitch it about 24 hours after WLP300. WLP565 is notorious for quitting early unless temps are raised quite high. I'm counting on this to ensure the beer doesn't dry out too much.
  • Third, the correct varieties of juniper trees don’t grow anywhere near me in Florida. Nordic Brewing mentions that many modern interpretations skip juniper altogether, but I want to include it in my version. I ended up ordering a 4oz pack of juniper leaves from Spruce On Tap. These are still a different variety from what is found in Finland, but I've heard good things about Spruce On Tap's offerings. This recipe only calls for 10 grams, so I’ll have plenty leftover if I decide to brew this again or experiment with juniper in another beer.
  • Traditional Sahti is typically raw, never boiled. This means it’s never gotten hot enough to form hot break so lots of proteins carryover to the finished beer. This contributes to body and usually cloudiness in the finished beer. Mike said he usually boils his, same as any other batch of beer. I decided I want to try the raw/no-boil approach, although I am planning on taking the beer up to 170°F to sanitize and hopefully drive off some SMM while maintaining the raw beer character.
  • Fermentation is traditionally stopped early by dropping the temperature before fermentation is actually complete. The beer is then stored cold until ready to drink. For my attempt, I plan to enter this beer in one or more competitions so I need it to be stable. I will mash high to create lots of unfermentable sugars with the hopes of it finishing close to 1.034. I’m hoping this along with my yeast selection will eliminate the risk of bottle bombs due to residual sugars in the beer.
  • Sahti is usually served still or with low carbonation. I think I’m going to prefer some carbonation, so I’ll probably shoot for something around 1 volume. 
Roasting Rye Malt
I’m using the instructions from Nordic Brewing. The quick Cliffs Notes version is you preheat your oven to 350F. If you have a convection option on your oven, use it. Spread the rye malt out into a thin layer on a foil lined cookie sheet. Target time is 45 minutes, but check it around 40 minutes and make sure the malt isn’t burning/charring. You won't see a huge color change to the outside of the rye malt, but inside you'll see a very noticeable change. After 45-ish minutes, remove from the oven and allow to cool. I did this process a few days ahead of brew day. I do this with smoked grains and toasted oatmeal too; based on what I've read and heard from other brewers, this allows the malt to mellow a little bit and for flavors and aromas to round out. By the way, the roasting process smells amazing; I got major bread crust aroma from it. My wife came into the house a couple hours after I finished roasting the malt and said the house smelled like I'd been baking bread.

Enough talk, here's the recipe as I'm brewing it today:
 
Target OG: 1.097
Target FG: 1.034
IBU: 0
ABV: 8.3%

7.5# Solstice Pilsner
7.5# Weyermann Vienna
4.1# Weyermann Munich I
1.2# Home-roasted Mecca Grade Rimrock Rye malt
Rice hulls, 1-2 handfuls 
10g Juniper tips/leaves mixed into the mash
1g BrewTan B (Mash)
80% of one vial of WLP300 Hefeweizen and 20% of one vial of WLP565 Belgian Saison I

Mash at 159°F. Collect about 5.25 gallons in the boil kettle. Bring wort to 170°F and hold for 30 min to sanitize and hopefully drive off some SMM (DMS precursor). 

Chill to 68°F. Aerate for 2 min. Pitch WLP300 and wait 24 hours before pitching WLP565.

Allow ferm temp to rise to 74°F in that first 24 hours. After 24 hours, pitch WLP565 and allow temp to rise to 75°F over a day. Maintain 75°F for the duration of primary. 

Water Profile
Target Water Profile
Ca Mg Na SO4 Cl HCO3
55 8 15 40 80 90

To 10 gallons of RO/Distilled Water, add:
  • 2.7g Gypsum
  • 2.7g Calcium Chloride
  • 2.3g Baking Soda
  • 3.6g Magnesium Chloride
  • 1.0g Pickling Lime
Brewing Notes

I went with a slightly thicker mash on this brew since I won't be boiling off any water. I also am using my 20 gallon mash tun so that the grain bed wasn't as deep which should help improve efficiency. This was a large grain bill and it just barely overfilled my grain bucket while milling. I probably spilled a couple grams worth of grain onto my garage floor. 

First runnings were 1.094, so I definitely won't be hitting the 1.097 target OG. I tend to get right about 83-84% efficiency on most beers, but efficiency is always lower on bigger beers, so I can't say it's unexpected. The color on this beer is amazing; deep amber and clarity is looking good right now. This is likely due to the fact that I recirculate during the entire mash, so the grain bed tends to do a great job of filtering out small particles.  

No issues with the remainder of the brew session. OG is showing 1.091 on my refractometer and 1.090 on my Tilt. WLP300 was pitched at 1:30PM @67°F. I decided to pitch the whole vial; my rationale is even 1 vial is under pitching for a 1.091 beer, so I think it will work out fine. I'm planning on pitching WLP565 tomorrow at 1:30PM

 
Session Readings
Equipment used20 gal MT
Strike water volume6 gal
Strike water temp176.4 °F
Mash thickness1.18 qt/lbs
Beginning mash pH5.38
Ending mash pH5.37
1st running gravity23 (1.094)
Volume into BK5.25 gal
Pre-steep gravity22.1 (1.090)
Pre--steep pH5.40
Post-steep gravity22.4 (1.091)
Post-steep pH5.35
Aeration0.5l/min for 2 min
Post ferm gravityx (1.0)
Post ferm pHx

Update 6/7/2026 8:40AM
Gravity has started to drop and I'm seeing active signs of fermentation, so It seems that WLP300 has gotten off to a good start. I'll take the WLP565 out of the fridge in a couple hours and allow it to come up to room temp before pitching.  

Update 6/7/2026 3PM
WLP565 was pitched at 1:30PM. Gravity is currently reading 1.079 on the Tilt. 

Update 6/8/2026
Gravity this evening is down to 1.051 per the Tilt. That means there's about 20 points before it gets to where I "hope" it will stop.   

Update 6/11/2026
Fermentation seems to be winding down. Gravity is between 1.035 and 1.034 this afternoon. I pulled a small sample a couple days ago and again today. I'd say it's definitely more banana forward than clove, but there is a hint of clove. Also it's not too crazy on the banana that it seems artificial. There is noticeable sweetness and I'd say it reminded me of banana bread crust with a hint of chocolate and coffee. I don't feel like I picked up anything distinctly juniper. I'm considering making a juniper tincture and dosing it with a little bit to see if I can add a little more complexity.

Update 6/14/2026
Gravity is holding steady just shy of 1.035 per the Tilt. I'm going to leave it on the yeast cake for another week then keg it.

Update 6/15/2026
Gravity is reading 1.0316 per the Tilt this morning.  

Read more...

Kellerbier 2026

>> Sunday, May 03, 2026


Today I'm brewing my Kellerbier recipe. The 2021 BJCP Guidelines describe this style as follows:
An unfiltered, unpasteurized, fully-attenuated German lager traditionally served from lagering vessels. May be a little richer, more robust, and rustic than the base styles. A fresh beer without fermentation defects associated with young, green (unfinished) beer.
Since the BJCP Guidelines require the base style be declared, I'd describe this one as a German Pils Kellerbier. I originally started brewing this beer because I enjoyed Granary Kellerbier from TF Brewing so much. Granary Kellerbier has won a ton of medals over the years and I usually order at least one every time I go to TF (admittedly this is less often since moving to Florida). This version has a few changes compared to previous batches. First, I'm trying out LalBrew NovaLager™ for this round. Lallemand describe Nova Lager as follows:

LalBrew NovaLager™ is a true bottom-fermenting Saccharomyces pastorianus hybrid from the novel Group III lineage that has been selected to produce clean lager beers with distinct flavor characteristics and superior fermentation performance. LalBrew NovaLager™ is a robust lager strain with ideal characteristics for lager beer production including fast fermentations and high attenuation. The distinct flavor profile is very clean, slight esters over a wide temperature range. LalBrew NovaLager™ was selected using classical and non-GMO breeding methods to obtain a novel Saccharomyces cerevisiae x Saccharomyces eubayanus hybrid strain that defines a novel Group III lager lineage that is distinct from any other traditional Saccharomyces pastorianus strains. This strain is a low VDK/diacetyl producer and utilizes patented technology from the University of California Davis (USA) that inhibits the production of hydrogen sulfide (H2S) off-flavors, therefore reducing the maturation time associated with lager beer production.

  • Attenuation: 78-84%
  • Fermentation Temp Range: 10 - 20°C (50 - 68°F)

I think this will be a great style to try out this yeast and it'll be interesting to see how different the results are compared to some of the other yeast I've used like Imperial L17 Harvest and Wyeast 2124 Bohemian Lager. I'm targeting 50F for my fermentation temp, but it is getting warmer here in Florida and I may have a hard time holding 50F...time will tell. I should be able to get wort temps to the low 50s relatively easily. I usually let trub settle for at least 15 minutes after shutting off my whirlpool. I may need to skip that to prevent the wort from warming back up.  

Another change, I don't have Root Shoot malt on hand any longer, so I'll be using Rahr North Star Pils for this batch. I've used this malt before and have had great results, so I'm not too concerned. 

Lastly, I'm also going to skip doing a decoction mash and instead try a step mash with a little bit of Melanoidin malt. Previously I've employed a single decoction mash, but with my 220v RIMS system I'm able to increase temps rather quickly and I wasn't positive that I was picking up a ton of complexity employing a single decoction anyway. This will make for a much less complex brew day.

Target OG: 1.051
Target FG: 1.010
IBU: 30
ABV: 5.1%

8.00# Rahr North Star Pils
0.25# Weyermann Munich I
0.25# Weyermann Melanoidin malt
20g Hallertauer Mittelfruh 3.2%AA (FWH)
14g Aramis 7.4%AA (60 min)
24g Aramis 7.4%AA (0 min)
1g BrewTan B (Mash)
Whirlfloc (Flameout)
Wyeast Nutrient (10 min)
4.66g BCAA (10 min)
Zinc Buddy
LalBrew NovaLager™

Step Mash
Mash in at 145°F and hold for 30 minutes.
Increase Mash temp to 159°F, hold for 20 minutes.
Mashout at 168F.
90 minute boil, ferment at 50°F

Water Profile
Target Water Profile
Ca Mg Na SO4 Cl HCO3
22 8 0 31 39 0




To 11 gallons of RO/Distilled water, add:
  • 3.3g Epsom Salts
  • 3.3g Calcium Chloride

Session Readings
Equipment used10 gal MT
Strike water volume4.25 gal
Strike water temp156.4 °F
Mash thickness2 qt/lbs
Beginning mash pH5.27
Ending mash pH4.98
1st running gravity13.9 (1.055)
Volume into BK7 gal
Pre-Boil gravity9.4 (1.036)
Pre-Boil pH5.34
Post-Boil gravity13.3 (1.052)
Post-Boil pH5.39
Aeration0.5 l/min for 2 min
Post ferm gravity6.3 (1.008)
Post ferm pH4.56

Brewing Notes

Initial mash pH measured 5.59. I added 2ml of phosphoric acid, waited about 5 min, then re-measured and the pH had settled at 5.27. I programmed a new "German Step" profile into my BCS-460 and it worked awesome. I didn't set a stopwatch, but rise time was pretty short; I've said it before and I'll say it again, brewing on a 240v RIMS is pretty awesome. 


No major issues with this batch. I was able to chill down to about 52.5F, so hopefully my ferm fridge will be able to take it down to 50F. If not, I'll start fermentation at 52F. Even though this yeast is supposed to produce low diacetyl, I still plan to bump up the temps a bit when gravity is around 1.018 as measured on the Tilt. That's my standard approach for lagers and I believe it helps ensure any fermentation byproducts get cleaned up.

Update 5/4/2026

As I suspected, I had a hard time getting temps down to 50F, so I'm fermenting at 52F. It did get down to about 51.2F at one point but I figured I'd give my fermentation fridge compressor a break and go with 52F. Temps are holding steady and it looks like the yeast are coming out of the lag phase this morning as I'm seeing a slight dip in gravity.

Update 5/5/2026

I was seeing slight gravity drop throughout the day yesterday, but nothing too crazy and also very little positive pressure on the fermenter. I am seeing more activity today, including positive pressure, and what appears to be some wobbling on my Tilt. Current gravity reading is 1.035 on the Tilt.

Update 5/6/2026

I bumped the temp up to 53F before I went to bed last night. This morning the gravity is reading ~1.026. If it continues at that rate, I'll probably be raising temps to about 63F before the weekend.

Update 5/7/2026

This morning the current reading on the Tilt is 1.013. Fermentation has been super active with lots of wobbling on the Tilt with gravity measurements ranging between 1.015 and 1.010 just within the last couple of hours, so I suspect the actual gravity is closer to 1.015. I bumped the temps up to 62F this morning and I'm allowing it to free-rise.

Update 5/25/2026

This beer was kegged today. Honestly, I think it could have been kegged a week ago but I didn't have time.

Read more...

Mixed Ferm Rye Saison

>> Saturday, April 11, 2026


Today I’m brewing a Rye Saison, and the part I’m most excited about is the yeast; I’m using the Mad Fermentationist Saison Blend from Bootleg Biology. While Bootleg Biology appears to have scaled back their homebrew offerings in favor of commercial pitches, I was able to get some of this blend a while back.

This culture is a mix of Saccharomyces, Brettanomyces, and lactic acid bacteria, and it has a strong reputation. I propagated the blend to bank some for future use, so the ratios are likely different from the original pouch.

The BJCP describes Saison as:
A family of refreshing, highly attenuated, hoppy, and fairly bitter Belgian ales with a very dry finish and high carbonation. Characterized by a fruity, spicy, sometimes phenolic fermentation profile, and the use of cereal grains and sometimes spices for complexity. Several variations in strength and color exist.
As that suggests, there’s quite a bit of stylistic flexibility. This version will be lighter in color and moderate in strength, with some noticeable spice and peppery phenolics from the mixed culture. I’m not expecting much Brett character when the beer is young, but it should develop more classic Brett complexity with age.

The recipe itself is intentionally simple: Pilsner, Vienna, and Rye Malts, with straightforward hop additions. Most of the complexity should come from the fermentation character rather than the grist or hopping. I'm also using rice hulls since rye is a huskless malt and like wheat, has a tendency to gum the mash.

Even though this is a mixed culture, I’m not expecting significant sourness. The hop additions should suppress the lactic acid bacteria, keeping acidity in check. I’m also mashing slightly higher than typical for a Saison. While the style is usually very dry, my propagation starter finished below 1.000, so this is a hedge against the beer ending up too thin.

I’m considering adding a grapefruit tincture to half the batch, but I’ll make that call after tasting.

Like some recent brews, I’m also using ingredients I already have on hand as part of an effort to reduce my grain inventory.

Here’s the beer as I’m brewing it today:

Target OG: 1.060
Target FG: 1.005
IBU: 29.2
ABV: 7.3

6.5# Solstice Pilsner Malt
0.8125# Weyermann Barke Vienna Malt
2.4375# Mecca Grade Rimrock Rye Malt
Rice Hulls (a few handfuls)
56g Styrian Goldings 2.5 AA (60 min)
2ml Hopshot (60 min)
28g Styrian Goldings 2.5 AA (10 min)
1g BrewTan B (Mash)
Whirlfloc (Flameout)
Wyeast Nutrient (10 min)
4.66g BCAA (10 min)
Zinc Buddy
Bootleg Biology The Mad Fermentationist Saison Blend

Mash at 151F, 90 minute boil, chill to 65F, aerate and pitch yeast. Ferment at 65F ramping up to 70F over a few days.

Water Profile
Target Water Profile
Ca Mg Na SO4 Cl HCO3
 124  6.6   3.6   198.3   97.7  0

We're shooting for a 2:1 sulfate to chloride ratio to help accentuate bitterness while ensuring a crisp finish. To 11 gallons of RO/Distilled water, add:
  • 12.9g Gypsum
  • 0.4g Pickling salt
  • 2.8g Epsom salt
  • 7.9g Calcium chloride

Brewing Notes

I hit strike temp only a couple of degrees low (~149) which is what I prefer; it's easier to raise the MT a couple degrees than try to lower the temp. The RIMS quickly got it up to 151 after I started recirculating. I added 1ml of 85% Phosphoric Acid to the mash after taking the initial pH reading. I also added 2ml of Phosphoric Acid to the HLT for the sparge water. Everything else went well until it was time to aerate and my O2 cylinder was empty. I used my old aquarium pump, but it definitely doesn't work as well as pure O2. I'd be a little more worried if this was a pure sacc pitch, but brett tends to do ok with lower aeration levels. Also, the propagated starter got quite a bit of O2. I also boiled a little bit of DME this morning and added it to my starter after decanting, so I'm hoping the yeast already had enough O2 to be healthy, but time will tell. Gravity came in 2 points under target, but not a big deal at all.  


Session Readings
Equipment used10 gal MT
Strike water volume5 gal
Strike water temp166 °F
Mash thickness2.05 qt/lbs
Beginning mash pH5.34
Ending mash pH5.21
1st running gravity15.8 (1.063)
Volume into BK6.75 gal
Pre-Boil gravity12 (1.047)
Pre-Boil pH5.19
Post-Boil gravity14.6 (1.058)
Post-Boil pH5.24
AerationN/A
Post ferm gravity6.3 (1.005)
Post ferm pH 4.07

Update 4/12/2026
I’m not using a Tilt on this batch because they’re plastic and I can’t sanitize them with heat. Instead, I’ve been checking for signs of fermentation, primarily a bubbling airlock. I hadn’t seen any bubbling yet so I peaked into the Brew Bucket (BB) and it has a bunch of krausen. I’ve occasionally experienced poor sealing on the built-in PRV on the BB domed lids and that appears to be the issue again. To remedy this I applied a little keg lube and hit it with some StarSan and instantly started getting bubbles in the airlock.

Update 4/14/2026
I'm still seeing quite a bit of bubbling through the airlock, so fermentation hasn't wrapped up. I decided to pull a small sample and the flavor profile is exactly how I wanted it. There's some of that classic "Belgian" character, but it's not so over the top that you can't taste anything else. I was also surprised to see there was some noticeable acidity. I haven't taken a pH measurement yet, but I'd speculate it's somewhere around 3.5 ± 0.05. I'll take a reading once fermentation activity wraps up. 

Update 4/16/2026
Fermentation activity has dropped quite a bit. I won't have time to transfer out of the fermenter this coming weekend, so it'll probably hang out there for another week or so.

Update 4/21/2026
Poured a small sample today to test gravity and pH. Gravity may still drop a bit more since we're talking brettanomyces, but it's currently reading ~6.3 on my refractor which yields a corrected gravity of 1.005. pH is a little higher than I perceived at 4.07. I'm really liking the yeast blend's fermentation profile and can understand why it's so popular. You definitely get some classic "Belgian" esters and phenols, but it doesn't dominate. I do get some Brett character even though it's young and I'm excited to see how it evolves over time. I'm really glad I used a simple grain bill with this so as not to muddy the finished beer. I think this is a really good candidate for treating a portion with grapefruit, so I'm going to start on that.

Update 4/24/2026

I started my grapefruit tincture today. It's pretty straightforward, I use a Swiss style vegetable peeler to remove the zest from the fruit. It does a great job of just removing the outer zest but leaves the pith behind. I then place the peels in a small airtight jar and cover with a decent vodka. Everclear also works but I like to dilute it down to Vodka strength (~40% ABV/80 proof) because I find it can extract unwanted compounds at higher ABV/proof. I like to shake it about once per day and keep it stored in a cool dark place. 5-7 days tends to be the sweet spot for extraction.  After that, strain out the solids and store in a cool dark place until ready to use.

Update 4/30/2026
I kegged this beer this evening. I used two of my smaller kegs (2.6 gallon and 3-ish gallon) as part will be dosed with my grapefruit tincture and the other won't. Speaking of, the peels were removed from the tincture last night. I'll carb up the kegs then figure out the appropriate dosage of tincture to use. I'm guessing it'll end up being somewhere between .5-1ml/l of beer.

Read more...

Rum Barrel Imperial Stout

>> Sunday, March 22, 2026


Today I'm brewing a version of WeldWerks Achromatic Stout that I've brewed in the past. This is an Imperial Stout, and this will go into a recently acquired rum barrel I got from nearby Cotherman Distilling Co. in Dunedin, FL. This is a big beer, but still drinkable and I think it'll work really well in a rum barrel.

My new-to-me rum barrel is only 5 gallons, smaller than I usually like to use; I prefer 10 gallons at a minimum, but preferably 15 and 30 gallon barrels. Reason being, the well-documented fact that volume to surface ratio isn't ideal with smaller barrels. First, they tend to extract wood character much more quickly so over-oaking can be a concern. Second, you tend to have larger losses to Angel's Share, increasing headspace which can lead to oxidation issues with long-term aging. This barrel has already gone through a few fills, so the risk of over-oaking is reduced. To reduce the risk of oxidation and Angels' Share losses, I decided to wax the entire barrel (both heads and all staves) with beeswax. This will reduce micro-oxygenation via capillaries in the wood, so it should allow me to age the beer longer than if it wasn't waxed. I've used this method on other smaller barrels and it's worked great. 


My process for waxing a barrel is melting beeswax or paraffin in a double boiler, painting it onto the exterior of the barrel (spread it as thin as possible while coating the wood evenly), then hitting it with a heat gun. The heat gun will re-melt the wax allowing it to penetrate into the wood and excess wax to drip off the barrel. Oh, one note here, be sure to spread out a tarp, drop cloth, or something similar to protect surfaces from dripping wax. For a small barrel like this, I used a large piece of aluminum foil to catch dripping wax. 


Here's the recipe as I'm brewing it today, which is a slightly different version than the previous versions:


Target OG: 1.105
Target FG: 1.030
IBU: 45
ABV: 10.0%

13.625# Crisp Marris Otter
14oz Simpsons Chocolate Malt (*cold steeped)
14oz Weyermanns Chocolate Rye Malt (*cold steeped)
14oz Crisp Pale Chocolate Malt (*cold steeped)
14oz Simpsons DRC
11oz Simpsons Light Crystal
11oz Flaked Oats
3oz Crisp Roasted Barley (*cold steeped)
42g Magnum (FWH)
1g BrewTan B (Mash)
Whirlfloc (Flameout)
Wyeast Nutrient (10 min)
4.66g BCAA (10 min)
LalBrew® House Ale Yeast
Zinc Buddy




Cold steep roasted grains (1lbs/2qts RO/Distilled water) overnight. Last time I added the cold steeped liquor near the end of the boil and it diluted the wort quite a bit. This time I'm adding it at the beginning of the boil.

Mash at 153F, collect ~7-7.25 gallons pre-boil volume (including steeped dark grains), 120 minute boil. Start fermentation at 60F, ramping up to 65F over 5 days. Transfer to CO2-purged barrel once primary fermentation is complete (~2 weeks). I plan to start tasting samples at about the 2 month mark in the barrel. 

Note: This recipe is based on the Chocolate Achromatic Stout, but it works well without the chocolate additions. For the Chocolate version (5 gallons), add 8oz of roasted cacao nibs and one vanilla bean after fermentation is complete. Leave cacao in for 1-3 days (taste daily) and remove when desired character is achieved. Leave the vanilla bean in for 2-3 weeks then transfer for packaging. Or...do The Bomb Tincture method which simplifies the process and yields excellent results. 

Water Profile
Target Water Profile
Ca Mg Na SO4 Cl HCO3
50 5 33 35 45 140

The last time I brewed this was in Utah where the tap water is great for brewing dark beers. Florida has pretty hard water which is usually great for dark beers as well, but it can be a little sulfury. I'm going to use Beersmith's Black Full water profile for this beer. To 11 gallons of RO/Distilled water, add: 
  • 3.6g Epsom Salt
  • 3.8g Calcium Chloride
  • 5.6g Baking Soda
  • 2.9g Chalk

Brewing Notes

My first runnings gravity was much lower than in the previous batch. I suspect channeling through the grain bed may have occurred. I usually add rice hulls but skipped them this time, which is likely the cause of the unexpectedly large drop from target gravity. To compensate, I had some dark DME on hand in case the end-of-boil gravity fell short of my 1.105 target. With about 10 minutes left in the boil, I added 1.25 lb of Briess Traditional Dark DME. For future batches, I may switch to my 20-gallon mash tun, as the shallower grain bed should reduce compaction and the risk of channeling  

Starting volume in the kettle was about 7.25 gallons.

Session Readings
Beginning mash pH 5.27 
Ending mash pH 5.25 
1st running gravity 22.2 (1.090)  
Pre-Boil gravity* 15 (1.059)
Pre-Boil pH* 5.19 
Post-Boil gravity26 (1.106) 1.1059 per Tilt 
Post-Boil pH 4.96 
*After adding steeped grain liquor.

Update 3/23/2026
Per the Tilt, gravity has dropped about 5-7 points as of this morning and I'm seeing active signs of fermentation in the airlock. I had considered giving it another dose of oxygen this morning, but seeing the fermentation is quite active I decided to skip it.

Update 3/24/2026

Per the Tilt, the gravity is down around 1.085 this morning. I went to bump the temp up slightly and saw I had a mess to clean up due to the super active fermentation. Safe to say there are some happy yeast in there. I haven't had a messy blow-off like this since I got the domed lids and fabricating 1/2" stainless blow-offs for my fermenters. I've temporarily removed (and cleaned) my airlock setup. I'll probably reinstall it later today assuming it still isn't actively blowing krausen.

Update 3/25/2026
Krausen blow-off started slowing down late yesterday and seems to have stopped overnight, so I’ve cleaned and reinstalled my airlock setup. Per Tilt, gravity is down around 1.046 this morning. 

Update 4/6/2026
Gravity seemed to finish at about 1.036. I have left it in the fermenter and it's been slowly creeping down to about 1.033 and seems to be approaching 1.032. I'll probably look to transfer the beer to the barrel later this week.

Update 4/14/2026
I transferred this beer to a purged keg tonight to get it off the yeast cake. It'll also make it a little easier to transfer to the barrel, probably later this week. Speaking of, I popped the bung out of the barrel about a week or so ago and the aroma was AMAZING! I also installed a Vinnie nail so that I can take samples once it's filled. 

Transfer to the keg was more trouble than it should have been. I recently got a FLOTit and installed it in the keg I intended to use for this beer.  That same keg was also fitted with some replacement posts with universal poppets. Well, apparently the spring on the liquid post was too long. In order to install the disconnect I had to fully compress the spring which blocked the flow. Fortunately I had another keg ready to go, so I purged it then transferred the beer from the fermenter. 

I also trimmed the bottom coil off the spring of the original keg and retested the connection and this time it worked well without blocking the flow; so that keg should be good for a future beer.

Update 4/18/2026
I transferred to the barrel tonight. I decided to run the barrel through a couple short steaming sessions to make sure it was still watertight. I try to avoid this whenever possible because you definitely blow off some aromatics, but I figured that was better than ending up with a leaky barrel. 

I purged the barrel for about three and a half minutes before filling. I definitely lost some volume with the blow-off during primary. I may brew another batch, possibly three gallons so I can fill all the way to the bung. Right now I’d guesstimate it could take another 1-1.5 gallons in the barrel. I purged the headspace for about another 90 seconds before installing the bung. The FLOTit worked really well and as they claim, it hardly leaves any beer behind.

Update 4/25/2026
I did a small-batch re-brew today so that I can make sure the barrel is completely full.  This was a 3 gallon batch. No real issues with the brew session other that small batches are always a little different. I decided to take a simpler approach and just mash all grains together rather than steep the dark malts separately. Here are the session readings for the re-brew portion.

8# 3oz Maris Otter 
8.4oz (238g) Simpsons Chocolate 
8.4oz (238g) Weyermann Chocolate Rye 
8.4oz (238g) Crisp Pale Chocolate 
8.4oz (238g) Simpsons DRC
6.6oz (187g) Simpsons Light Crystal
6.6oz Flaked Oats
1.8oz Crisp Roasted Barley
28g Magnum (FWH)
1.18# Briess Dark Malt Extract (10 min)

Re-brew Session Readings
Beginning mash pH 5.25 
Ending mash pH 5.19 
1st running gravity 18.4 (1.074)  
Pre-Boil gravity 15.2 (1.060)
Pre-Boil pH 5.15 
Post-Boil gravity 27.1 (1.112)  
Post-Boil pH 4.98 
Other Re-brew Notes:
  • Milled twice because I noticed I had some grains stuck between the drive roller and side of the mill.  
  • Strike water volume was 5 gallons, 7 gallons total brewing water.
  • Pre-boil volume into BK was ~5.25 gallons.
  • Post-boil volume into fermenter ~3 gallons
  • Smaller volumes heat and cool quicker!
Update 4/25/2026 8:20PM
I pitched the yeast at about 2pm this afternoon and I'm seeing signs of active fermentation with a couple bubbles per second. This House Ale Yeast is truly a workhorse and I really like its clean fermentation profile.

Update 5/1/2026
Barrel was topped off tonight with the re-brew batch. I have some leftover to top off if needed.

Read more...

Blonde Ale 2026

>> Saturday, February 07, 2026

AI Representation of SRM

Today I'm brewing another style that I really haven't brewed before, a Blonde Ale. This style is an easy drinking, lightly hopped, lightly colored ale. I used to joke that a Blonde Ale is essentially an ale version of a Standard American Lager, and it kind of is. The BJCP guidelines describe the style as follows: 

Easy-drinking, approachable, malt-oriented American craft beer, often with interesting fruit, hop, or character malt notes. Well-balanced and clean, is a refreshing pint without aggressive flavors. 

With warm weather returning to Florida in the not too distant future, this should be an easy drinking and refreshing "lawnmower" beer. I'm also planning on entering this beer in some upcoming competitions.

One other note, equipment update today! I replaced my 12-ish gallon stainless mash tun with a newly acquired Blichmann G2 kettle/mash tun that also features a Blichmann Autosparge setup. I already had a 20 gallon Blichmann G1 kettle/mash tun that I got from my buddy Jerry back in Utah. I primarily use it for larger batches and high gravity batches. I love all the features on it like the sight gauge, the heavy duty false bottom, and easy to clean and adjust linear flow valve (I replaced the original ball valve with the linear flow valve). I'm excited to have these same features in a smaller format. The Autosparge is an added bonus and will help ensure the inflow of sparge water always matches the outflow of mash liquor from the mash tun. During the sparge, I try to shoot for about 1" of sparge water on top of the mash. This has always proved difficult to maintain as it required constant adjusting of the inflow and/or outflow to maintain the proper depth. The Autosparge should greatly simplify things.

Lastly, to give credit where credit is due, this recipe is based on the gold medal beer by Zachary Miller. I'm using Proximity Pale malt instead of Rahr Pale malt, and Solstice Pilsner malt instead of Weyermann Pilsner malt. I also didn't realize CaraHell wasn't available locally, so I'm substituting Rahr Dextrine and Crisp CaraMalt in place of 0.5# Weyermann Carahell. I'm using House yeast instead of Omega OLY-011 British Ale V. Here is the recipe as I'm brewing it today.

Target OG: 1.049
Target FG: 1.009
IBU: 17.2
ABV: 5.3

3.75# Proximity Pale Malt
2.75# Solstice Pilsner Malt
1.875# Weyermann Munich I
6oz Rahr Dextrine Malt
2oz Crisp CaraMalt
1g BrewTan B (Mash)
7g Citra (FWH)
7g Citra, (5 min)
28g Centennial (25-min hop stand @160F)
Whirlfloc (Flameout)
Wyeast Nutrient (10 min)
4.66g BCAA (10 min)
LalBrew® House Ale Yeast 
Zinc Buddy

Mash at 149F, acidify mash liquor to a pH of ~5.3. Chill to ~63F, then oxygenate well and pitch yeast, Zinc Buddy, and ferment at 65F for 2 weeks. 

Water Profile
Target Water Profile
Ca Mg Na SO4 Cl HCO3
69 0 8 38 97 10

To 11 gallons of RO/Distilled water, add:
  • 8.0g Calcium chloride 
  • 2.9g Gypsum
  • 0.4g Pickling salt
  • 0.6g Baking soda

Brewing Notes

No issues during this session. New mash tun (MT) is awesome. Being able to accurately measure strike water volume is great and makes hitting the desired mash temp a lot easier. My HLT has volume markings, so I was able to ballpark it with the old MT, but being able to see the volume on the MT itself is definitely better. I was shooting for a mash thickness of about 1.5 quarts per pound (3.32 gallons strike water into the MT). Given the volume that the pump, hoses, and RIMS hold, this was a little thick. Volume was showing about 2.25 gallons on the sight gauge after I started recirculating (didn't even reach the temp probe). Next time I'll probably shoot for 1.75-2 quarts per pound and see how that does. On my old HERMS configuration I usually did 1.75-ish quarts per pound and that worked well, but it also held less volume than the RIMS Rocket.

Everything else went great during the brew day. The Auto-sparge is a game changer when fly sparging. I know lots of people prefer to batch sparge (or even no sparge) but I've always done fly sparging and this Auto-sparge works exactly as I expected it would. If you fly sparge, I can't recommend the Auto-sparge highly enough. 

One other thing I forgot to mention, I shorted my mash time from 60 minutes to 40 minutes. I've seen lots of articles explaining most starch conversion is usually completed within 20-30 minutes. Additionally, I've read that conversion is typically faster when you do a recirculating mash like mine, so I decided to try taking it down to 40 minutes. 

Session Readings
Beginning mash pH 5.20 
Ending mash pH 5.21 
1st running gravity 20 (1.081) 
Pre-Boil gravity10.1 (1.039) 
Pre-Boil pH 5.28 
Post-Boil gravity13.8 (1.054) 
Post-Boil pH 5.19 

Update 2/9/2026
Fermentation is moving along nicely. Gravity is reading ~1.015 on the Tilt this evening, but it's read as low as 1.003, so it's been a pretty active fermentation. Assuming it fits the same timeline as the last batch with this yeast, gravity readings will likely start to stabilize tomorrow.

Update 2/20/2026
This beer went into the keg today with Biofine. Based on the sample I pulled off the fermenter, I think this is going to be a great warm weather beer. I'm currently planning on filing a few bottles and putting it into a couple comps once it's carbed.

Update 4/25/2026
This beer won silver at the 2026 Hurricane Blow-off Competition.  

Read more...

My Milk Stout Brings All The Boys To The Yard - 2025

>> Sunday, December 28, 2025


Today I’m brewing a beer that I really love, and haven’t brewed recently, my Golden/Blonde Milk Stout. I’ll be donating this beer to pour at a local homebrew festival in February. If I’m remembering correctly, this beer took bronze at Beehive Brew-off for Spice Herb and Vegetable Beer at least two years in a row, but I’m pretty sure it was actually three years in a row. It was also a crowd favorite at our club booth at the Mountain Brewers Beer Fest in Idaho.

One of the things I love about this beer is that the color looks like a pale ale, but the flavor and aroma are straight up rich and roasty stout due to the coffee toddy and the bomb tincture. It tastes and smells so different from how it looks, it’s a complete mind f’ beer. It leans sweet and malty, but not cloying. Today’s version has a couple minor tweaks compared to the last version. I’m using Proximity Pale Malt instead of Maris Otter, which will likely result in a little less malt-derived perceived sweetness. I'm also toasting the flaked oats, something I've always wanted to try but apparently never planned far enough ahead. The maillard reactions that occur when toasting oats is said to give you more complexity including some nuttiness that you don't get without it. More info on the process below. I’m using LalBrew® House Ale for the yeast. House Ale is described as follows:
LalBrew® House Ale is a next-generation performance yeast strain that is extremely fast and incredibly clean, making it the perfect versatile house strain to meet your brewing needs.

Selected by our partner Escarpment Labs (ON, Canada) for its superior fermentation performance, this strain allows brewers to achieve greater efficiency with faster fermentations, shorter maturations, high stress tolerance, excellent repitchability, and quick cleanup of off-flavors like acetaldehyde and diacetyl.

LalBrew® House Ale is suitable for a wide range of beer styles, including IPAs, Blond Ales, and Stouts, due to its neutral fermentation profile.
  • Faster fermentations – to save time and space.​ 
  • Shorter maturation times – accelerated clean-up of diacetyl and acetaldehyde.​ 
  • High stress tolerance – capable of handling difficult fermentations.​ 
  • Excellent repitchability – genetically stable and proven consistency in key brewing parameters.​ 
  • High FAN uptake – more stable final product.​ 
  • Neutral flavor profile – Versatile for a wide range of ales
Finally, I’m reducing the mash temp slightly because I think it could benefit from a little more restrained sweetness. Also, I tend to shoot for more tailored water profiles nowadays, so this will use the Amber Balanced (7-17 SRM) profile from Beersmith. Hopefully this beer is as well received here in Florida as it was in Utah and Idaho. Here’s the recipe as I’m brewing it today:

Target OG: 1.070
Target FG: 1.020
IBU: 19.1
ABV: 6.4

8.75# Proximity Pale Malt
1.00# Flaked Oats (either toasted or untoasted)
1.00# Gambrinus Honey Malt
1g BrewTan B (Mash)
0.75 # Lactose (10 min)
3.0 ml Hopshot (60 min)
14g EKG (10 min)
28g EKG (0 min)
Wyeast Yeast Nutrient
4.66g BCAA (10 min)
Whirlfloc
LalBrew House Ale
Zinc Buddy
Coffee Toddy (at kegging)
The Bomb Tincture (at kegging)

Mash at 152F, 90 minute boil, ferment at 61F, raising temps to 66F over the course of a week.

Toasted Flaked Oats Instructions
As mentioned above, toasting the flaked oats can add a layer of complexity to your beers. Joe Aruscavage was a member of my homebrew club back in Utah and employed this technique in most of his beers that called for flaked oatmeal, including his award-winning Oatmeal Stout. I'd always wanted to try it myself, but most brewers will recommend you do it a few days in advance as the character from the toasted flaked oats improves when left out to breath over a few days. In my case, I always forgot to do it a few days ahead of my brew day, so this is my first time trying it. Here's the process I'm using:
  1. Set oven temp to 325F.
  2. Use a cookie sheet and spread the oats out into an even layer. You can optionally line the pan with parchment paper which can make it a little easier to remove the oats after you're done toasting.
  3. Transfer the pan to the oven and set a timer for 10 minutes. 
  4. After 10 minutes, remove from the oven and give it a gentle stir with a spatula. Spread it back out evenly and put it in the oven for another 10 minutes.
  5. After 10 minutes, remove it again and give it another stir before returning it to the oven for the final 10 minutes (30 minutes total).
  6. Remove the pan and let it cool.
  7. Transfer the oats to a fine mesh, paper bag, or even a grain sock. Being in Florida and the multitude of little critters we have, I put mine into a fine mesh paint strainer bag. Allow them to breathe/off-gas for at least three days, and up to a week before brewing. 
Note: The aroma coming off the toasted oats was pretty amazing. Similar to oatmeal cookies but without sweetness and additional spices. I'm really excited to see how this impacts the finished beer.

The Bomb Tincture Instructions 
6 oz Vodka - Any decent one will do
1 Vanilla Bean, split and scraped, chopped into 1/4” pieces
3 oz Cacao Nibs - I prefer TCHO Roasted Cacao Nibs
  1. Mix the vodka and vanilla bean (and parts) in a tight sealing jar like a jelly jar or mason jar. Shake every day, several times, for 7 days. 
  2. Add the nibs for another 4 days, continue to shake everyday.
  3. Strain the nibs and vanilla out of the dark extract. I have a stainless steel pour over coffee filter that I like to use. Discard solids.
  4. Place the extract in the freezer overnight.
  5. In the morning, carefully scrape out the fat cap that may have formed and discard. I don’t usually get a fat cap with TCHO nibs, it just depends on the fat content.
  6. I use the entire tincture in this beer and add at packaging along with Coffee Toddy.
Coffee Toddy Instructions
I like to use Ethiopian beans for the toddy because I never seem to get the dreaded green pepper character with them. For this batch, I decided to go with Ethiopian Guji Wush Wush from a local roaster named Day of the Dead (D.O.D.) Coffee Roastery. D.O.D describes this coffee as follows:

Sourced from the Guji region of Ethiopia, these beans are meticulously roasted to perfection, resulting in a vibrant and aromatic cup of coffee. With notes of floral jasmine, ripe berries, and a hint of citrus, this medium roast is perfect for any coffee enthusiast looking to elevate their morning routine. Enjoy the unique taste of Ethiopia with every sip of our premium Guji Wush Wush coffee.


Flavor Notes: Berry, Strawberry, Red Wine, Jasmine, Dark Chocolate

For 5 gallons of beer you’ll need:
3 oz fresh coarsely ground beans
3 cups RO or filtered water
  1. I usually bring the water to a boil in a microwave safe measuring cup for sanitizing as well as driving off O2, then chill.
  2. Add the chilled water to a French press then add ground coffee and cold steep in the fridge for 24 hours.
  3. Add to beer at packaging.

Water Profile
Target Water Profile
Ca Mg Na SO4 Cl HCO3
50 10 15 75 63 40
To 11 gallons of RO/distilled water, add the following salts:
  • 2.6g Gypsum
  • 4.3g Epsom salt
  • 5.4g Calcium chloride
  • 2.3g Baking soda
Brewing Notes
Mash pH was low so I added 1/4 teaspoon of chalk after the initial pH reading. I waited about 15 minutes then took another reading and it was at 4.98. I added about 1/8t of chalk then took another reading after about 15 minutes which read 4.99. Rather than risk overdoing it with the chalk, I decided to leave it as is. In hindsight, I should have checked pH before adding an acid to the mash. No other issues with this brew session. I chilled down to about 54F then let it sit for 15 minutes before transferring to the fermenter. By the time I got yeast pitched and wort oxygenated, the temp was 62.8F. 

Session Readings
Beginning mash pH 4.85
Ending mash pH 4.98
1st running gravity 21.4 (1.087)
Pre-Boil gravity 11.2 (1.0 44)
Pre-Boil pH 4.98
Post-Boil gravity 17 (1.068)
Post-Boil pH 4.92

Update 12/29/2025
Gravity is down to approximately 1.061 from an OG of 1.068 today. I bumped the temp controller on my fermentation chamber by 1F this morning.

Update 12/30/2025
Gravity is reading 1.04013 this morning on the Tilt. Fermentation seems to be pretty active as I'm seeing some wobbling in the readings, so I suspect the actual current gravity may be a point or two higher, but it's in the ballpark.

Read more...

British Brown Ale 2025

>> Sunday, December 07, 2025

Today I'm brewing another beer designed around using up some specialty malts that I've collected. Like my recent Irish Extra Stout, this recipe is based on an NHC medal winner. This one is based on Jarrett Long and John Bates entry named Cheerio British Brown Ale, gold medal winner in 2024 NHC. For this beer I'm using the Brown Balanced (18-30 SRM) water profile in Beersmith. This should help support the malt character without being overly sweet/malty. The 2021 BJCP guidelines describe the style as follows:
A malty, caramelly, brown British ale without the roasted flavors of a Porter. Balanced and flavorful, but usually a little stronger than most average UK beers. 

I don’t believe I’ve ever used Crisp Brown Malt before. This is one of the malts I got in a judge grab bag and have been wanting to try it out in a recipe. On the Crisp website it includes the following descriptors:

Lightly roasted flavor notes, milky coffee undertones, hits of sweet pastries. The color is produced in the same manner as Amber, but is roasted for a slightly more extended period to achieve a nutty, roasted dryness with a light brown hue, perfect for brown ales and mild beers. 

I tasted a few grains and I’d say it’s definitely roasty, surprisingly so considering it’s a light brown color. That said, it’s not a harsh roast like you might get with darker roast malt. I think it’s going to go really well with the malt contribution from Maris Otter and Crystal malts. 

I went with 11 gallons distilled water for this recipe. That’s more water than I really need but I want to make sure my volume into the fermenter is as close to 5 gallons as possible. I'm also going to keep a close eye on boiling vigor so that I don’t end up with overly 

Target OG 1.052
Target FG: 1.013
IBU: 24
ABV: 5.1

7 lb 1oz Crisp Maris Otter
11 oz Crisp Brown
11 oz Crisp Crystal 60
3 oz. Simpsons Pale Chocolate
1g BrewTan B (Mash)
2 oz. East Kent Goldings (60 min)
4.66g BCAA (10 min)
Yeast Nutrient
Whirlfloc
Zinc Buddy
Lalbrew Verdant IPA

Mash for 60 minutes at 152°F. Ferment at 65°F for 10 days.

Water Profile
Target Water Profile
CaMgNaSO4ClHCO3
501027705590

To 11 gallons RO/distilled water, add the following:
  • 1.87g Gypsum
  • 4.73g Epsom salt
  • 4.73g Calcium chloride
  • 4.4g Baking soda
  • 0.99g Chalk
Brewing Notes
A couple minor issues today. One of my temp probes, the one I was using on the BK developed a short, so it was reading sporadic temps. I was able to position the wire in a way that it started reading consistent albeit a little lower than actual temps (196 vs 207). The other issue, I had this blog post open on my tablet and my phone and I didn’t realize it wasn’t saving my gravity and pH readings for the middle measurements, so those were from memory and may not be entirely accurate. 
Other than that, things went well. Chilling also worked well again. The post-boil gravity read ~ 13.8/1.054 on the refractometer whereas the Tilt put it spot on at 1.052.

Session Readings
Beginning mash pH 5.18
Ending mash pH 5.20
1st running gravity 16 (1.064)*
Pre-Boil gravity 9 (1.035)*
Pre-Boil pH 5.2*
Post-Boil gravity 13.8 (1.054); Tilt=1.052
Post-Boil pH 5.13

Wort has been oxygenated, yeast pitched, Zinc Buddy pitched, and it’s in the ferm chamber sitting at 64F.

Update 12/8/2025
Gravity is reading 1.042 this morning on the Tilt. It started showing signs of gravity change about 5-6 hours after pitching, so it seems the yeast pitch was quite healthy and things are moving right along.


I forgot to mention one thing. I bought this app called Multi Timer that's kind of cool. I got it more for coffee roasting, but it essentially lets you set multiple timers, group them, and start them all at once. I've screwed up a couple coffee roasting sessions because I stepped away and forgot what I was doing, or I miss-timed one of the steps. I think it could well for brewing, especially if you have multiple hop additions you're trying to keep track of. This British Brown Ale was super straightforward, but here's an example of how I used it. 

Update 12/9/2025
Gravity is currently reading 1.020. Fermentation has been super active causing the Tilt to wobble and record measurements ranging from 1.020 to 1.035 in a matter of hours. It seems to be settling down today showing more consistent measurements. 

Update 12/14/2025
Gravity is currently sitting at 1.010 per the Tilt. That’s a little lower than I was anticipating so I’ll confirm with a hydrometer and/or corrected refractometer reading when I keg the beer. 

Update 12/22/2025
I'm hoping to get this beer kegged tonight. Gravity per the Tilt is reading 1.008, lower than the listed recipe FG, but within the limits in the style guidelines. I haven't tried a sample yet but I'll do that when I keg it.

Update 4/25/2026
This beer won bronze at the 2026 Hurricane Blow-off competition.  


Read more...

Irish Extra Stout 2025

>> Saturday, November 29, 2025

Thanksgiving weekend brew day! I mostly keep base malts on hand but I've acquired a bunch of specialty grains in judge swag bags, as competition prizes, etc. I decided I better brew some recipes to use up some of these grains rather than perpetually storing them.

For today's beer, I'm brewing an Irish Extra Stout. This recipe is based on one of the medal winning recipes from NHC, specifically Paul’s Irish Extra Stout by Paul Sorice Jr., gold medal winner from 2022. I haven't had a chance to meet Paul yet, but he's in the Pinellas Urban Brewers Guild, the same club I just joined a couple weeks ago. I'm modifying the recipe slightly, including the brewing water (I'm using the Black Balanced (Over 31 SRM) water profile in Beersmith). I don't believe I've ever brewed anything specifically intended to be an Irish Extra Stout, so I'm looking forward to giving this one a try. It's my first time using Coffee Malt in a recipe. The 2021 BJCP style guidelines describe this style as follows:
A fuller-bodied black beer with a pronounced roasted flavor, often similar to coffee and dark chocolate with some malty complexity. The balance can range from moderately bittersweet to bitter, with the more balanced versions having up to moderate malty richness and the bitter versions being quite dry. 
I'm not shooting for an overly dry and bitter version. I'm hoping the selected grain bill and water profile will result in a nicely balanced beer. Here's the recipe as I'm brewing it today: 

Target OG 1.058
Target FG: 1.014
IBU: 36
ABV: 6

7 lb. 14oz Maris Otter pale malt 
6 oz. Carafa III malt (Cold steeped and added to BK during sparge)
6 oz. Simpson's Pale Chocolate malt
6 oz. Briess Victory malt
6 oz Simpson's Coffee malt
3 oz. Simpson's Double Roasted Crystal malt
1.25 oz. (35 g) Cluster, 6.5% AA @ 60 min
0.5 oz. (14 g) Cluster, 6.5% AA @ 15 min
4.66g BCAA (10 min)
Yeast Nutrient (Flameout)
Whirlfloc (Flameout)
Zinc Buddy (Added at pitch)
Fermentis Safale S-04

Mash at 153F. Ferment at 64°F for 12 days. Raise to 68°F on day 13 and hold for 3 days.

Water Profile
Target Water Profile
CaMgNaSO4ClHCO3
5010335744142

As mentioned above, I'm deviating from the water profile listed on the AHA's website. To 10 gallons of distilled/RO water, add the following:
  • 5.4g Epsom salt
  • 3.3g Calcium chloride
  • 5.2g Baking soda
  • 2.7g Chalk
Brewing Notes
No issues other than my gravity is a few points high. I believe this is due to more boil off than I was anticipating rather than higher than normal efficiency. So, I still need to dial that in a bit. I’m happy to say I think I’ve figured out my chilling process. Essentially I’m chilling down to about 99F with groundwater temps. Then I turn the pump on for the pre-chiller setup which is a Blichmann plate chiller connected to an ice water reservoir. With this setup, I was able to chill down to about 57F. I still had quite a bit of ice left too, so I think I could have easily gotten it down to 50F.

Session Readings
Beginning mash pH  5.18 
Ending mash pH  5.18
1st running gravity  16.8 (1.067) 
Pre-Boil gravity  10.5 (1.041)
Pre-Boil pH  5.18
Post-Boil gravity 15.5 (1.061)
Post-Boil pH 5.09

One thing worth mentioning, my Tilt Hydrometers' batteries both died on me before I moved to Florida. I figured I'd address that once I got settled in Florida. I'm happy to say I replaced the batteries, recalibrated both Tilts, and will be using one on this brew. I find Tilts most useful for lager fermentations as it helps me decide when to perform a diacetyl rest, but I use them in my ale fermentations as well. The only time I don't use them is in wild/mixed fermentations, but I may try that at some point if I can find someone looking to offload one for cheap. In Utah I used an old cell phone for logging, but I decided to buy a Tilt Pico to use in place of the phone. The Tilt Pico is a Raspberry Pi-based device that functions as a Bluetooth to WiFi bridge and eliminates the need for a cell phone. The cell phone solution worked ok, but my phone would periodically crash or reboot after an update and I'd lose logging data until I managed restart the Tilt app. I'm hoping the Tilt Pico is more stable.

Update 11/30/2025 7:15AM
Things are moving along today. The current gravity reading is 1.053 and temps are holding at 64F, although temps got as high as 66F for a short period. I may need to recalibrate the probe on my temp controller. I forgot to mention, I added White Labs Zinc Buddy to this batch. I didn't realize WL was selling this product and it was a little hard to find, but a friend of mine uses it and recommended it (more on his beer in an upcoming post). It's basically a sterile zinc solution that you can add directly to your fermenter and it supports yeast health. Here's a link to more info on WL.

Update 12/1/2025 8:00AM
Fermentation is still chugging along. I ended up dropping the temp controller one degree, just in case the probe was slightly off. Current readings from the Tilt are 1.025 and 64F with an average temp of 63.9F. The Tilts do wobble during active fermentation, so it likely isn’t exactly 1.025, but very close to it; for example, there are a couple readings where it recently read 1.027, then 1.024, then back to 1.027 then the most recent at 1.025.

Update 12/2/2025 9:45AM
Fermentation seems to be winding down. I went ahead and raised the temp setting on my controller to 67F and I'm letting it free rise. Current readings are 1.020. I'm hoping to get closer to the stated FG for the recipe, 1.014.  

Update 12/3/2025
Fermentation has definitely slowed, but gravity is still dropping a little bit. Today the tilt is reading a hair below 1.020 at about 1.019551. Yesterday's 1.020 was actually measuring at 1.020580, so about a 1 point drop.

Update 12/7/2025
Today we're at 1.018522 on the Tilt, so still dropping albeit very slowly.

Update 12/14/2025
Gravity is at 1.018522 per the Tilt, so I think fermentation is complete. FG is a little higher than I was shooting for, but I tried a small sample and it doesn’t taste overly sweet or cloying. I’m cleaning a keg and will hopefully get it kegged by end of day.

Update 12/16/2025
I kegged this beer tonight and it was dosed with Biofine. It's supposed to be down in the 50s tonight, so I left the keg under pressure on my back porch. In the morning I'll transfer it to my ferm chamber to continue cold conditioning.

Update 12/22/2025
I poured a little beer off today to get rid of any finings and sediment, then tried a sample. Not gonna lie...I like it a lot. I would say it falls into the bittersweet category. I'm getting lots of dark chocolate character with noticeable coffee notes. Head is tan and persists. Body is full but I don't think it's too full or indicating an attenuation issue, so that's a huge relief.  I'm going to free up some tap space on my kegerator, clean the lines, and put this one on soon.

Update 3/14/2026
This beer took Bronze for Scottish and Irish Beers at the 2026 Coconut Cup competition. Not bad considering it's the first time I've brewed the style.




Update 4/25/2026
This beer took gold at the 2026 Hurricane Blow-off competition.




Read more...