Beer Brains let's you keep track of beers you have had, and beers you would like to try. Written at what was probably the height of the Beer Trading fad, it was intended to help beer snobs like myself do things like:
Have an ongoing list of (potentially hard to find) beers so that you can be on the lookout at the next bottle shop.
Keep track of beers you have tried, with your own ratings and tasting notes.
Keep track of your personal beer inventory
Use the barcode scanner at the store to quickly get more information about a particular beer
While you could certainly do all that using the Untapped App, I wanted something that worked offline, and would respect users' privacy in the best way possible - to not collect or store any data off-device.
Beer Brains was written with Swift and UIKit with story boards which, at the time, were relatively new. It used locally-stored CoreData as the storage for all beers. At the backend was a third-party, crowd-sourced beer database called BreweryDB.
As it turned out, the crowd-sourced beer database was often lacking important data (e.g. ABV, label image, etc.). To make up for that, I was able to use the more full-featured Untappd database and API. This required quite an interesting data model/API dance to first use BreweryDB to fetch the initial data, but then to supplement that as needed with data from Untappd. Fortunately my app's in-memory data model was never tied directly to any particular backend schema. This allowed me to fire off separate requests to each API and merge the results asynchronously as they came back.
This was my first forray into CoreData, and I remember being very impressed. Up to this point in my career, I had mainly experienced non-relational databases, and I found that strong typing and automatic relationship management were quite refreshing.
Beer Brains was released to the App Store in December 2014, just a few months after I attended WWDC 2014 - where Swift was first introduced to the world. The demise of the app came when the BreweryDB backend raised their API prices significantly to the point where I could no longer continue to fund the app as a hobby. Additionally, the Untappd API terms of use explicitly forbade local caching for more than 24 hours, which really was the whole point of the app, meaning I couldn't simply switch to using the Untappd API alone. Beer Brains was subsequently removed from the App Store in July of 2019.