Do you know you need to eat more protein, but don't know how to venture outside of the safety of the salad menu? Are you keto and want to find a low-carb, high-fat meal that you can enjoy the next time your friends suggest you go out to eat? Does the sheer volume of choices on a menu overwhelm you? Narrow It Down is here to help.
Inspiration
As someone with OCD, choosing food from a menu can be a stressful and embarrassingly long process. In particular, fast food chains present a terrifyingly wide variety. Being able to narrow down menu options greatly reduces the stress that comes along with making decisions, and using nutritional criteria reduces the anxiety of trying to figure out the "healthiest" option on the menu. Choosing food can be stressful for everyone, and Narrow It Down provides a way to alleviate some of that stress.
What it does
This program allows the user to choose from one of three base restaurants or to choose their own CSV file. The user is able to filter the menu by type of food and calorie maximum, if desired. The user is then able to choose two criteria by which to filter their results, as well as whether they prefer a high or low value for each criterion. After each of the two filters, the eligible menu items are displayed in ascending or descending order based off of the criterion and order specification.
How I built it
I built the entire program using Python. I used pandas to create and manipulate a dataframe of menu information.
Challenges I ran into
I spent a lot of time either manually entering data into spreadsheets or cleaning up existing spreadsheets of data. Also, I realized after completing the program itself that there wasn't much I could do visually, as I have no front-end experience.
Accomplishments that I'm proud of
This was my first hackathon, my first time using Python in a project, and my first time developing an idea for a project and executing it (rather than completing an assignment for class), so I'm proud of designing and creating a reliable and relevant program.
What I learned
Within Python, I learned string manipulation; I also honed my array manipulation with pandas. In terms of working with data, I learned the importance of cleaning up datasets, as well as how to cope with subsets that throw off results (for example, implementing the option to exclude beverages, as their low values for many nutritional criteria dominate the results otherwise).
What's next for Narrow It Down
Next, I would like to implement Narrow It Down as either a webpage or a mobile application. Currently, it can only be run through terminal. I either need to learn some form of front-end development, or else collaborate with someone who does, in order to make this program more accessible to others who struggle with making choices surrounding food.

Log in or sign up for Devpost to join the conversation.