🌿
Analysing your meal...
Comparing against your phenotype profile
Test, Don't Guess
Food Log & Meal Analyser
Photo or description · Phenotype-matched analysis · Weekly pattern tracking
TDG Suite · v1.1
Your Name
Nutrition Phenotype
Active Exclusions
Gut Status
🍽
Log a Meal
Photo or description — analysed against your phenotype
Meal preview 📸
Photograph your meal
Tap to take a photo or choose from your camera roll
Time eaten
How you felt before
How you felt after
Hours since last meal
I'm currently in a gut flare / IBS episode — adjust analysis accordingly
🌿 Your Meal Analysis
Your meal score will
appear here after analysis
Today's Log
No meals logged today.
Start by analysing your first meal.
Send to Stephen Export your food log as a PDF — includes all meals, scores, and weekly pattern summary.
`); pw.document.close(); setTimeout(() => pw.print(), 500); } function showToast(message, type) { const toast = document.getElementById('toast'); toast.textContent = message; toast.className = 'toast toast-' + type + ' show'; setTimeout(() => toast.classList.remove('show'), 3500); } // ── PROFILE BRIDGE — loads client profile saved from Nutrition Integration Engine ── function loadNIEProfile() { try { const raw = localStorage.getItem('tdg_client_profile'); if (!raw) return; const p = JSON.parse(raw); let loaded = false; if (p.clientName) { document.getElementById('clientName').value = p.clientName; loaded = true; } if (p.phenotype && PHENOTYPE_DATA[p.phenotype]) { document.getElementById('phenotypeSelect').value = p.phenotype; updatePhenotypeContext(); loaded = true; } if (p.exclusions) { document.getElementById('exclusionsInput').value = p.exclusions; loaded = true; } if (loaded) { // Show dismissible banner const banner = document.createElement('div'); banner.id = 'nie-bridge-banner'; banner.style.cssText = 'background:var(--forest);color:#fff;padding:10px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12.5px;'; const mt = PHENOTYPE_DATA[p.phenotype]; banner.innerHTML = `✓ Profile loaded from Nutrition Integration Engine${p.clientName ? ' — ' + p.clientName + '' : ''}${mt ? ' · ' + mt.shortName : ''}`; document.querySelector('.setup-panel').insertAdjacentElement('afterend', banner); } } catch(e) { /* silent — bridge is optional */ } } renderLog(); updatePhenotypeContext(); loadNIEProfile();