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" /> 6 <title>Pantryfy: AI pantry, meal planner, and smart shopping lists</title> 7 <meta name="description" content="Pantryfy connects your pantry, saved recipes, weekly meal plan, and shopping list. Plan from what you have and review what you need to buy." /> 8 <meta name="keywords" content="AI pantry app, meal planner, shopping list, recipe organizer, kitchen inventory, smart grocery list, recipe planner" /> 9 <meta name="theme-color" content="#ee6f47" /> 10 <meta name="application-name" content="Pantryfy" /> 11 <meta name="robots" content="index,follow" /> 12 <link rel="canonical" href="https://www.pantryfy.ai/" /> 13 14 <!-- Bing Webmaster Tools site verification --> 15 <meta name="msvalidate.01" content="D1F885D17043CB0F2EBA827D93D79D3F" /> 16 17 <!-- Favicons (SVG primary, PNG fallback for older browsers) --> 18 <link rel="icon" type="image/svg+xml" href="/favicon.svg" /> 19 <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32.png" /> 20 <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" /> 21 <link rel="mask-icon" href="/safari-pinned-tab.svg" color="#ee6f47" /> 22 23 <!-- Open Graph (Slack, iMessage, Facebook, LinkedIn previews) --> 24 <meta property="og:type" content="website" /> 25 <meta property="og:site_name" content="Pantryfy" /> 26 <meta property="og:title" content="Pantryfy: AI pantry, meal planner, and smart shopping lists" /> 27 <meta property="og:description" content="Track your pantry, save recipes, plan meals, and build a shopping list from the week." /> 28 <meta property="og:image" content="https://www.pantryfy.ai/og-image.png" /> 29 <meta property="og:image:width" content="1200" /> 30 <meta property="og:image:height" content="630" /> 31 <meta property="og:image:alt" content="Pantryfy: AI pantry, meal planner, and smart shopping lists" /> 32 <meta property="og:url" content="https://www.pantryfy.ai/" /> 33 <meta property="og:locale" content="en_US" /> 34 35 <!-- Twitter Card --> 36 <meta name="twitter:card" content="summary_large_image" /> 37 <meta name="twitter:title" content="Pantryfy: AI pantry, meal planner, and smart shopping lists" /> 38 <meta name="twitter:description" content="Track your pantry, save recipes, plan meals, and build a shopping list from the week." /> 39 <meta name="twitter:image" content="https://www.pantryfy.ai/og-image.png" /> 40 <meta name="twitter:image:alt" content="Pantryfy: AI pantry, meal planner, and smart shopping lists" /> 41
42 <!-- Schema.org JSON-LD: helps Google show a richer card in results --> 43
43<script type="application/ld+json"> 44 { 45 "@context": "https://schema.org", 46 "@type": "SoftwareApplication", 47 "name": "Pantryfy", 48 "operatingSystem": "iOS, Web", 49 "applicationCategory": "LifestyleApplication", 50 "url": "https://www.pantryfy.ai/", 51 "description": "Kitchen app for pantry inventory, saved recipes, weekly meal planning, and shopping lists. Compare planned meals with what you already have.", 52 "featureList": [ 53 "Pantry inventory with expiry tracking, barcode scanning, reviewed photo parsing, and autocomplete over 10,000+ foods", 54 "Recipe import from URLs, plain text, and reviewed cookbook photos", 55 "Per-member taste profiles: known allergen conflicts are filtered from supported suggestions when ingredient data can be resolved; labels and cross-contact still need human verification", 56 "Ingredient substitutions with quantities worked out", 57 "Coverage-honest nutrition per serving", 58 "Shopping lists generated from the meal plan, grouped by store section", 59 "Household sharing with real-time sync (Family)" 60 ], 61 "offers": [ 62 { 63 "@type": "Offer", 64 "name": "Free", 65 "price": "0", 66 "priceCurrency": "USD" 67 }, 68 { 69 "@type": "Offer", 70 "name": "Pro", 71 "price": "6.99", 72 "priceCurrency": "USD" 73 }, 74 { 75 "@type": "Offer", 76 "name": "Family", 77 "price": "11.99", 78 "priceCurrency": "USD" 79 } 80 ] 81 } 82 </script>
82 83 84 <!-- Organization + WebSite entity. Helps AI engines + Google recognize 85 Pantryfy as a brand entity (sameAs links its profiles). Present on 86 every page (prerendered pages clone this head). --> 87
87<script type="application/ld+json"> 88 { 89 "@context": "https://schema.org", 90 "@graph": [ 91 { 92 "@type": "Organization", 93 "@id": "https://www.pantryfy.ai/#organization", 94 "name": "Pantryfy", 95 "url": "https://www.pantryfy.ai/", 96 "logo": "https://www.pantryfy.ai/icons/icon-512.png", 97 "description": "Pantry inventory, saved recipes, weekly meal planning, and shopping lists for iOS and the web.", 98 "sameAs": ["https://apps.apple.com/app/pantryfy/id6765699231", "https://play.google.com/store/apps/details?id=ai.pantryfy.app"] 99 }, 100 { 101 "@type": "WebSite", 102 "@id": "https://www.pantryfy.ai/#website", 103 "url": "https://www.pantryfy.ai/", 104 "name": "Pantryfy", 105 "publisher": { "@id": "https://www.pantryfy.ai/#organization" } 106 } 107 ] 108 } 109 </script>
109 110 111 <!-- Inter is self-hosted via @fontsource/inter (imported in main.tsx). 112 The Google Fonts CDN preconnect + stylesheet that used to live 113 here was render-blocking and cost ~1.2s on mobile LCP/FCP. --> 114
114<script type="module" crossorigin src="/assets/index-OkrqJvG1.js"></script>
114 115 <link rel="stylesheet" crossorigin href="/assets/index-hMClJD_A.css"> 116 <link rel="manifest" href="/manifest.webmanifest">
116<script id="vite-plugin-pwa:register-sw" src="/registerSW.js"></script>
116</head> 117 <body> 118 <div id="root"> 119 <!-- 120 Static pre-hydration content for the home route. React replaces 121 this the instant it mounts, so users only ever see it as a brief 122 branded splash. It exists so crawlers and AI engines that don't 123 execute JavaScript still get the homepage's H1 + value 124 proposition + crawlable links, rather than an empty <div>. 125 Mirrors the H1/subhead in src/pages/LandingPage.tsx â keep them 126 in sync. 127 --> 128 <div style="min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;font-family:system-ui,-apple-system,'Segoe UI',sans-serif;color:#1f1a17;background:#faf6ef;"> 129 <!-- Static reproduction of src/components/BrandMark.tsx (md): 130 chef hat on the coral gradient square + two-tone wordmark. 131 Colors are the light-mode tokens from globals.css 132 (primary 16 78% 55%, tertiary 42 88% 55%). --> 133 <div style="display:flex;align-items:center;gap:10px;margin-bottom:1.5rem;"> 134 <span style="display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:11px;background:linear-gradient(135deg,#e66233,#f1b527);"> 135 <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="#fff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"> 136 <path d="M6 13.87A4 4 0 0 1 7.41 6a5.11 5.11 0 0 1 1.05-1.54 5 5 0 0 1 7.08 0A5.11 5.11 0 0 1 16.59 6 4 4 0 0 1 18 13.87V21H6Z"/> 137 <line x1="6" x2="18" y1="17" y2="17"/> 138 </svg> 139 </span> 140 <span style="font-size:24px;font-weight:700;font-family:'Space Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;letter-spacing:-0.02em;">Pantry<span style="color:#e66233;">fy</span></span> 141 </div> 142 <h1 style="font-size:2rem;font-weight:700;font-family:'Space Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;letter-spacing:-0.02em;max-width:32rem;line-height:1.15;margin:0 0 1rem;"> 143 Cook what you have. Plan less. Waste nothing. 144 </h1> 145 <p style="max-width:34rem;font-size:1.05rem;line-height:1.6;color:#5c544e;margin:0 0 1.75rem;"> 146 Pantryfy is the AI kitchen app where your pantry, recipes, meal 147 plan, and shopping list all talk to each other. It keeps a running 148 tally of your kitchen and suggests dinners you can mostly cook 149 tonight. Save recipes from a written link, pasted text, or a reviewed 150 cookbook-page photo. Plan meals from your saved recipes, generate a 151 shopping list, and compare it with your pantry before you shop. 152 Declared taste preferences remain reviewable in your profile. Known 153 allergen conflicts are filtered from supported suggestions when 154 ingredient data is available; check labels and cross-contact yourself. 155 </p> 156 <ul style="max-width:34rem;text-align:left;font-size:0.95rem;line-height:1.7;color:#5c544e;margin:0 0 1.75rem;padding-left:1.2rem;"> 157 <li>Pantry tracking by barcode, reviewed receipt photo, or plain language, with expiry warnings</li> 158 <li>"What can I cook?" suggestions ranked by what you already own</li> 159 <li>Recipe import from URLs, text, and reviewed photos</li> 160 <li>Ingredient swaps with the ratio worked out, and coverage-honest nutrition</li> 161 <li>Shopping lists built from the week's plan, grouped the way you walk the store</li> 162 <li>Household sharing so nobody texts "did you grab eggs?" at 6pm</li> 163 </ul> 164 <p style="display:flex;gap:0.75rem;flex-wrap:wrap;justify-content:center;"> 165 <a href="/register" style="background:#e66233;color:#fff;padding:0.7rem 1.4rem;border-radius:12px;font-weight:600;text-decoration:none;">Create your free account</a> 166 <a href="/about" style="color:#e66233;padding:0.7rem 1.4rem;border-radius:12px;font-weight:600;text-decoration:none;border:1px solid #e66233;">See how it works</a> 167 </p> 168 <p style="margin-top:1.5rem;font-size:0.9rem;color:#8a817b;"> 169 <a href="/login" style="color:#8a817b;">Sign in</a> · 170 <a href="/about" style="color:#8a817b;">About</a> · 171 <a href="/upgrade" style="color:#8a817b;">Pricing</a>
171 · 172 <a href="/blog" style="color:#8a817b;">Blog</a> · 173 <a href="/support" style="color:#8a817b;">Support</a> · 174 <a href="/privacy" style="color:#8a817b;">Privacy</a> · 175 <a href="/terms" style="color:#8a817b;">Terms</a> 176 </p> 177 </div> 178 </div> 179 <!-- 180 Static fallback links for crawlers that do not execute JavaScript. 181 Specifically required by Google's OAuth-consent-screen verifier, 182 which fetches the home-page URL without a JS runtime and rejects 183 apps whose home page lacks a privacy-policy link. The React app 184 renders its own footer with these same links once hydrated, so 185 this noscript block is invisible to normal users and exists 186 purely to satisfy crawler checks. 187 --> 188 <noscript> 189 <footer> 190 <a href="https://www.pantryfy.ai/privacy">Privacy Policy</a> 191 <a href="https://www.pantryfy.ai/terms">Terms of Use</a> 192 <a href="https://www.pantryfy.ai/support">Support</a> 193 </footer> 194 </noscript> 195 </body> 196</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.