FlavorFinder
Recipe search over 13,500 recipes, filtered by what is in your fridge and your kitchen.
CS50 final project · 2024

The problem
Recipe sites are built around the recipe, not around your kitchen. You find something you want to cook, and then discover it needs three things you do not have and a stand mixer you have never owned.
FlavorFinder inverts that. You tell it what is in your fridge, what you cannot eat, and what equipment you do not have, and it only shows you recipes you can actually make tonight.
What I built
A Flask application over a SQLite database of more than 13,500 recipes, with Bootstrap on the front end.
- Ingredient filtering by ingredient, quantity and unit, so half an onion is not treated the same as three onions.
- Dietary restrictions that exclude recipes outright rather than flagging them, because a vegan user does not want to scroll past meat.
- Equipment exclusion, which is the filter I have never seen elsewhere and the one I use most.
- Accounts and saved favourites, with registration, login and validation that reports its own errors rather than failing silently.
- Pagination, because 13,500 results in one page helps nobody.
What I took from it
This was my CS50 final project. Most of the work was not the search. It was everything around it: validating input that arrives in the wrong unit, telling a user what went wrong in a way they can act on, and keeping a large result set navigable.
It is also where I learned that a schema decision made in the first hour will shape every query you write afterwards.
Stack
Python, Flask, SQLite, Jinja templates, Bootstrap and session-based authentication.