Although my goal was to find recipes that shared ingredients to cut back on wastage. I used a constraint solver (https://developers.google.com/optimization) and asked it to produce 5 recipes requiring the minimum number of ingredients, and was rather amused that the first run included such classics as "boiled egg", "butter potato" and "toast".
allrecipes.com has data attributes on their ingredient list. seriouseats.com has css classes on their ingredients. those are two that i just checked on the spot.
Me too, although I'm solving a different problem: organization. I'm not so concerned with cost or nutritional value. In the end I went with a somewhat simpler route: LaTeX (well xelatex). I built a couple document classes, one creates a letter sized document and one creates a 4x6 index card sized document. I used the former to concatenate all the recipes into a master PDF as well. This "master" PDF contains the recipes as well as indexes (by author, by ingredient).
I've tried tablets in the kitchen, but ultimately for me the most convenient thing was to just tape a printout onto a cabinet door and go from there.
YMMV.
anyway, a word of caution about open sourcing. people are quick to scream that you make the source available. but what about this? an article/blog describing in more details how you solved the problem instead? few people ever ask that.
what i saw with open source is, once you put the code out there, people will start requesting features, making you carry the burden of maintenance, etc. but ofc there are good things too. i just haven't seen it with small niche projects.
my 2 cents.
It's easier for me to "listen" to a recipe and pause as needed, vs. to look it up. It's a more casual approach though - no constraint optimisation, or anything like this, but I find it works great for me. Also I can share a recipe this way with someone else by just sharing the recording p2p.
And I noticed how much is thrown out despite attempts to not do so, because different items have different shelf life.
My bill also doesn't include alcohol. I've given up drinking mostly to boost my night-time productivity, but I'll buy wine in bulk which I mostly use for cooking, though I might have a glass with dinner.
Rice, flour, beans, lentils, etc should be the bulk of your staples. They are also dirt cheap. Remainder of the money can be used on fresh vegetables.
The main thing I wanted to optimize was menu planning. So I wrote a genetic algorithm which will generate a menu, add the score, mutate the menu in some way, and iterate. In my database I have a rough price per ingredient, and my families enjoyment of the recipe (though I have kind of a lagging gradient which reduces the score per recipe to prevent duplication). I also have included in my algorithm what I call slots. So something like a lasagna will take 4 slots where as a stir fry will be 1 slot. I sync my schedule and break it down to slots. This allows the algorithm to fit the recipe to the time available. I dont score slots though otherwise short recipes always win.
Since the algorithm optimizes based on the week, but keeps a running inventory it's pretty good at maximizing my grocery bill and family enjoyment. My average grocery bill is between $40-$60 a week. And I cook 5 times a week.