I have been having fun with CookingSpace.com. It is now feature complete as far as what I want in it myself, but have received a few suggestions for improvement since I hosted a new version a few days ago.
I wanted to track the vitamin K and fats in the recipes that I eat, then decided to show most of the nutrients in the USDA database. I now show nutrient breakdown by complete meals and 1 day meal plans. Meals are aggregates of one or more recipes. The easiest way to try it is to just click on “Show random recipe” and “Show random meal plan” a few times. I am only adding about one recipe a day, so it will be a while before there is a large selection.
CookingSpace, except for the nutrient calculations, is a simple Ruby on Rails application. I run it on a very low cost VPS using mongrel clusters and nginx. The only complex part of the web application is the “admin only” part that is used to define recipes. Some ingredients have many entries in the USDA database; chicken has about 100 entries so when entering a recipe I need to match with one specific entry (how chicken is cooked, skin/no skin, part(s) of the chicken, etc.) Because of this, it takes me 5 to 10 minutes to enter a single recipe.
For AI enthusiasts only: I have spent a fair amount of time thinking about automatically processing text only recipes into my internal structured data for a recipe. Tough problem since, for the chicken example, I would need to determine which of the 100 chicken database entries to assign to a chicken ingredient in a recipe based on the textual description for a recipe. I think that, given a half year, I could do this However, I am doing CookingSpace as a public service to help myself and anyone else who wants to estimate their nutrient intake – so I hope that will be useful when I eventually get a few hundred representative recipes entered (the ‘hard way’).