About the project


Meal Planner uses a custom algorithm to offer personalized mealplans based on macro data such as protein. Portions sizes are calculated to meet the recommended daily nutrient values. However, please keep in mind that we are using a user-generated dataset which might lead to inaccuracies.

Therefore, we strongly suggest that you always consult these mealplans with your doctor to ensure that they will be healthy for you before using them.


Source code may be found in this GitHub repo. This project was programmed with Flask to provide the front-end and the back-end, as well as SQLAlchemy with SQLite to provide the database.
Further information can be found in GitHub.


This app uses a very large recipe dataset, Recipe1M+ (MIT) containing over one million cooking recipes. However, I have reduced them using filter algorithms to only 8000 recipes. Most of my focus was spent filtering recipes out.

Next, I decided to classify these recipes to suggest main or snack courses. This was also achieved with a classification algorithm.


Attribution is provided to:


This website is using Flask, a lightweight Python web framework, which helped to simplify the project structure and keep loading times fast. Flask is a good choice for this website as it is a relatively small project.
Furthermore, a stand-alone API is available here

Next steps

There are many features that could be implemented in the future, below you will find some:
  • Trending recipes and meal plans
  • Adding new recipes
  • User-generated meal plans
  • Daily mealplan alerts
  • and many more...