Inspiration
NutriCare was inspired by a simple problem: managing food becomes difficult when someone must follow specific nutritional or medical dietary requirements. Receipts get lost, pantry items expire, and healthcare providers often have limited visibility into what their patients are eating.
We wanted to create one platform where users could manage groceries, record meals, understand their nutrition, and follow a doctor-supervised care plan—while keeping the user in control of every AI-generated result.
What It Does
NutriCare is a pantry and nutrition-management platform designed for personal users, hospital patients, and doctors.
Users can:
- Scan grocery receipts and food labels using AI-powered vision
- Review detected products before adding them to a digital pantry
- Monitor quantities, expiration dates, and low-stock items
- Recognize food from meal photographs
- Record meals and automatically deduct matching pantry items
- Review nutritional totals and dietary alerts
- Connect with a doctor through a supervised care plan
Doctors can:
- Connect with and supervise patients
- Record relevant health conditions
- Define nutritional limits and dietary targets
- Recommend foods to consume or avoid
- Review patient pantry and meal information
- Generate warnings when recorded meals conflict with a care plan
NutriCare distinguishes between purchasing and consuming food. Scanning a receipt only creates reviewable pantry entries; it does not assume that the user consumed those products. All AI-recognized information must be reviewed and confirmed by the user.
How We Built It
We built the frontend using:
- Next.js
- React
- TypeScript
- Tailwind CSS
The backend uses Node.js and Express, while PostgreSQL stores:
- User accounts
- Pantry inventory
- Meals
- Notifications
- Nutritional information
- Doctor-patient supervision data
JWT authentication protects the API and provides role-based access for personal users, hospital patients, and doctors.
For image recognition, NutriCare uses PaddleOCR during local development and Groq’s OpenAI-compatible vision API in production. The Qwen vision model processes receipt, food-label, and meal images and returns structured results for users to review.
We deployed the complete application on Vercel using a multi-service architecture. Backend endpoints are organized under /api, while all other routes are handled by the Next.js frontend.
Challenges We Ran Into
One major challenge was converting imperfect receipt text into useful pantry entries. Receipts contain store addresses, prices, totals, taxes, abbreviated product names, and inconsistent quantity formats. We had to filter irrelevant information and normalize the useful results.
Deployment introduced another challenge. Our initial Vercel routing configuration caused application pages such as /pantry to be handled by the backend instead of the Next.js frontend. We fixed this by placing every Express endpoint under /api and routing the remaining requests to Next.js.
We also discovered that Vercel’s production environment could not reliably run our local PaddleOCR setup. To solve this, we added a hosted vision workflow using Groq while preserving PaddleOCR for local development.
Another challenge was preventing AI-generated information from being treated as confirmed medical or consumption data. We designed review steps so users can correct recognized foods, quantities, and measurements before saving them.
Accomplishments That We’re Proud Of
We are proud that NutriCare connects pantry management, meal tracking, nutrition analysis, and doctor supervision in one continuous workflow.
A user can scan a receipt, review its products, add them to their pantry, recognize a meal from a photograph, record what they consumed, and see how that meal relates to their care plan.
We also implemented:
- Role-based doctor-patient supervision
- AI-assisted receipt, label, and meal recognition
- Pantry-linked meal deductions
- Measurement-unit conversion
- Expiration and low-stock notifications
- Nutritional limits and dietary alerts
- Secure JWT authentication
- A responsive interface for different screen sizes
Most importantly, NutriCare uses AI as an assistant rather than an unquestionable authority. Important nutrition and health-related information remains subject to human confirmation.
What We Learned
We learned that creating a health-focused application involves much more than displaying nutritional numbers. The system must communicate uncertainty, distinguish suggestions from confirmed information, and carefully control access to patient data.
Technically, we learned how to:
- Build and deploy a full-stack, multi-service application
- Connect Next.js and Express through a shared routing layer
- Design authenticated PostgreSQL APIs
- Process image uploads
- Integrate an OpenAI-compatible vision provider through Groq
We also learned that production testing is just as important as local testing. Routing behavior, environment variables, external API availability, and runtime capabilities can all behave differently after deployment.
What’s Next for NutriCare
Next, we want to:
- Improve recognition across more receipt formats and languages
- Add barcode scanning
- Expand the nutrition and ingredient database
- Create weekly nutrition summaries and progress charts
- Introduce smarter expiration and restocking reminders
- Improve doctor-patient progress reports
- Add clearer confidence indicators to AI results
- Improve accessibility and mobile usability
Longer term, we would like to integrate wearable-health data, support secure communication between patients and care teams, and conduct user testing with healthcare professionals and patients.
Built With
- artificial-intelligence
- computer-vision
- express.js
- groq
- jwt
- next.js
- node.js
- paddleocr
- postgresql
- qwen
- react
- tailwind-css
- typescript
- vercel
Log in or sign up for Devpost to join the conversation.