Repo: https://github.com/patrick-gu/food-fill
Devpost:
Food fill helps you measure all you can eat!
Everyone knows that the point of an all you can restaurant is to stuff your face and try to make your money back. But how do you know if you've succeeded? Food Fill helps you track the food you've eaten by watching you. It recognizes what food you're eating from the video, and the special utensil allows it to measure the weight of your food. You get to know how much food, in grams and Calories, you've eaten!
On top of enhancing your buffet experience, Food Fill sets personalized nutritional goals and encourages healthier eating with specific targets for calorie intake and nutritious foods. Our statistics page helps you track progress using age, height, and weight to generate relevant graphs. Plus, our leaderboard motivates you to stay healthy by competing with friends and earning points for completing missions.
To calculate the amount of food, the special utensil and associated handwritten image processing is designed to utilize Hooke's Law (F=-kx), which through a classical mechanics analysis, allows us to find the mass of food based on the extension of the elastic band. We use colored pixels of the image to determine the specific geometry of the system. We also need to use the projection equation from linear algebra to make all three points collinear, as you can see in the top left of the UI.
To identify the food eaten, we send live video to MediaPipe object detection and pick out the relevant food items. We highlight these bounding boxes.
All of this is combined in an elegant UI built with React and TailwindCSS in TypeScript.
We used Neurelo with MongoDB Atlas to store the calories you've eaten and your personal info. These technologies made storing our data fast and easy.
Our GoDaddy Domain name (not live right now): https://mewing.courses
Note that Patrick recorded the above video at home because it was 2 am