Annoying Beer Guy

Find him in the Ionic cloud App preview, APP ID "88b25342".


Everyone's met the annoying beer guy. He heard you like Dogfishhead 60 minute and decided to tell you about 43 other IPAs you should try. He heard you like an Irish red and told you all about how Irish reds are really sort of derivative and not consumed by serious beer drinkers. He knows how to pronounce cicerone. The goal was to take the knowledge that annoying beer guys often have and put it to good use, filtering available beers to things that suit users' tastes.

What it does

Using information from BreweryDB and, the backend service lets users filter over a variety of beer characteristics, like hoppiness (IBUs) and booziness (ABV). It then returns a list of beers that fit those characteristics from BreweryDB and links users to for beers in that list that are available for delivery near them.

How we built it

Elliot and Matt took front-end responsibilities, and Haseeb and I handled backend. We have a sqlalchemy database supporting subscription information, a variety of calls to external APIs getting us beer information, and an Ionic app on the front-end for cross-platform deployment. We deployed the back-end on IBM Bluemix and the front-end to the Ionic cloud.

Challenges we ran into

First, BreweryDB and have had no development in the same direction. That made extraction of basic features of beers like their names difficult. Fuzzy string matching in some cases is hilariously off, partly because of the number of similar words that appear in beer names.

Second, data about people's beer preferences are widely unavailable. This challenge meant that predictive approaches were nearly impossible.

Third, none of us are deployment experts. A lot of time was spent cycling through services to find a tutorial that worked with minimal extra effort so we could focus on the parts we were good at.

Accomplishments that we're proud of

We have a product that works (to some extent)! We also did a good job over the course of the weekend discussing challenges we were having and when we should reprioritize.

What we learned

Some of us learned deployment and dependency management across several settings. Others of us added experience and intuition about Angular2 and Ionic.

What's next for Annoying Beer Guy

Fuzzy string matching needs to improve, and we also need better integration with and creating orders instead of linking to pages with beers on them.

Built With

Share this project: