{"id":21205977,"url":"https://github.com/utkarshk95/nutrimate","last_synced_at":"2026-04-13T15:31:02.546Z","repository":{"id":262448793,"uuid":"886291701","full_name":"UtkarshK95/nutrimate","owner":"UtkarshK95","description":"A RAG Chatbot powered by Gen AI delivers precise, verified answers to nutrition questions, drawing from reputable research papers, medical journals, and government health sites.","archived":false,"fork":false,"pushed_at":"2024-12-28T19:21:42.000Z","size":7765,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-21T15:31:43.498Z","etag":null,"topics":["css3","generative-ai","html5","javascript","langchain-js","llm","openai","reactjs","typescript","vercel"],"latest_commit_sha":null,"homepage":"https://nutrimatechat.vercel.app","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/UtkarshK95.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-10T17:26:34.000Z","updated_at":"2024-12-28T19:25:59.000Z","dependencies_parsed_at":"2025-01-21T15:40:01.348Z","dependency_job_id":null,"html_url":"https://github.com/UtkarshK95/nutrimate","commit_stats":null,"previous_names":["utkarshk95/jarvis","utkarshk95/nutrimate"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UtkarshK95%2Fnutrimate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UtkarshK95%2Fnutrimate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UtkarshK95%2Fnutrimate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/UtkarshK95%2Fnutrimate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/UtkarshK95","download_url":"https://codeload.github.com/UtkarshK95/nutrimate/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243658270,"owners_count":20326467,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["css3","generative-ai","html5","javascript","langchain-js","llm","openai","reactjs","typescript","vercel"],"created_at":"2024-11-20T20:53:52.679Z","updated_at":"2026-04-13T15:31:02.528Z","avatar_url":"https://github.com/UtkarshK95.png","language":"TypeScript","funding_links":["https://buymeacoffee.com/utkarshk95"],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n\n# 🥗 NutriMate\n\n**Your local-first AI health companion.**\n\nNutriMate reads your lab reports, learns your body, and delivers deeply personalised nutrition and wellness insights — while also simplifying complex research papers. All privately on your machine. No cloud. No data leaks. Only privacy.\n\n[![Live Demo](https://img.shields.io/badge/Live%20Demo-nutrimate--uk.vercel.app-blue?style=for-the-badge\u0026logo=vercel)](https://nutrimate-uk.vercel.app)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow?style=for-the-badge)](./LICENSE)\n[![Next.js](https://img.shields.io/badge/Next.js-15-black?style=for-the-badge\u0026logo=next.js)](https://nextjs.org)\n[![TypeScript](https://img.shields.io/badge/TypeScript-97%25-3178C6?style=for-the-badge\u0026logo=typescript)](https://www.typescriptlang.org)\n\n\u003c/div\u003e\n\n---\n\n## ✨ Features\n\n- **Health Profile** — Store your age, gender, medications, conditions, allergies, and health goals\n- **Lab Reports** — Upload blood reports and diagnostic PDFs; AI extracts and tracks your biomarkers over time\n- **Research Library** — Upload research papers (PubMed, NIH, etc.) and get AI-simplified summaries used as context\n- **Fitness Data** — Import exports from Fitbit, Apple Health, or any CSV-based tracker\n- **AI Chat** — Ask health questions and get answers grounded in *your* data, not generic advice\n- **RAG Pipeline** — Retrieval-Augmented Generation ensures responses are based on your actual data, not hallucinations\n- **100% Local** — Your health data never leaves your machine\n\n---\n\n## 🛠️ Tech Stack\n\n| Layer          | Technology                              |\n|----------------|-----------------------------------------|\n| Framework      | Next.js 15 + TypeScript                 |\n| Styling        | Tailwind CSS v4 + shadcn/ui + Radix UI  |\n| AI (Chat)      | Gemini 2.0 Flash Lite                   |\n| AI (Embeddings)| Gemini text-embedding-004               |\n| PDF Parsing    | unpdf                                   |\n| Validation     | Zod                                     |\n| Storage        | Local filesystem (`/data`)              |\n| Vector Search  | In-memory cosine similarity             |\n\n---\n\n## 🚀 Getting Started\n\n### Prerequisites\n\n- Node.js v18+\n- A free [Gemini API key](https://aistudio.google.com/app/apikey)\n\n### Installation\n\n```bash\n# Clone the repository\ngit clone https://github.com/UtkarshK95/nutrimate.git\ncd nutrimate\n\n# Install dependencies\nnpm install\n```\n\n### Environment Setup\n\n```bash\ncp .env.example .env.local\n```\n\nOpen `.env.local` and fill in your credentials:\n\n```env\nGEMINI_API_KEY=your_gemini_api_key\nSITE_PASSWORD=your_chosen_password\n```\n\n### Run\n\n```bash\nnpm run dev\n```\n\nApp runs at `http://localhost:3000`.\n\n---\n\n## 🔒 Password Protection\n\nAll `/dashboard` routes are protected by the `SITE_PASSWORD` environment variable. The landing page is public.\n\n- Visit the app and click **Get Started** or **Open App** to enter the password\n- On success, an `httpOnly` cookie is set for 7 days — no re-entry needed\n- To reset, delete the `site-password` cookie in DevTools → Application → Cookies\n\n\u003e Never commit your real password. Only `.env.example` (with a placeholder) is tracked by git.\n\n---\n\n## 📁 Project Structure\n\n```\nnutrimate/\n├── src/app/\n│   ├── api/                # API routes (chat, ingest, profile)\n│   ├── dashboard/          # Main app sections\n│   │   ├── chat/\n│   │   ├── profile/\n│   │   ├── research/\n│   │   ├── lab-reports/\n│   │   └── fitness/\n│   └── page.tsx            # Landing / disclaimer page\n├── components/             # Shared UI components\n├── lib/\n│   ├── ai/                 # Gemini chat + embeddings\n│   ├── rag/                # Chunking, embedding, retrieval\n│   ├── parsers/            # PDF, CSV, XML parsers\n│   └── store/              # Local JSON file storage\n└── data/                   # Local data storage (gitignored)\n    ├── profile.json\n    ├── chunks.json\n    └── documents/\n```\n\n---\n\n## ⚠️ Disclaimer\n\nNutriMate is a **personal hobby project** and is not a medical device. AI-generated insights are for informational purposes only and do not constitute medical advice, diagnosis, or treatment. Always consult a qualified healthcare professional for medical decisions.\n\n---\n\n## ☕ Support the Project\n\n- **GitHub:** [https://github.com/UtkarshK95/nutrimate](https://github.com/UtkarshK95/nutrimate)\n- **Buy Me a Coffee:** [https://buymeacoffee.com/utkarshk95](https://buymeacoffee.com/utkarshk95)\n\n---\n\n## 📄 License\n\nThis project is licensed under the [MIT License](./LICENSE).\n\n---\n\n\u003cdiv align=\"center\"\u003e\n  Made with ❤️ by \u003ca href=\"https://github.com/UtkarshK95\"\u003eUtkarsh Katiyar\u003c/a\u003e\n\u003c/div\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Futkarshk95%2Fnutrimate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Futkarshk95%2Fnutrimate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Futkarshk95%2Fnutrimate/lists"}