Meal Mind
Take control of your nutrition, anywhere, anyplace, everytime.
Demo video
What it does
Meal Mind is a daily nutrition tracker that allows users to log calories, monitor nutritional intake, and track daily habits from 5000+ regional searchable/variant dishes. It functions as a complete Progressive Web App (PWA) that operates entirely offline once deployed, ensuring rapid load times and zero reliance on external servers for daily use, all the data stays in your mobile, so no guilt messages, no forced subscription pop ups.
Inspiration
Meal Mind was born from my own battle with obesity. While desperate to reclaim my health, I discovered the science of a calorie deficit—a realization that completely changed my life. But I quickly learned an important truth: a nutrition app doesn't magically make you lose weight. It is simply a tool to monitor your habits and build consistency. Real change comes from knowing exactly what you are eating and using that awareness to consciously shift toward a cleaner, healthier diet. I realized this lack of basic nutritional awareness is driving a global health crisis, fueling epidemics like obesity, diabetes, and heart disease. Yet, when I looked for tools to help, existing health apps felt predatory. Instead of just helping me track my food, they forced me to create accounts, aggressively upsold "Pro" subscriptions, pushed expensive dietitian services, and relied on guilt-tripping notifications if I missed a goal. I decided to build the pure, user-first tool I wished I had. Living in India, I started by integrating a localized database of over 5,000 Indian dishes to solve the cultural gap left by generic Western apps. Most importantly, I engineered Meal Mind to be completely offline with zero account requirements. It exists solely to empower people to take control of their health with complete privacy—no paywalls, no data harvesting, and absolutely no judgment.
How we built it
The application is built using HTML, CSS, and vanilla JavaScript. To achieve the offline-first requirement, I implemented Service Workers and a Web App Manifest. All user data—including logs and habit streaks—is stored locally utilizing IndexedDB. Instead of traditional cloud hosting, the app is engineered to run locally on an Android device. I deployed a Python HTTP server bound to the loopback address via Termux. Using Termux:Boot, the server initiates automatically, transforming the smartphone into its own localized host. During development, I utilized very generous free tier AI models like gemini( For planning), Claude( For coding) and Chatgpt (For prompt engineering). Nutrition values in MealMind are derived from the Indian Food Composition Tables 2017 (IFCT 2017, ICMR-NIN), supplemented where needed by USDA FoodData Central, manufacturer labels, or documented recipe estimates, as tagged per dish in `data_basis`.
Challenges we ran into
Binding a local server on a mobile operating system presents unique persistence challenges. Ensuring the Python server maintained uptime in the background without being killed by Android's battery management required precise configuration through Termux. Additionally, structuring the IndexedDB database to handle complex, relational daily nutritional data using only vanilla JavaScript demanded rigorous testing and debugging.
What's next
The next phase involves integrating a more advanced visual progress dashboard and to make the app truly global, I plan to expand the local database beyond the 5,000 Indian dishes to include a comprehensive array of Western and international food items. On the user experience side, I will be refining the UI to make interactions much smoother and closer to a native app feel. Finally, I want to make this completely offline architecture accessible to everyone, not just developers. I plan to heavily optimize the deployment process, creating a streamlined script so that any user can easily install the Termux environment and run the app locally on their own device with a single, frictionless command.
Screenshots
0 comments
Sign in to upvote this project or leave the team a comment.