I have been working on a very interesting AI problem today. (This is not for a customer, rather it is for my wife's and my CJsKitchen.com web portal so I can talk about it :-)

A bit of background before discussing the problem itself: users of our web portal are encouraged to maintain a simple database on our server of what ingredients that they have on hand in their kitchens. This data is stored per user in a database on my server and is easy to keep up to date. Users can search/view all recipes or just recipes that they have the ingredients on hand to make.

The AI problem is this: given (in a case based reasoning sense) a set of recipes, the ingredients the user has on hand, user preference for cooking style (American Comfort Food, Italian, Chinese, or Japanese) and how spicy they want the dish to be, the problem is this: create a good recipe using only the ingredients the user has in their kitchen. As a bonus, I offer advice, based on the requested cooking style, on spices to buy the next time the user is at the store.

For me, this is a "perfect" AI problem because my wife and I are ourselves the domain experts (we are excellent cooks and very creative in making up new recipes) and I am the "knowledge engineer" so the work is progressing fairly fast (but still a work in progress and incomplete).