1. Introduction The goal of the food recommendation system is to ensure diabetic patients or individuals who are at risk of getting obesed get the right information about the type of food to eat and nutritious content of this food recipe to stay healthy. There are several different approaches for the food recommendation system since it is a well researched area. The industry (health) and academia has paid very close attention to developing innovative recipe and food recommendation systems because of the significance it has not only to diabetic patients but for other users who might want to stay healthy. As a result, there has been an increase in the proliferation of this solution for the use of the public. 2. Problem Analysis A healthcare operator has requested an intelligent food recommendation application that can predict the body mass index of an individual, recommend food based on information such as an individual's height, weight, age, sugar level and sex, and finally provide insights in form of data visualisation for patterns in food or other metrics to be discovered. 3. Solutions Requirements The final product is an application that will accept certain parameters about the personal information of an individual, specifically, a diabetic patient. The application will utitlise this information provided to intelligently produce an output which is the information about user BMI and recommended food. Another aspect of the application produces visualised data based on the available dataset. 3.1 System Specifications: The application will receive inputs through a form for the user's personal bio data. The application will read and load the dataset containing information about the food recipes and associated nutrients. The application will apply the K-nearest neighbour algorithm to make food recommendations to the user requesting. In the output produced by the application, information about the BMI level and the recommended food should be displayed. An aspect of the application shall have options for various statistical plots for the dataset provided. 3.2 Tools Streamlit: According to their website, “streamlit turns data scripts into shareable web apps in minutes. All in pure Python. No front-end experience required.“ Streamlit is a python framework that enables a user to build a data science application rapidly. 3.3 Functional and Non-functional Requirements Every software product always has requirements aspects; functional and nonfunctional requirements which relates to the overall behaviour of the system. The functional requirements relate to the technical behaviour of the product. While non- functional requirements focus on the performance of the system. Below outlines the functional and non-functional requirements of the product: Functional Requirements Receive user biodata in a form Process BMI information Output food recommendation for user Provide various plots from Non-functional Requirements Data security Great user experience Availability of data 4 Product Design Well defined data science projects begin with understanding the business. A business will most need consultants to provide solutions to their problems to aid their business process. Hence, the need to understand the needs of the business provides context for a solid foundation of a solution. Furthermore, understanding the business is just a start to the cycle of the data science lifecycle as seen in Fig 1. Finding appropriate data to use as a business solution is imperative because it helps with the quality of output for the product. Other data manipulation techniques that can be deployed when a good dataset has been identified are data cleaning, data exploration and feature engineering. These techniques are used to pre-process data to obtain clean data. Then predictive modeling used to make predictions using the clean data. 5 Product Development This application has been developed as a prototype and proof of concept (POC) for the health operator has made the request. Following the problem statement, in depth research was carried out to ascertain the best technology to use for the development considering time to scale as a factor. Many technologies were considered for the development of the application but Streamlit proved to be the best choice because of the rapid development and low learning curve to understand the code. The data science application has two aspects to it; the food recommendation and data visualisation aspects. The food recommendation aspect involves the collection of data from a user through a form. This form is a representation of user biodata which would be used to calculate the body mass index (BMI) of an individual, make food recommendations using predictive algorithms or models. The K-nearest neighbour is the algorithm used for this study. On the other hand, the data visualisation aspect of the application allows users to choose plots which provide insights about the data. These plots include scatter plots, bar charts and stacked bar charts. Finally, the application was uploaded to Github and then deployed to a streamlit server. This server created an instance of the app that is hosted on the internet and can be access from around the world. 6 Methodology