Jan Mátl

Beerhub

Beerhub

App for tracking beers, reviewing beers, and managing meetups with friends.

FlutterFlutter
FirebaseFirebase
FirestoreFirestore
Google OAuth 2.0
Google Places API
Dart

Screenshots

Active Development: September 2023 - November 2023, Removed from Play Store: 12th July 2025

Idea

I did want to automate and track things I do. One of the things was tracking the taste of some beers that I have tried over my life. So there it was, I would create app for reviewing beers, managing meetups with friends and other things beer related.

Implementation

I started with Creating a Flutter Project and linking it with Firebase and Firestore as the database. I have added some UI pages for the app with mock data, so that I would have a better idea of what shape the app should take. After creating a first version with pages, some mock graph and other components, I had much clearer Idea of what is the better decision and what features to cut out based on the original idea and what to add. so I started working on these features: - Auth from Google-simple logging to the app. - Create a New Beer dynamicaly by adding picture and other details. - Review a Beer by adding a rating and a comment. - Visualisation Of All Beers in a List and its rankings - User Page with some statistics and other user related data. - Adding and managing Friends - Adding Random generated Avatar - Adding a chat for the meetups - Adding a map of Places where beer is served and a way to rate the location - Add tracking of beers drank with graph visualization of consumption over time. So as you can see It has realy bubbled up into full blown portal, and I was kind of over my head in the project with too much features and too big of a scope for a one man project without any backing. It was not a simple app, as soon as I added feature like "Add new Beer with its Image" I thought ahh that seems dangerous to leave it unregulated. so I have started adding a moderation- Detect explicit content (SafeSearch) but I hit a little blocker that without any backend It would not work great and I had some securiity concerns about running it on device of the user. So instead I have added a manual moderation by me( I created a super simple second admin app for reviewing new beers and approve or reject them). Most of the things I did were new to me and I had learn that something relatively simple like adding a beer isnt just a simple request. I have also hit a challenge with Map of Places where beer is served. Start was simple, I looked at google and made a request based on the location on the Map and returning places with labels of Beer and other related keywords. It worked like this: User opens the map and based on the location I either have already checked that radius(only fetch if it might be old) or I havent and I fetch, then I save the places to my own DB and I had to implement it in a way that the location has geoHash so that I can query the places by the location with some radius around it. so another challenge tackled. Chat for the meetups. it was fairly straigh forward I used the Meetup Id and just added stream from the messages collection and it displayed messages in real time. Then I added accepting and declining the meetups so that the experience is more interactive and users know how many people will join the meet. I have also thought of how to handle the New user experience and how to guide them through the app. so I did create a Welcome animation to show off the app and guide them through the app. so it was pretty fire project to learn a lot of new stuff and I had a lot of fun with it. but then I did start Working fulltime at Class and I did not have that much time and energy to work on this after work so after some Time I decided to pull back and remove the app from the Google play store.