Figured I'd show off my homebrew management app project since I am very proud of it.
(if on mobile, you may have to go full screen to see the full app screen... I'm new to uploading things on YouTube).
I code as a hobby. I've coded my own keg scales (and management system...I also 3D print) in Arduino and JS (Node), and I've made my own tap list site with React.
I decided to try my hand at a React Native app for my Android, and after two weeks, I have full eyes on and control over my homebrew operations. ChatGPT was a great help with tedious things, but it clearly has shortcomings in terms of keeping up with React and React Native packages, so a lot of nice feature stuff I had to code and test.
Background on my operations:
Who knew homebrewing would facilitate so many other hobbies!
Cheers
(if on mobile, you may have to go full screen to see the full app screen... I'm new to uploading things on YouTube).
I code as a hobby. I've coded my own keg scales (and management system...I also 3D print) in Arduino and JS (Node), and I've made my own tap list site with React.
I decided to try my hand at a React Native app for my Android, and after two weeks, I have full eyes on and control over my homebrew operations. ChatGPT was a great help with tedious things, but it clearly has shortcomings in terms of keeping up with React and React Native packages, so a lot of nice feature stuff I had to code and test.
Background on my operations:
- I use Brewfather for recipe and batch management since it has a very nice API and documentation.
- I use BruControl for main automation, primarily with fermentation control, but it manages my keezer and lager chamber temps as well. It records temp, Tilt readings, and pressure (while also controlling temps and spunding).
- I use Node-RED extensively.
- It takes data from BruControl (using the data exchange server) and pushes relevant brewday and fermentation to my Supabase database. It also pushes data to BruControl, as described below...
- It checks Brewfather for new or updated batch data. If a new brew appears as "Fermenting," it checks what Tilt the batch is using (which correlates to which fermenter), and then it sends fermentation steps and such to Brucontrol (which then knows to activate and manage the fermentation steps and pressure levels according to apparent attenuation [Tilt readings compared to OG and FG]).
- It also adds new beers to my beer_index table on Supabase for cross-referencing with fermentation data.
- As batches in Brewfather progress from Fermenting to Conditioning and onward, it updates Supabase and updates relevant columns (like final gravity and density).
- It acts as my secured backend so I can securely make changes to Brucontrol's fermentation settings (via globals and scripts) or Supabase.
- It also manages my keg scales (with Supabase being my source of truth for tap & scale pairings).
- Finally, I brew in a Brewzilla, but I've added temp probes in the recirc pipe, counterflow chiller wort exit, mash (via long probe tube), and ground water source, so Node-RED manages the data from that controller (and sends it to Supabase for brewday data).
- I wrote my own websocket server in Node.js so real-time data from BruControl is pushed form Node-RED to my app (updates every second).
Who knew homebrewing would facilitate so many other hobbies!
Cheers