1<!doctype html> 2<html lang="en"> 3 <head> 4 <meta charset="UTF-8" /> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0, viewport-fit=cover" /> 6 7 <!-- Primary SEO --> 8 <title>VitaPlate â Meal Plans Built From Your Blood Work</title> 9 <meta name="description" content="Upload your lab results. AI extracts your biomarkers and builds a 7-day personalized meal plan to fix what's off. The only nutrition platform driven by your actual blood work." /> 10 <meta name="keywords" content="biomarker meal plan, lab results nutrition, blood work diet, personalized meal planning, LDL cholesterol diet, HbA1c meal plan, vitamin D foods, AI nutrition" /> 11 <link rel="canonical" href="https://www.vitaplate.ai/" /> 12 13 <!-- Open Graph (Facebook, LinkedIn, WhatsApp) --> 14 <meta property="og:type" content="website" /> 15 <meta property="og:url" content="https://www.vitaplate.ai/" /> 16 <meta property="og:title" content="VitaPlate â Your Blood Work Becomes Your Meal Plan" /> 17 <meta property="og:description" content="Upload any lab report. AI reads your biomarkers â LDL, glucose, Vitamin D, CRP â and builds a 7-day meal plan specifically designed to fix what's off." /> 18 <meta property="og:image" content="https://www.vitaplate.ai/og-image.svg" /> 19 <meta property="og:image:width" content="1200" /> 20 <meta property="og:image:height" content="630" /> 21 <meta property="og:site_name" content="VitaPlate" /> 22 <meta property="og:locale" content="en_US" /> 23 24 <!-- Twitter Card --> 25 <meta name="twitter:card" content="summary_large_image" /> 26 <meta name="twitter:site" content="@VitaPlateAI" /> 27 <meta name="twitter:title" content="VitaPlate â Your Blood Work Becomes Your Meal Plan" /> 28 <meta name="twitter:description" content="Upload any lab report. AI extracts your biomarkers and builds a personalized meal plan to fix what's off. Free to start." /> 29 <meta name="twitter:image" content="https://www.vitaplate.ai/og-image.svg" /> 30 31 <!-- PWA / Mobile --> 32 <meta name="mobile-web-app-capable" content="yes" /> 33 <meta name="apple-mobile-web-app-capable" content="yes" /> 34 <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" /> 35 <meta name="apple-mobile-web-app-title" content="VitaPlate" /> 36 <meta name="theme-color" content="#6366f1" /> 37 <meta name="application-name" content="VitaPlate" /> 38 39 <!-- Favicon --> 40 <link rel="icon" type="image/png" href="https://qtrypzzcjebvfcihiynt.supabase.co/storage/v1/object/public/base44-prod/public/695042d8937b0c0cf7f7afd6/1812bfbf0_image.png" /> 41 <link rel="apple-touch-icon" href="https://qtrypzzcjebvfcihiynt.supabase.co/storage/v1/object/public/base44-prod/public/695042d8937b0c0cf7f7afd6/1812bfbf0_image.png" /> 42 <link rel="manifest" href="/manifest.json" /> 43 44 <!-- Structured data (Google rich results) --> 45
45<script type="application/ld+json"> 46 { 47 "@context": "https://schema.org", 48 "@type": "SoftwareApplication", 49 "name": "VitaPlate", 50 "url": "https://www.vitaplate.ai", 51 "description": "AI-powered nutrition platform that builds personalized meal plans from your lab results and biomarkers.", 52 "applicationCategory": "HealthApplication", 53 "operatingSystem": "Web", 54 "offers": { 55 "@type": "Offer", 56 "price": "0", 57 "priceCurrency": "USD", 58 "description": "Free plan available" 59 }, 60 "featureList": [ 61 "Lab result PDF upload and biomarker extraction", 62 "AI-generated personalized meal plans", 63 "Lab trend tracking and comparison", 64 "Supplement recommendations from biomarkers", 65 "Nova AI nutrition coach" 66 ] 67 } 68 </script>
68 69 70 <!-- Google Fonts â DM Sans for the hero headline --> 71 <link rel="preconnect" href="https://fonts.googleapis.com" /> 72 <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin /> 73 <link href="https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,700;0,9..40,900&display=swap" rel="stylesheet" /> 74 75 <!-- Service Worker --> 76
76<script> 77 if ('serviceWorker' in navigator) { 78 window.addEventListener('load', () => { 79 navigator.serviceWorker.register('/sw.js').catch(() => {}); 80 }); 81 } 82 </script>
82 83
83<script type="module" crossorigin src="/assets/index-B_B0MYYf.js"></script>
83 84 <link rel="modulepreload" crossorigin href="/assets/vendor-DG8L2bqm.js"> 85 <link rel="modulepreload" crossorigin href="/assets/supabase-DHXnCnzK.js"> 86 <link rel="modulepreload" crossorigin href="/assets/ui-R-neCPeM.js"> 87 <link rel="modulepreload" crossorigin href="/assets/charts-CWyfkXzT.js"> 88 <link rel="stylesheet" crossorigin href="/assets/index-wOAwXrWx.css"> 89 </head> 90 <body> 91 <div id="root"></div> 92 </body> 93</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.