From the giant-projects-undertaken-on-a-whim dept:

So we were sitting around a couple of days ago and talking about dinner.  I was wondering what we could make with the stuff we have, and figured there must be a way to figure that out online.  After all there's where you can tell it what drink ingredients you have and it will tell you what  drinks you can make; there must be something equivalent for food.

Well, not that I could find.  Time to make one.

I started looking for recipe data online, and it turns out there's a few huge archives of public domain recipes in MealMaster and RecipeML format.  I started using the RecipeML format, because it's an XML format so it's easy to work with programmatically, but it turns out most recipes were created in MealMaster format, and automatic conversion from MealMaster to RecipeML is impossible thanks to the variety of notations that people use when writing recipes.  So I switched to MealMaster format.  Fortunately it's a fairly straightforward text based format, where each recipe looks like this:

---------- Recipe via Meal-Master (tm) v8.05

      Title: "Baloney" Cheese Dogs
 Categories: Cheese, Hot dogs
      Yield: 2 Servings

      2    Hot dog buns
           Mayonnaise or mustard
      2 sl Turkey bologna
      2    Sticks cheddar cheese or
           -string cheese sticks

  Spread inside of hot dog buns with mayonnaise or mustard. Roll 1 bologna
  slice around each cheese stick. Place inside hot dog bun. Wrap each bun in
  plastic wrap.


Mmmm Baloney Cheese Dogs.  Interestingly, if you search Google for "Spread inside of hot dog buns with mayonnaise or mustard", you can find other sites that have done the same thing - posted these public domain recipes.  My goal is to add value by building some interesting search tools on top of the data.

I've imported over 130k recipes into a MySQL database, and I'm running a script now that's extracting categories.  So far the most popular category is Desserts, with 4735 entries, but I'm only partway through the data.

My plan is to extract the list of ingredients from all the recipes and then build a UI that you can use to say what foods you have on hand; then write some code that figures out what you can make.

I like working with large amounts of data, and the whole data cleaning aspect of it is interesting to me, so it's a fun little project.  And maybe I'll get some dinner out of it.