Research shows that the poor has generally worse health, and a large reason is because of their lack of choices and knowledge about nutritious foods. So we decided to build iDinnerary, a mobile application(that can run both on Android and iOS) that is able to recommend a list of meals they could prepare weekly that fits their budget and provides good nutrition.
What it does
It gives you a list of weekly list of meals (14 meals) that fits your budget and provides the most nutrition based on your daily needs. A user is able to input demographic info (to determine nutritional needs) and a planned budget. With each meal, it also gives a list of ingredients you would need to buy at a store with average price and quantity specified.
How we built it
We use simulated annealing, an artificial intelligence algorithm that is performs a local search to find a list that is lowest in price and closest to your nutritional needs.
Challenges we ran into
Finding a good API/source that has nutritional and price information on different foods/ingredients/recipes. In the end we had to compile data from different sources to obtain all info necessary. Finding the right cooling schedule for the simulated annealing part of the project was also difficult. If the cooling rate was too high, we did not get good results, while a low cooling rate simply took too much computer resources. Design a good evaluation function for the simulated annealing was also a great challenge. We decided to place a higher weight on price since this app is supposed to help with your budget.
Accomplishments that we're proud of
What we learned
What's next for iDinnerary
Incorporating a more complete set of food data into our system. We also plan to incorporate local grocery store prices using geolocation data to better appeal to the customer.