Inspiration
Managing nutrition can feel disconnected from everyday life. Groceries, meals, health goals, and clinical advice often live in separate places. We built NutriCare to connect those moments into one practical system, helping people understand not only what they eat, but how their food choices relate to their personal care plan.
What it does
NutriCare helps users:
Scan grocery receipts with OCR and review the detected products. Track pantry items, quantities, and expiration dates. Log confirmed meals with specific quantities and measurement units. Estimate calories, protein, carbohydrates, fat, fibre, sugar, and sodium. Receive alerts when nutrition limits are exceeded or pantry items are expiring. View doctor-entered conditions, nutrition limits, and food recommendations. Give doctors a supervision workspace for managing linked patients and care plans. OCR suggestions never automatically count as consumed food. Users must review and confirm the food, quantity, and unit before nutrition totals are updated.
How we built it
NutriCare uses a Next.js frontend with an Express and PostgreSQL backend. The application is organized around pantry inventory, confirmed meal logging, nutrition calculations, notifications, authentication, and doctor-patient supervision.
Receipt processing uses PaddleOCR. Nutrition estimates are matched against a bundled USDA-derived food composition database. The backend handles unit conversions, daily totals, nutrition-limit checks, notification deduplication, and role-based access control. Database migrations manage users, pantry items, meals, care plans, notifications, and doctor-patient relationships.
Challenges we ran into
One of our biggest challenges was distinguishing purchased food from consumed food. A receipt can tell us what someone bought, but not what they ate or how much they consumed. We solved this by making OCR review-only and requiring explicit confirmation during meal logging.
We also had to handle different units and food states carefully. For example, dry pasta and cooked pasta should not be treated as identical, and nutrition limits may use different units from meal entries. Permissions and privacy were another important challenge because doctors should only access patients who have actively linked with them.
Accomplishments that we're proud of
We are proud to have built a complete patient and doctor workflow instead of only a nutrition calculator. NutriCare connects receipt scanning, pantry tracking, meal logging, nutrition estimates, alerts, and supervised care plans in one application.
We are also proud of the safeguards around uncertain data. The system clearly identifies estimates, unmatched foods, branded products requiring nutrition labels, and OCR results that still need user confirmation.
What we learned
We learned that useful health technology needs to communicate uncertainty clearly. An automated suggestion is not the same as a confirmed fact, especially when it affects nutrition totals or medical supervision.
We also learned that small details matter: timezone-aware daily totals, notification deduplication, unit conversion, food-state matching, and carefully scoped permissions all make the difference between a demo and a dependable product.
What's next for NutriCare
Next, we want to improve food recognition, expand nutrition database coverage, and support more nutrition-label formats. We also plan to add richer progress insights, better meal recommendations based on pantry inventory, patient-doctor messaging, and stronger deployment and security hardening.
Our long-term goal is to make NutriCare a calm, trustworthy companion for everyday nutrition and coordinated care.
Log in or sign up for Devpost to join the conversation.