# PROJECT_CONTEXT.md ## 1. Vision Statement LocalFoodAI is a local food AI that provides full nutritional value information on any food and can generate complete menu proposals based on the user's specification. ### Key Features: - **User Accounts:** Create an account and log in. - **Nutritional Info:** Complete data (macros, minerals, vitamins, amino acids, etc.) for any food. - **Food Combinations:** Nutritional overview for user-specified quantities/combinations. - **Nutrient Search:** Search for specific nutrients and get a sortable list of foods. - **Saved Lists:** Store and edit food combinations in named lists. - **Menu Proposals:** AI-generated menus based on nutritional goals and constraints (e.g., allergies). - **Nutrition Chat:** Competent AI interaction for any nutrition-related queries. - **Local Web Search:** Anonymous tool for gathering missing info without leaving the server. ### Constraints: - **Privacy:** No user data leaves the server. All computation is local. - **Open Source:** Public repo on `https://git.btshub.lu/LocalFoodAI_`. No confidential data in Git. - **Environment:** Ubuntu 24.04 VM (8 vCPUs, 30 GB RAM, no dedicated GPU). - **Backend:** Python/FastAPI with local database (SQLite/PostgreSQL). - **LLM:** Quantized local models (via Ollama) optimized for CPU. ## 2. Roles - **Product Owner & Tech Lead:** User (Roni) - Interviews customer, writes Taiga backlog, directs Antigravity. - **Development Team:** Antigravity (AI) - Writes code, generates implementation plans, verifies logic. - **Customer & Scrum Master:** Teacher (Gilles Everling) - Stakeholder and authority on "Done". ## 3. Workflow & Scrum Rules - **Sprint Duration:** 1 week. - **Meetings:** - Daily Scrum (Wiki documentation: Accomplishments, Next steps, Obstacles). - Thursday: Sprint Review, Sprint Retrospective, Sprint Planning. - **Backlog Management:** User Stories in Taiga, broken into Technical Tasks. - **Review Policy:** "Request Review" (Antigravity must not auto-proceed). User must approve Python/DB logic. - **Commit Format:** Every commit message must start with `TG-: `. - **Taiga-Gogs Integration:** Webhooks track progress via commit messages. ## 4. Documentation Requirements (For Final Grade) - **Technical Document:** Installation/config guide, tech stack explanation, LLM selection rationale, diagram of local communication, proof of 100% data privacy. - **User Manual:** Non-developer guide on how to use all features. - **Antigravity Reflection:** Explain model usage, agent permissions, and how struggles were handled. ## 5. VM Access - **Host:** 192.168.130.171 - **User:** roni - **Password:** BTSai123 - **Root Password:** BTSai123