Ingreedients tells you what you can make with the ingredients you have. I made it for a friend of mine who owns a bar (Tipsy Turtle). He wanted to quickly see which cocktails he could make with the ingredients he had on hand. It is a Next.js app written in TypeScript, and I built it in two days.
You upload a CSV of recipes and their ingredients, which is parsed by an API route and stored in SQLite through Prisma, with a join table holding each ingredient's amount in a recipe. You can then search both ingredients and recipes, and select one or many target recipes to show only the ingredients that are necessary to make them.
The recipes are sorted by how many more ingredients each one needs from what you have selected, so the ones you can make right now come first.
The ingredients are sorted by their "impact", i.e. how many recipes they would complete if selected, and then how many recipes they would bring closer to completion.