Snacks Update
The Scientific Meal Planner has been updated with a freshly built snack system. If you've been following closely, you'd note that I actually had a primitive snack system months ago. Changes to the generation algorithm back in the calorie control update broke this functionality and I had to remove it. Now it's back and better than ever, giving the user a new level of control over their meal plans!
You'll now find a checkbox asking "Do you want snacks?". When checked, an additional calorie slider will appear that lets you set how many calories you want per day from snacks. It's currently limited to a 200 calorie range. This was necessary to easily fit "reasonable" snack quantities. For instance, if I had let a user say "I want exactly 500 calories of snacks", I would wind up needing to cut up a snack into an extremely precise quantity. I attempted this approach at first, but was winding up with snacks telling people to eat 0.25 bananas, 23.45 grams of almonds, and so on. By limiting it to a 200 calorie range, we can ensure it only provides snacks that aren't so impractical.
The snack system helps a lot towards the goal of generating meal plans that satisfy the daily dozen. Currently, the generation algorithm requires that each day of the meal plan satisfy >= 75% of the daily dozen servings. This is without snacks, however. Now, after the algorithm builds the days without snacks, it goes into the snack choosing process. When choosing the snacks it will prioritize categories of the daily dozen that have yet to be satisfied. The result is that you can expect much closer to 100% satisfaction of the daily dozen when you utilize snacks as it can remedy any remaining deficiencies.
You might notice that snacks only come from certain daily dozen categories. My philosophy with snacks was that they must not be something you have to cook (easy to just grab) and should be something people actually think of as snacks. So currently snacks are limited to beans, berries, fruit, nuts, and whole grains (air popped pop corn!).
This does lead to certain scenarios where there are deficient categories that cannot be filled by snacks (cruciferious vegetables and greens). I'm kind of torn over this! Scientifically speaking it'd be best to tell people to go eat greens or cruciferous veggies as a snack if that'd fill out their daily dozen for the day - but realistically I'm not sure it's something people want to see show up in their plans as a snack. What do ya'll think? Maybe I can add a configuration option for those who just want it optimized irrespective of the convenience factor. In the future I may also be able to have the algorithm weigh certain daily dozen categories higher than others. In that scenario I could make it prioritize greens and cruciferous veggies for the recipes, while leaving the others open for snacks to fill out.
Finally, it's worth mentioning that you can add up to 800 - 1000 calories of snacks on the high end. This brings the theoretical maximum calories the app can handle to 3400 - 3600. So hopefully this helps out those trying for higher calories.
Check out the development process:
Thanks for your support!