Inspiration: Like most people, we enjoy a good cocktail. However, oftentimes we find ourselves staring at our liquor, not knowing what we are able to make with what we have and the simple cocktail we want becomes a daunting task - oftentimes we fall back on what is simple and what we know we already like. Yes, there are books and the internet that can give us recipes, but for that, we usually have to already know what ingredients we have and match it up with what the recipe needs. With our app, you no longer have to do that.

What it does: Mr. Cocktail automates your ingredients and recipes for you; it takes out all of the extra steps and guesswork of looking recipe after recipe up, hoping you have on hand what you need for a given drink. Instead, simply follow the prompts on screen, listing what you have on hand, and it will give you a recipe for a cocktail with what you’ve entered - simple, easy, and quick!

How we built it: We first found a json file called IBA Cocktails from GitHub user teijo, which contains recipes with useful information regarding how to prepare various cocktails. The IBA Cocktails project compiles International Bartenders Association's (IBA) official cocktail recipes into machine readable format, suitable to be embedded into applications. With the json file containing the necessary information, we needed to find a way to parse the json file and search for cocktails that meet certain criteria. Using Python, we built a program that would take user input and return the possible cocktails they could make. We decided to have the user input four pieces of information to our program: the desired category (or categories) of cocktail, ingredients, garnishes, and number of servings. Our cocktail_search function parses the Cocktails.json file to find cocktails that meet the criteria specified by the user, and returns these cocktails in an easy-to-read format. https://github.com/teijo/iba-cocktails/blob/master/recipes.json

Challenges we ran into: One of the main challenges we ran into was how to independently work on the project, while maintaining a cohesive product. Since this was the first hackathon for each of our group members, we had to find a way to divide the work in a way that was logical and efficient. We settled on a division of labor that had two of our group members responsible for getting the input from the user, and the other member taking that input and using it to parse the json file and return the possible cocktails. We found this to be a good way to split up the project, since we knew how the data must be formatted (in lists) to be transferred from the user input part of the program to the parsing of the json file part of the program.

Accomplishments that we’re proud of: We are proud of the fact that our program is pretty robust when it comes to ensuring that the user input is valid and will not cause any errors in the program. We were careful to ensure that invalid inputs were handled in a way that allowed the user to continue using the program. Furthermore, we are pleased with the fact that our program can take a large amount of user input, use that input on an even larger data set, and finally produce a clean and simple result that is easy to interpret and understand.

What we learned: The most important thing we learned was how to collaborate and work as a team when it comes to programming. Communication was key in order to ensure that all team members were on the same page at all times. From the start, we tried to incorporate each team member’s ideas, and find solutions that were appealing to everyone. This was also our first time using GitHub to work on a project with multiple people at the same time, and that was a very valuable learning experience. By the end of the project, we all felt much more confident using that platform to collaborate and work as a group.

What’s next for Mr. Cocktail: Options! If there are multiple recipes that you could make, Mr. Cocktail could show you the flavor profile and category of drinks that are options for you to make given your ingredients and then you could choose which cocktail you want based on that information. After you enter which one you want to make, Mr. Cocktail will proceed with your choice and give you the preparation instructions.

Built With

Share this project:

Updates