# Pocket Pascal Nutrition coach app for Steffi + David, built on Pascal Wirth's Ernährungsbaukasten (building-block nutrition system). Decision aid for "what do I eat right now" — not a tracker, not chat-first. See `/docs/CONCEPT.md` for the full spec. ## Before touching this repo Read `/docs/CONCEPT.md` in full. It is the source of truth for: - Vision, non-goals, and the "app should make itself obsolete" success criterion - The plate/building-block rules (protein, fat, carbs, veg/fruit) and portion sizes - The module list and which phase each belongs to - The decision log (section 8) — settled calls, do not re-litigate without a documented reason - Open questions (section 7) — several are marked as UX calls Steffi owns; don't decide those unilaterally ## Platform Web/PWA. **Not** a native iOS app. Decided 2026-08-03 (see decision log) — only 2 users, no App Store needed, and the existing vanilla JS data model/logic carries over directly. Target stack: React + shadcn/ui + Tailwind, hosted on Vercel or GitHub Pages (exact host still an open question — see concept doc §7). ## Data model `/data/foods.json` and `/data/steps.json` are extracted from the working prototype. Structured records, not display strings: ```json { "id": "chicken_breast", "cat": "protein", "name": { "de": "Hühnerbrust", "en": "Chicken breast" }, "v": { "de": "111 kcal · 24 g", "en": "111 kcal · 24 g" }, "f": "pick" } ``` `f` is `"pick"` (especially recommended), `"caution"` (enjoy mindfully), or absent. `v` is currently a display string per item — **not yet normalized to a common basis**. Pantry items are mostly per-100g; snack items are per-serving. Normalizing everything to per-100g is a prerequisite before quantities/calorie math can be added (see concept doc, Teller-Builder — Analyse-Layer module). DE is the primary working language (Steffi edits it directly), EN is the general template — every user-facing string needs both. UI chrome strings (not food data) live in a separate dictionary, not duplicated HTML. ## What's already built (reference only — not authoritative, rebuild in the new stack) `/reference/kueche_app.html` — working single-file prototype (Claude Artifact). Has: plate rule view, pantry/knowledge base with search, Teller-Builder (multi-select plate builder with pick/caution scoring), settings with language switch. Useful for behavior reference, not for copy-pasting into the new stack as-is. ## Working conventions - Bilingual: every content change ships both `de` and `en` in the same commit. - Curated, not exhaustive — see non-goals in the concept doc. Don't add a food-database API integration without checking §7 first. - UX/UI decisions are Steffi's call (she's the UX designer on this project). Flag them, don't just decide.