We're sorry but this page doesn't work properly without JavaScript enabled. Please enable it to continue.
Feedback

Ales on Rails: Making a Smarter Brewery with Ruby

00:00

Formal Metadata

Title
Ales on Rails: Making a Smarter Brewery with Ruby
Title of Series
Number of Parts
88
Author
License
CC Attribution - ShareAlike 3.0 Unported:
You are free to use, adapt and copy, distribute and transmit the work or content in adapted or unchanged form for any legal and non-commercial purpose as long as the work is attributed to the author in the manner specified by the author or licensor and the work or content is shared also in adapted form only under the conditions of this
Identifiers
Publisher
Release Date
Language
Producer
Production Year2018
Production PlacePittsburgh

Content Metadata

Subject Area
Genre
Abstract
Rails is a great framework to empower people to work smarter, not harder. I'll be sharing the evolution of technology in a Pittsburgh brewery, from a simple MVP to a production application. This talk will explore how Ruby and Rails was leveraged to help manage brewery data, control aspects of the taproom environment, and automate the tedious parts of the job to a few clicks.
38
Thumbnail
07:23
57
Thumbnail
05:41
60
64
BitAreaFocus (optics)Menu (computing)Projective planeDiagramUML
Process (computing)Computer animation
ChainExecution unitConvex hullAxiomCase moddingSystem callComputer animation
Barrelled spaceBitWater vaporComputer animation
Control flowTerm (mathematics)
Core dumpAnalytic continuationComputer animation
WhiteboardMenu (computing)DigitizingMultiplication signData conversionZoom lens
WhiteboardMenu (computing)MathematicsComputer-generated imageryWhiteboardMedical imagingMenu (computing)INTEGRALPoint (geometry)Process (computing)Physical systemPlanningInformationComputer file2 (number)Data conversionTap (transformer)Computer animation
Staff (military)MathematicsAssembly languageMenu (computing)WhiteboardSoftware frameworkSystem administratorWeb 2.0Different (Kate Ryan album)Modul <Datentyp>Order (biology)Mobile appComputer animationLecture/Conference
Execution unitGamma functionOnline chatTap (transformer)Zoom lensSheaf (mathematics)System administratorComputer animation
Pointer (computer programming)Tap (transformer)Mobile appProcess (computing)SoftwareDatabaseInformationRow (database)Analytic setComputer animation
Flow separationComputer iconMultiplication signElectronic visual displayPower (physics)MotherboardComputer animation
Convex hullTable (information)SynchronizationPoint (geometry)PlanningINTEGRALRight angleMoment (mathematics)WebsiteBlogPhysical systemContent (media)Computer animation
Content (media)Execution unitBlogWebsiteEndliche ModelltheorieLink (knot theory)Bit rateFile formatQuicksortDatabaseComputer animation
Gamma functionCodePower (physics)View (database)System administratorProfil (magazine)Electronic visual displaySynchronizationEvent horizonComputer animation
LaptopoutputPulse (signal processing)DemosceneTerm (mathematics)Computer animation
Point (geometry)Metric systemMenu (computing)WhiteboardPhysical systemInheritance (object-oriented programming)INTEGRAL
BitZoom lensInformationMenu (computing)Staff (military)WhiteboardLecture/Conference
Staff (military)Letterpress printingMultiplication signComputer animation
WebsiteContent management systemLetterpress printingMenu (computing)Data managementElectronic visual displayDatabaseGame controllerMenu (computing)WebsiteUniform resource locatorView (database)BitScheduling (computing)Electronic visual displayLetterpress printingCartesian coordinate systemMultiplication signPoint (geometry)Content (media)Core dumpPerspective (visual)Computing platformEndliche ModelltheorieService (economics)Physical systemSystem administratorTouchscreenLogicTap (transformer)Staff (military)Type theoryMobile appHuman migration
BitZoom lensSoftwareFunctional (mathematics)Endliche ModelltheorieLetterpress printingInformationProduct (business)Staff (military)WindowComputer animation
Coma BerenicesView (database)System administratorMenu (computing)BitMathematicsOrder (biology)Point (geometry)Physical systemInheritance (object-oriented programming)Real-time operating systemWhiteboardComputer animation
Computer iconGraphical user interfaceWhiteboardMenu (computing)SpacetimeDifferent (Kate Ryan album)Computer animation
Menu (computing)Maxima and minimaASCIIDegree (graph theory)Perspective (visual)TouchscreenBitElectronic mailing list
Core dumpFront and back endsTerm (mathematics)WhiteboardDigital photography
Type theory1 (number)Multiplication signLine (geometry)CASE <Informatik>
Revision controlInformationInterface (computing)WhiteboardMenu (computing)Electronic visual displayComputer iconUML
Multiplication signPoint (geometry)Bit
Electronic meeting systemOpen setMultiplication signDifferent (Kate Ryan album)Basis <Mathematik>EmailComputer reservations systemStaff (military)TouchscreenProcess (computing)
Mobile appCross-correlationMathematics
RadiusCore dumpGraph coloringMultiplication signTask (computing)Menu (computing)Basis <Mathematik>Software
IRIS-TLine (geometry)Mobile WebUniform boundedness principleTerm (mathematics)Scheduling (computing)Multiplication signFile formatForm (programming)Computer animation
TwitterWebsiteEvent horizonComputer animation
Form (programming)WebsiteCore dumpDifferent (Kate Ryan album)Data managementFront and back endsService (economics)
PlastikkarteFront and back endsData managementLink (knot theory)Magnetic stripe cardElectric generatorDesign by contractSoftwarePhysical systemComputer animation
InformationMultiplication signProbability density functionComputer animation
Cycle (graph theory)Bridging (networking)Data managementMathematicsDifferent (Kate Ryan album)Elementary arithmeticXMLComputer animation
Control flowLimit (category theory)Physical systemPrototypeAeroelasticityFront and back endsMobile appElectric generatorVideo projectorProjective planeBounded variationScreensaverTouchscreenQR codeCASE <Informatik>Installation artExtension (kinesiology)Event horizonDrill commandsComputer animationLecture/Conference
Coma BerenicesBlock (periodic table)Data typeXMLComputer animation
Transcript: English(auto-generated)
My name is Ben Shippey, and I'm the tech director for Brew Jatman. I do feel obligated to tell you all that there is no free beer at this talk, unfortunately.
So by show of hands, how many of you are from Pittsburgh? All right, so mostly the southern, that's great. So I'm sure a lot of you are aware that Brew Jatman is a craft brewery located in Braddock, Pennsylvania. This talk is gonna focus on how we leverage technology at the brewery, and how we've really had a journey
over the past three and a half years with our technical projects at the brewery, including the menu board, our hackathons, and brings you out into some new and exciting areas in the brewery. So let's talk a bit about Brew Jatman. So Brew Jatman was founded by two CME graduates,
and they opened their doors in 2014. There has been a recent craft beer explosion in Pittsburgh, and we have close to 40 different breweries, either in the city or shortly outside the city. So what makes Brew Jatman stand out? The beer. Well, two things, but mainly the beer.
Brew Jatman aims to create soft, balanced, and elegant beers, and meaningful experiences, while helping revise the historic steel town of Braddock, Pennsylvania. And they're doing a pretty good job of making the beers. They're consistently rated highly. This is a screenshot from Paste Magazine, which, I'll quote this. This is the best, most complex double IPA
we had a chance to taste out of a whopping 176. And that's nationwide. So we're making some really awesome beer there, and a lot of that credit goes to the brewmaster and brewing staff, as well as co-founders for the town that they've managed to acquire. So let's talk about the brewery. Looks like a typical brew house. Grain, hops, yeast, and water go in, beer comes out.
By show of hands, how many of you have been on a brewery tour before? Wow, okay. So none of this should surprise anyone here, right? So we have some barrels. We do barrel each beer. Essentially, it's the same thing, right? We put the ingredients in, beer comes out, put that in a barrel, let it sit there for a bit.
Some tours will occasionally talk about that. Most tours will talk about fermentation vessels, break tanks, keying equipment, cleaning equipment, and that's pretty similar to everything that you've seen so far, right? And that's pretty standard. Breweries might change it a little bit, but generally it's the same process. And we're not gonna talk about any of that today. Because automation here is expensive, dangerous,
and best left to professionals, which I'm not a brewery technician in terms of automating that level of sophistication. So what are we gonna talk about today? What goes on here? Because without the back office, we have a lot of beer, but we can't do anything with it. So this is the business side of the brewery.
And that brings me to the second reason why Brew Gentlemen stands out, the core values. So a lot of this comes from Japanese philosophy, with Miyabi, Soshin, Kanso, and Kaizen. The one that stood out to me mostly is Kaizen, continual improvement, basically asking ourselves, what can we do to make things better? And that brings us to the Taprum.
So as you can see here, this is a shot from Taprum. And what you might notice first is the digital menu board. Now, this is a shot from a couple years back, and when Brew Gentlemen opened, they had a digital menu board. A lot of breweries at the time were still using chalkboards
or any other way of doing it that wasn't digital. So that led to some interesting conversations. So let's have a look at that, I'll zoom in on that. And this is more or less a mock-up of what that menu board held at the brewery. So after a few tasters, I had a very fruitful conversation with Asa,
one of the co-founders there. And we got to talking about how they were doing this. And what he told me kinda surprised me. It was a Illustrator file that he'd export into a image format, put that on an iPod, and have the iPod pipe it to the TV. Sounds horrible, right? But it worked, and that goes towards the DIY spirit of the brewery.
Now, bear in mind, this is also pre-untapped before they launched their menu offerings. So you kinda had to roll your own system at that point. So just to break down that process a bit, taps change. So that could be kegs kick, new kegs added, Asa has to go create an image, image is added to the iPod, menu board's updated. Now, those two steps are a huge bottleneck, right?
How many of you have ever ordered a beer, only find out kegs kick, you can't get it? It's infuriating, right? Because now you basically have to order a second beer and maybe, you know, if it happens something, just plan ordering two beers, so. Having either stale or outdated information isn't great. When the iPod has to be disconnected, we have no information on there.
So that's just not a good situation. So I suggested, put that on Rails, right? Because we got some other fringe benefits other than just like the real-time updates, but also website integration. So that changed the process to removing those bottlenecks. Now, any member of the bars app could go in, update the list, and it'd be updated in real-time. So now we have something that is guaranteed
to be accurate up until, you know, you go up to order and then you kick a keg and now we just need to change the button. So with Rails, it's a very modular web framework. And what we're able to do is leverage the different engines and gems to really tie it together. One such gem was Active Admin. So we have a custom Active Admin dashboard here,
and I'll zoom in on some of the sections here momentarily but basically it boils down to a very quick overview of unavailable beers and beers on tap. So beers on tap. We can drag and drop these beers to reorder them if needed. We have the icon, we have the name, we have the style, and if it gets kicked, you click the kick button and it goes out. Really simple.
Likewise, unavailable beers, names, style, and click, put it on tap. Now that is something that any member of the bars app can do. We don't need to have any specialized desktop software and it makes the entire process go a lot easier. Now, the other benefits we get out of this. We get a beer database. So now we have this persistent record of all the beers that we've brewed,
pricing information so we can go back and run analytics on those. The brewmaster can go in and enter all the details that he would need to for either the ABV, the tasting notes, the name, the style, and creative can go in and put in the icon separately. So now there's no bottleneck waiting on one person who can distribute the work.
Now I also mentioned the iPod. Originally we started out with a Chromecast, just proof of concept, making sure this works. We already had one, why invest money into more hardware? Because at the time the brew just opened, we don't want a lot of debt, either technical or not. And eventually we moved to Raspberry Pis because those would be self-sustaining,
we don't need a laptop, constantly pushing this to the TV, and that worked really well for us. As of today we have four Raspberry Pi power displays in the brewery pulling from the API. So now we have the main board digital, but we also wanted to print it. And we were able to generate PDFs whenever we needed to
and print those and put those on the tables in Taproom. So that was a very nice benefit to make sure that the printed material matched the digital material and keeping that all in sync. So, just a quick recap right now. We have a Rails app, it has a menu, it has a beer database, we have printables, where do we go from here?
Well, we have a website integration at this point where it's more or less an iframe being injected into the static site, just because the static site predated my work with Brewed Gentlemen and we wanted to kind of keep that for the moment. We decided to change that and make it a CMS-based system. So we added Refinery to the stack and that worked really well, it allowed people to go in,
edit content that needed to be edited. The only issue was we had the blog on WordPress. So, how do we get from WordPress to Refinery without spending any money? Well, any paid plan would allow us to do that, but we don't want to pay for those. What does WordPress give you for free? An RSS feed. So we're able to actually scrape all the RSS data,
reformat it a bit, put it into the Refinery blog model and save that and push it to the website in the format we want. We do need to strip links because some of those are relative, but that's again a minor trade-off for being able to do this so quickly. Now, with this being a website that we're running, we can push the beer database live
and have people go in, explore different beers we make, you can sort by seasonals, flagships, sort by tags, and if you click on a beer, you get to see what the brewmaster has laid out for us, right? We have some nice notes there on the tasting notes if you want to pair it with a beer, and links to untapped beer advocate rate beer. So basically we have a pretty sustainable compendium
of all our beers, and anyone going to the website can explore them. So, at this point, this is about a year after I started working there, and we decided to have our first hackathon. Now, how many of you are familiar with the Ballmer Peak?
Yeah. We're a brewery, so that only made sense. So it was 24 hours, some technical staff, Matt and Ace, the co-founders, and what that entailed was a lot of beer code and power tools, which makes for a great night. So one of the things that we built was a Raspberry Pi power display for the bathrooms that I brewed.
So now we can push our event details, also beer and yoga, new bottle releases, food truck calendars, and that works pretty well. Those are still in use at the brewery today. The Hue lights were an interesting little toy that we picked up, and quickly realized that there were some problems with these.
While they are great for being able to turn them on and off with your phone, you can change the colors and stuff, having all these different mobile devices with all different bar staff, we can't sync all the profiles. So we made a custom active admin view for that, and this is running on the laptop in the brewery. So the audio reactive scenes could take input through the laptop's microphone and push that to the lights and pulse them accordingly.
And that worked really well for us for a little bit. Eventually we ended up taking the Hue lights out because they were not that great in terms of keeping the brewery focused on one thing and one thing only, making this our own beer. So now we're here, back at the Taproom. We talked about the menu board briefly,
we talked about the Hue lights, the Clover point of sale system. We did investigate integration into the menu board with that. The problem is their API wasn't super friendly at the time, which would have been kind of cool because we know how many beers are in a keg, we know how many beers you're selling through Clover, we could put some real-time metrics on, okay, this is gonna kick really soon. Unfortunately their API didn't really support that.
But if we look over there on the right, we have these tags. And these tags are what we use for our to-go packaging. So that could either be a swing top 750 milliliter growler or a full 64 ounce growler. So let's zoom in a bit here. This looks like the same information we have on the menu board largely, right?
So why should the creative staff have to do that by hand? And especially because we don't know what beers we're gonna be selling in to-go formats, we don't want to print all these ahead of time, we need to be able to print these on demand. So let's say a new keg goes on, well now the creative has to go out and basically do a lot of copy and pasting to get a sheet like this.
Using the prong-pdf gem, we're able to generate all those. So now anytime that there's a beer on tap, we can click print tags and bar staff can just print the tags they need, we don't need to have creative involved in that effort at this point at all. So right now I've talked about a lot of things in kind of a short amount of time.
And let's take a step back here. Here are all the features that we currently have in the Rails application so far. And going back to the core values of what can we do to make this better and Conso simplification and making sure that we only have what is essential there.
So beer database, that seems pretty essential to a brewery app. Tap management, menu screens, that makes sense to keep. Brewery display management, that was a bit of a toss up for us because while those are cool, they are in brewery and it's the same type of display as a menu screen really, where it's a raspberry pi powered and we're pushing content to it. So we decided to keep that.
As I mentioned, brewery lighting, we nixed that idea, it just wasn't sustainable and it's a lot easier for someone just to flip lights on and off. We don't need a whole website to turn lights on. Print menu generation, label generation, yeah we'll keep those. Website and CMS, this was something that was kind of a toss up for us too
because we wanted brewery staff to be able to manage their own website but we didn't want it to be so heavily dependent on our own infrastructure and systems. So eventually we did decide to nix that and move to Wix as the current platform is hosted on there. It's not a fantastic experience
from a technical perspective working with Wix but we are managing to pipe the data that we need to which is largely the food truck schedule and the tap menu. So these features, I like to call brewery driven features and now we are truly BDD, brewery driven development. So let's talk a bit more about view tech
because in this location of what we're doing, we took a step back and we started looking at how we're actually doing these things. So there's the migration path here from rails server interviews to angular reviews to react views. At this time we ripped out active admin and just unmounted that engine. We kept all the core business logic in our models and services
so we didn't really lose anything. We just needed to basically write our own view and view controllers at that point. This was written on angular one so over the course of the next year or so we also migrated to react because the angular roadmap of one, two, and four didn't really sit well with us and react is just so much nicer to work with.
No offense. So that also allowed us to take time to look at the UI and UX of all this. And now we have a much cleaner looking in house software that I'll zoom in on a bit. So we have two tabs of journal products on it. Only one is actually visible to the customer because we don't want duplicated information
to the customer but bar staff does need to know that hey we have two tabs of this. If one kicks you can go ahead and use the other one. There's no issue there. So we can toggle that. We can also print tags, kick it, and the edit functionality pops up in the model window now opposed to the active admin of having to dig through the actual view and that's close for that. Super nice to work with and it's all reactive at this point.
So we click save, it propagates through the entire system and immediately updates that board. So any kind of pricing changes or any other, like let's say we mislabeled the ABV, we can update that in real time and have that pushed immediately. So while we're doing all the UI and UX on the backend,
that's great for people that actually do this but how many people actually come into the brewery to use this versus just order beer? So we started to refine the menu board a bit and what we realized is the way that we originally had it was okay but there's a lot of wasted space in there, especially when we didn't have that many beers on tap
which we did have some days where we would sell through a lot of the beers just because we're a small brewery. We couldn't make that much beer to sustain the demand there. So with the menu board system, we were actually able to test this out in the brewery with different customers and ask them
which one they liked better, look at how they were perceiving the information, look at where their eyes were going and kind of see where the hangups were. So over the course of about 24 hours, this was a hackathon if you would. It was more a refinement day where we all came together and said okay, we know we have some problems, let's sit down,
let's solve problems, let's make them simple and have some good solutions come out of that. So we worked through about four different menus there and that was something that was a bit of an eye-opener for us where we were always looking at the screen from a 69 perspective without considering what if we rotate it 90 degrees.
And that was actually the solution that we came up with was having a vertical list of all the taps and pricing, that worked really well. Here's an updated screenshot for a photo from the brewery and there it is and that's how it is currently today. That works really well for us, it doesn't have the issues with the white space,
everything is broken out in terms of flagships, seasonals, one-offs and partners in terms of just where it's placed on the menu board. So just to recap, we've talked about drafts, the website, some of the backend tech but we're missing one core feature here in the brewery, bottles because chances are if you buy beer,
you're going to be buying a bottle not from a brewery directly, just most of the time. So there are two types of bottles that get released from the brewery. There are the ones that there are plenty of that you don't need to line up around the corner for and then there are the ones that you need to reserve ahead of time. So how many of you have waited
in line for a bottle release? It's not a great experience for waiting around the corner, lining up and it's also not pleasant for the brewery because now we have this massive influx of people. So to handle that, we had to roll our own solution but let's talk about the common case where we have plenty of these bottles we don't really care if people line up or not.
We wanted something similar to what we had with the menu board where it could be updated from the same interface and pushed to a much smaller display in the brewery. So we have a iPad just hanging out on the bar top now that has the menu for bottles to go
and that works pretty well for us. It's the same information minus the icon so it's just a much more condensed version of the menu board, smaller and more focused just the bottles. So going to the limited releases now, as I said, we don't want people to be lining up around the corner because then they're just hanging out there and while that's great for them to get the beer,
it's not pleasant for all the other patrons who don't want those bottles. They're just kind of in everyone's way at that point. So the other way people do this typically is having festivals where you can buy a ticket and you have all day to go explore the brewery or the park and whatnot. That didn't really work for us either so we want something that was a bit more flexible
and mindful of people's time that they would be coming to the brewery and also the time that they would take to enjoy the beer. So we came up with this. It's a reservation system that we were able to roll out different allotments on a daily basis and let's say we had 200 different bottles of beer that we'd sell.
We're open from Wednesday to Sunday. Pickup day was Sunday and we wanted to make sure that we didn't sell out of these reservations on Wednesday so we split it up so we had 50 available Wednesday, 50 available Thursday and you get the picture. Now how do we manage that?
Without any backend intervention by the brewery staff. We used some cron jobs so that way we just keep opening the signups that were available and with the software, you go and you pick your time slot and you get a nice little confirmation on screen but also an email saying hey, go pick up your beer this time, you pay for them
and that worked really well for people because it also reminded them that hey, I have this thing to go to and if we didn't sell out all the beer, it would just be available in taproom for whoever can buy it after the last time slot of course. So if we want to take a look at this and if you notice the correlation between
the bottle branding and the reservation app branding, it's very similar and we wanted it to be that way but we also wanted it to be something that would be extensible and reusable in the future. We don't want to keep building all these one-off apps so we made that so we can just do a style sheet change and going back and forth here,
there's really no core differences, right? It's some minor styling tweaks where we change the image, we change the color scheme, we might change the border radius on the button but again, that's pretty straightforward and pretty easy to do. So we're reusing this any time that we do a wallet release now and that's been working really well for us. So who doesn't like to have some food with their beer?
Bridge Island does not actually make their own food in-house but we do have a network of partner food trucks that do come by the brewery and those are on a weekly rotating basis. So one of the new tasks now is creating the weekly food truck lineup menu or schedule rather, sorry.
And this calendar has to be generated once a week at the beginning of the week and constantly updates. So it can vary between month to month in terms of colors, we also need to have multiple formats and we need it to be easily editable. This is something that we found ourselves wasting a whole lot of time on just because well, going in to illustrator once a week
really wasn't the best way to do this. So we made that form and now we're using our magic and RBG to generate these PNGs. You can put a Twitter message, post a Twitter directly, put that in the bathroom displays, the website and download to post to Facebook too.
When the brewery originally opened, the annex was something that was generally reserved for events now since opened up usually for people to go enjoy the beers and the food. In that space, however, is still available for reservation and one of the core issues
that we found was the different ways people tried to reserve this area. Someone called, someone sent an email, so we ended up putting a form on the website so people could just put their request there, reprocess them and have our own little workflow around that. So there you pull it out, there you click submit
and then that'll go into our internal service. The way that the general manager does things doesn't really correspond well with how we have the back end set up right now. So we have that piped into Trello and we're using Stripe to generate payment links so people can go ahead and pay the reservation fees online as opposed to having them come down to the brewery or give you a credit card over the phone.
It's a lot more secure in that respect and that seems to be working well for everyone in that way. This also is something that we're moving away from now. With Trello being a third party service, we're actually revamping and rebuilding our own management system of those same cards in React and putting that in our back end software.
With these rental requests, we also need to generate contracts. So that was something that the general manager was spending way too much time doing, filling out this person's name, here's when they want it and that's something that can easily be automated. We have that information. It's a pipeline from taking the information from the form, putting it in a PDF. Why do we need a human to do that?
That's something that we can automate. We want to be working smarter here, not harder. So now it's time for another hackathon and this happens actually about a month and a half ago and this is a new cycle where we want to do some physical stuff and some purely digital stuff. So let's have a look at the cold room.
We don't give tours at Bridge Elementary but if you ever get a chance and you're invited down to take a look at the cold room, you'll notice that it's something that was built by Matt and Asa. We didn't go out and pre-purchase one, which is kind of cool. It kind of goes to the DIY aspect of the brewery. So we have a bunch of kegs outside. There are more kegs inside the cold room but there's also a piece of paper on the door.
Anytime a keg goes in or out, someone needs to initial that, okay, I made a change here and it was with this beer. The initial request was, okay, can we generate that piece of paper and have it printed out? Sure, okay, that's easy but at the end of the month now we have four pieces of paper that we need to reconcile and let's say
we have multiple locations, are we gonna start generating all these different pieces of paper? That seems pretty wasteful. We want to do inventory management. Why don't we do inventory management instead of fixing this small problem, let's tackle a big problem. So these are the new keg collars and you have a label there that gets generated. You also have a QR code now that gets generated.
So now we can actually track where beer is and this is a much more sensible system where it's not limited to just beer. It can be other inventory management, it can be cases of growlers, it can be merchandise. That's flexible, that's extensible. So let's say we had a second cold room. Now we don't need to worry about that. We can just reuse this system. One of the other projects we have that works is a mobile app.
I'm not going to speak towards that today but that is something that we're definitely working towards and should be out hopefully in the summer. We did use Flutter for a quick and dirty kind of prototype of it and it worked pretty well. So I'd like to end with some eye candy here with the screensaver that we currently have
running in the annex. So we have a nice high def screen and projector in the annex but it was always blank when there wasn't sports on. So we wanted something that was pleasant to look at but not overbearing and distracting to the customers.
This will also be hooked up to the backend system as well as untapped through a separate Rails app. We're gonna break that out but essentially we're going to be able to push events that happen in the brewery, people drinking beer and have it affect the screensaver. So if you're ever there and you see
different variations of the screensaver, you'll know someone did something to cause that and that's kind of a cool thing where there's an art installation that is indirectly influenced by people drinking beer in the brewery. At this point, I'd like to talk about a limited Russian drill stout that we released last February called The End.
So that is Brewed German in a Nutshell. We're a very DIY friendly brewery where we'd like to build our own solutions that fit our needs but also think forward enough and really try to ask ourselves what can we do to make this better without overcomplicating it and keeping things simple.
Thank you for coming. At this point, I'd like to open up to questions. Thank you.