My web based homebrew calculator

Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum

Help Support Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

brun064

Member
Joined
Apr 8, 2011
Messages
17
Reaction score
2
Location
Charleston
Hey guys,

I felt there was a lack of a good web-based brewing software, so I spent some late nights coding one up. I'd like to get your opinions on it. Here is the link:

http://dl.dropbox.com/u/12911/brew.html

It's written in 100% Javascript using AJAX. This is mostly so that it's server agnostic. Here are some of the features:

*Fermentable/hop database based on Brew Target's database
*Brew day summary (all the info you need to brew)
*Mash calculators for infusion, decoction and sparging
*BU/GU calculation and rating
*SRM and color estimation
*OG/FG/ABV calculation
*Save/Load recipes (this uses your browser cache, so if you clear your cache, you will loose your recipes)
*Download recipes to BeerXML
*Import recipes from BeerXML (I have not tested importing from BrewTarget or BeerSmith, so for now, it just works to import XML files that were downloaded from this app).

I'm not trying to make any money of this, it's just something I did for fun in my spare time. Let me know what you think.

Prost,

Bruno
 
One more thing, this software is made to be compatible with smart phones. I tested on the iPhone and iPad. If you have an Android and want to try it, please let me know how it works.
 
The simplicity is astonishing. I'd give it a whirl... very nice!
Is there any way to pull recipes out of the cache? I often clear my cache for a variety of reasons...
Also, I was planning for a pipedream-of-a-website based around brewblogger, but it just did not meet our needs. (too restrictive, not intuitive)
Is there any way we could incorporate/embed this to our site using the sourcecode as a remarkably simple recipe editor for anyone who wanted to use it?

Thanks!
 
Bishop,

The download all link will download the recipes in beerXML. You can paste these back into the import box and it will load all of them. It's not the most graceful solution, but it's the best I could do without a SQL backend.

As for embedding, I released the source under GPLv3. This means that the source is open and yours to use/modify/etc. However if you make modifications/upgrades/etc, you will be required to make that source publicly available as well. Besides that, I only ask that you give me credit if you use it on your site. I'd be happy to help you embed it.

Hope you find the app useful. Thank you for any feedback!

-Bruno
 
Very nice. I'm liking the comprehensive 'brew day info' section, with clear mash instructions. My biggest problem has been coming up with a decent mash schedule. I always come out with too much water, etc.
 
That's actually the reason I wrote this. I was tired of having to click through several pages just to know what my brew day looks like. It's helped to shorten my brew day my at least an hour. The water amounts came in very close for my system (Northern Brewer all-grain system which uses Igloo coolers). I'd like to make some customization for other systems (such as loss in mash tun, grain absorption, etc). So if you have any recommendations for adjusting that, let me know.
 
I really like this, clean, simple and responsive, and i was using my android phone. As you say, some additional fields for grain absorption and maybe kettle loss. On my own spreadsheet I start with a target volume in the fermenter and work backward to suggest a mash and sparge volume of water, considering grain bill size, absorption, boil off and kettle loss.
 
I added fields for grain absorption and mash tun loss. However, the BeerXML standard doesn't have fields for these and there isn't really an intuitive way to infer the information. So the only way to save this data between page loads would be to stray from the standard, which may be a slippery slope (I'm not opposed to it, but I'd like to stay with the standard if possible). I can highlight these fields to make the user aware that the these fields are not auto-populated when loading a saved recipe. I'll keep digging for a solution.

Do the "download" links work on Android? I don't have an Android device to test it.
 
download tried to add string to the url field
download all just reset the page all fields reset. Don't know where it went.

tested on HTC EVO 4G
Maxthon Browser
 
I added a "View XML" button that will display the XML within a text area. You should be able to "Select All" and copy from there. I'll look into the Android download bug once I get an Android emulator up and running.
 
I added fields for grain absorption and mash tun loss. However, the BeerXML standard doesn't have fields for these and there isn't really an intuitive way to infer the information. So the only way to save this data between page loads would be to stray from the standard, which may be a slippery slope (I'm not opposed to it, but I'd like to stay with the standard if possible). I can highlight these fields to make the user aware that the these fields are not auto-populated when loading a saved recipe. I'll keep digging for a solution.

Do the "download" links work on Android? I don't have an Android device to test it.

The BeerXML standard is not locked down, and there were talks regarding mods, but they stalled. The standard only needs to be adhered to rigidly when used as a 'message' to send a recipe to another package. The minimum specs (regarding sugars) needed to share a recipe are kettle volume and efficiency 'to the kettle'. More accurate scaling to a new system can be had by including 'conversion eff' and 'lauter eff' (which includes tun loss, grain absorp, etc). The standard can be modified to stipulate either 'to the kettle' eff, OR 'conv eff' and 'lauter eff' separately (from which 'to the kettle eff' can be calculated).
 
Am I correct in assuming 'Efficiency' is 'to/in the kettle', and 'Batch Size' is 'in the kettle' post boil and chilled?
Edit- Since there are no post boil loss fields, efficiency would have to be 'to the kettle'. Please keep it that way if you add any post boil loss fields. Also, maintain Batch Size as 'in the kettle' (though maybe rename it something more descriptive), and volumes after post boil losses are removed should be named what they are, like 'Fermenter Volume' and 'Package Volume'.

Also, is 'Pre-boil Volume' the volume at boil or mash temps, or corrected to room temps?
 
Pbv is the amount of wort collected
I took a look at the source code, and it appears to use 'room temp' volume. If the 'amount of wort collected' is measured at mash temps or ~boil temps, the volume will be ~4% larger. This is a common issue with using marks on a stick or kettle/sightglass. I don't think anyone has gone to the trouble to mark their kettle/stick to adjust for temperature corrections.

A nice feature is to also give the expected preboil volume as a temperature corrected value- most packages use boiling temps, since most people fire the burner during runoff. Allowing the measuring temp to be specified would be even better, so that the volume check on brewday is easier, especially for BIAB who can't fire the burner during runoff, since there isn't one.

There is an alternate method of using hydrometer readings and volumes at hot temps, but it sounded like a cluster. Taking volume measurements at temp, then correcting; and taking a gravity sample and letting it cool, or using a refract is much less confusing.
 
You are correct that the app currently does not take thermal expansion into account. If you can provide a formula for calculating the thermal expansion coefficient based on gravity, I could add that in. I will most likely be revisiting the XML import to better account for the exports from commercial software.
 
You are correct that the app currently does not take thermal expansion into account. If you can provide a formula for calculating the thermal expansion coefficient based on gravity, I could add that in.
The issue isn't whether boil or room temp is used, but more of a documentation issue of what is used. That being said, a hot temp value is easier to check on Brewday, while a room temp value is easier to verify boil off rate before brewday. For the hot side measurements, having fields that show a volume at a chosen temp as well as temp corrected would be nice.

I know I saw a expansion equation somewhere, but not sure if it included gravity compensation.

Some guys might start screaming for a temp corrected hydrometer calculator so they can get immediate readings. I say go buy a refractometer for ~$25, although the LHBS prices are much higher. Best ROI of any piece of brewing gear.

I will most likely be revisiting the XML import to better account for the exports from commercial software.
Word of warning- BeerSmith doesn't export BeerXML properly. It is a catch 22, either don't accomodate a fairly large volume of recipes/users, or create a special importer.
 
cwi,

Thank you for the info. Once I find an equation, I can add the adjusted volume to the "Results" section. BeerSmith compatibility would be nice, but since this is a labor of love, I'm not going to kill myself over it. That's mostly the reason I wrote it in JS and released it under GPL. Anyone can expand on it if they like.

BrokenArm,

The OG and FG are listed in the Results section. They are listed as gravity points, not in SG (mostly to save space on mobile platforms). You can divide by 1000 and add 1 to get the familiar 1.0XX numbers. The FG is calculated using the Yeast Attenuation field. If this doesn't work for you, please let me know.

-Bruno
 
cwi,

...anyone can expand on it if they like.


-Bruno

Exactly. OG and FG would be nice, for completeness. However, to account for thermal expansion etc., would be more than what is being offered. I took the pre-boil to mean amount of wort collected @ mash temp. Kinda like on Brew365 :)
 
cwi,

...anyone can expand on it if they like.
-Bruno
Exactly. OG and FG would be nice, for completeness. However, to account for thermal expansion etc., would be more than what is being offered. I took the pre-boil to mean amount of wort collected @ mash temp. Kinda like on Brew365 :)
I wasn't demanding anything be added, just wondering what the value was defined as. I believe I stated that in my posts. The author volunteered to add temp adjusted numbers. I am fine without temp adj values, but it would be nice. This is a trivial enhancement compared to the brew calcs. The hardest part is locating the thermal expansion equation.

OG and FG are there at the bottom. Are you also wanting them up top? That is far more than what is being offered.

As for expanding it- until it is posted on sourceforge or something, it will be hard for someone else to modify the code and have others benefit from any added features.
 
I wasn't demanding anything be added, just wondering what the value was defined as. I believe I stated that in my posts. The author volunteered to add temp adjusted numbers. I am fine without temp adj values, but it would be nice. This is a trivial enhancement compared to the brew calcs. The hardest part is locating the thermal expansion equation.

OG and FG are there at the bottom. Are you also wanting them up top? That is far more than what is being offered.

As for expanding it- until it is posted on sourceforge or something, it will be hard for someone else to modify the code and have others can benefit from any added features.

Nice. Very nice.

Have a great day!
 
brun064 said:
cwi,

Thank you for the info. Once I find an equation, I can add the adjusted volume to the "Results" section. BeerSmith compatibility would be nice, but since this is a labor of love, I'm not going to kill myself over it. That's mostly the reason I wrote it in JS and released it under GPL. Anyone can expand on it if they like.

BrokenArm,

The OG and FG are listed in the Results section. They are listed as gravity points, not in SG (mostly to save space on mobile platforms). You can divide by 1000 and add 1 to get the familiar 1.0XX numbers. The FG is calculated using the Yeast Attenuation field. If this doesn't work for you, please let me know.

-Bruno

1000 apologies to you sir.
 
I'll try to get into sourceforge on Monday/Tuesday. Any suggestions for a witty name? Recursive acronyms are encouraged.
 
Nice and simple! I tried putting a recipe in BS and being a n00b I was having trouble finding my volumes and stuff. I have not made an All Grain batch yet but hope to soon and I think this will make it much faster and easier for me.
 
I think BrewScript might be the winner. Since it's coded in Javascript and the Results section pretty much gives you a "script" for your brew day, it fits pretty well. I'll post the sourceforge link once I get the project up.
 
Hey guys,

I created a SourceForge project at: http://sourceforge.net/projects/brewscript/
This will be the place for development and testing before going live. I also enable anonymous forum postings. This will be the place to post bug reports and feature requests.

I also registered http://www.brewscript.com. This is the live application. It will be updated periodically with the code from the sourceforge project, when it's ready for primetime.

And yes, this will remain free. I may add a donation page or adds to help pay for the hosting fees, but I'm not doing this for the money. I'm doing it for the beer. Sweet, sweet beer.

Cheers,

Bruno
 
Back
Top