Brief Description

BriefBeer is a beer discovery and tracking application designed for enthusiasts who want to explore breweries and log their beer-related habits. Users can browse an existing global database of breweries, add their favorite breweries to their personal list, and view them on an interactive world map. The app allows users to manually track daily beer consumption through a streak system, manage their account, and optionally attach images to beers they like.

Team Members

Miloš Karapandžić
Adam Torok

App Concept

Use Case

BriefBeer is used by individuals who want a simple way to discover breweries and keep a personal record of their beer experiences.

Target Users

The primary target users are casual beer enthusiasts and social drinkers aged approximately 20–40 who enjoy discovering new beers and breweries but do not require advanced tasting notes or professional-level tracking. The app is not aimed at craft beer experts, but rather at users who value simplicity, discovery, and a personal connection to their beer experiences.

Figma Prototype

Database structure

Database Structure

Full Usability Research Report

Final Reflection

Miloš Karapandžić

Worked on:
1. Initial project setup – Initial commit, arcaneComet that we built on (project scaffold and base files added).
2. Core application and offline support – Changed API and added a local database for offline use.
3. Adding breweries – Implemented functionality to add breweries to the app.
4. External link integration – Added Google Maps links for brewery locations.
5. UI/Theming work – Changed colors and typography of beer cards.
6. Scanner improvements & routing – Added a QR code button and fixed scanner routing.
7. Feature additions – Added all relevant beer names and limited the scanner to beers only.
8. Favorite pages / visibility tweaks



Final reflection:
I had great fun during this CCL, as I approached it differently than before. It showed me the gaps in my knowledge and where I can improve, especially in the area of mobile development (even though I really don’t like Kotlin). I had very good communication with my colleague throughout this project, and I am looking forward to the next CCL, where we will have a bigger team.

The only moments where I really struggled during this project were those when I knew how to implement something, but my code was not working properly. I would expect issues like that when encountering new topics, but not with things I had already covered before. Overall, I loved working on this project, and I hope I can continue improving it further as a private project.

Adam Török

Worked on:
1. Added austrian beers to db - We looked through all the beer/brewery databases online and couldn't find one that had all we were looking for, so I created a simple js app that fetched all the austrian beers from a different API to a json file and merged that in Kotlin with the OpenBrewery db, that Milos added so at least all the austrian beers are in our db for testing.
2. Added barcode scanning feature - I found an API (world.openfoodfacts.org) that can look up the product information from a barcode and implemented the feature that searches in our db for the name of the beer that we scan.
3. Added editing/deleting functionality - The breweries/beers the user adds to the db can be edited and deleted later.
4. bug fixes - Fixed navigation between pages(very frustrating) and db loading issues.
5. Created profile page - From the existing favorites page I made a profile page that has all the beers the user adds and their favorite beers as well.
6. Added image upload - Users can upload images to beers/breweries they added to the db.
7. Added Streak Calendar - Every time users open the app their calendar shows that and if they open the app every day their streak increases.(Gamification)



Final reflection:
I think, Milos and I were a good match for the CCL as we had similar goals and vision about what we wanted to do. The communication between us was really good and we found really quickly how we can devide our workload and what were our individual strengths. We never had merge conflicts which was a positive surprise.

At the beginning I needed a bit more time to understand the code what we were working on, as it was Milos's codebase. This created some frustrations, when I was trying to fix the navigation for example. Otherwise I have learned a lot about Kotlin even dough it's not my favorite language. Now I feel more comfortable in using APIs and work on a codebase that I didn't create. I figured out a lot of features Kotlin and Google gives to us. I added the barcode scanning feature, it was my favorite thing to work on and I and many of our testers think it's the best feature of our app. In conclusion I really enjoyed working on this project, learning new skills and I'm so proud of it I'm going to put it in my CV.