actually, the concept is a tall order - similar to cookbook / recipe software - sounds sooooooo simple, but isn't.
not everyone is a foodie with anchovies to zebra jerky in the pantry.
selection criteria: poor / medium / well stocked larder - even spices can be a sticky point for specific regional / ethnic dishes.
not everyone is familar with the plethora of recipe terms and has all 'the gear'
selection criteria: experience & knowledge of cooking; available hardware.
not everyone even wants to create a 35 ingredient dish; larder aside
selection criteria: simple / medium / complex recipe
preparation time varies widely
selection criteria: quick / medium / all day prep time
and how does that work for weekends when one might have more time to cook?
of course, some folk have to work weekends and may have Monday off.... something to configure, no?
same for simple to complex dishes - sometimes you might want, sometimes not.
food budget - not everyone will be happy to see live lobster show up on the list
selection criteria: cost
"but on payday we treat ourselves to steak." configure paydays.....
food allergies / sensitivities... biggie there
high/low/medium fat (and others) dietary restrictions... another biggie
the kiddie-factor - one can encounter resistance to 'dishes' - sight unseen . . .
the left-over factor: project then randomly generate good use for projected leftovers . . .
if one does a meatloaf for Monday, don't need anything for Thursday - example.
configure: family size; relate to: recipe size
the cookie monster: keep track of what was selected, do not randomly suggest prime rib every week.
[sigh] it happens!
plus carry over left-overs from last planning session, as may be interrupted in time . . . i.e. session one on Monday but session 2 on Wednesday for a 're-plan'
perhaps the biggest issue is going to be 'classifying' the recipes (don't forget copyright issues..)
in addition to
one can find very simpe to very complex recipes for "the same dish" - it might be a simple matter for the program to suggest lasagna - if the program is going to present a recipe, there's thousands - starting with "open a can of . . ." to
"milk the nearest goat and make a good cheese . . ."
of course, the user might then try Recipe Nbr 1835687 and intensely dislike it - so there's 'user input tracking' for future exclude/include.
sounds like fun.