andy campbell

BRUNO

Consistency is the key to designing and brewing great beers. Every brewer has their own system for keeping notes, and while my trusty Excel spreadsheet served me well for many years, it wasn't great for designing new recipes and it was a pain to use on my phone.

BRUNO (short for "Brew Notes") keeps all my recipes at my fingertips during the chaos of a brew day and also makes it quick and easy to design new recipes from the ground up. BRUNO uses known data about my brewing setup and processes to predict my beers' starting and final gravities, alcohol by volume, and color, based on the chosen ingredients. Time-consuming (and sometimes error-prone!) calculations are all done automatically, and thanks to the sticky recipe overview, I can keep an eye on the expected results in real-time as I'm creating or adjusting a recipe.

BRUNO is an ongoing project with a number of new features on the roadmap, including brew-specific notes, support for US units of measure and improved logic for calculating hop utilization and IBU (International Bitterness Units).

Bruno beer list on an iPhone 11 Bruno recipe read on an iPhone 11 Bruno recipe edit on an iPhone 11
  • Responsive frontend built with Bootstrap
  • NodeJS and Express backend with EJS templating
  • Data persistence with MongoDB and Mongoose
  • Modern client-side JS for DOM manipulation and form control logic (no jQuery!)
  • ES6 classes for recipe components and relevant calculation methods