Skip to content
publik.
Browse appsAppsPricing
+Publish a repoPublish
Browse appsHow it worksPublish a repoGet helpPricingDevelopersGitHubPrivacy
© 2026 Publik
← All apps

PantryAI

AI pantry, receipts & meal planner via Gemini, Supabase & Vercel on iPhone.

AI runs online

not yet reviewed by publik. It is live now; the founder has not reviewed this version yet.

P

PantryAI

open source · on publik

On your phone?

You install PantryAI from a computer. Send yourself the link and open it there.

Vote on PantryAI
1
Read the install guide→Open in GitHub↗

Compared with

A

A free alternative to Mealime, PlanToEat and MyFitnessPal.

MyFitnessPal Premium+, billed monthly

$24.99/mo

What a month of AI costs

  • A free alternative to Mealime, PlanToEat and MyFitnessPal.$24.99/mo
  • publik API$4.33/mo

publik API: $20.66 a month less than A free alternative to Mealime, PlanToEat and MyFitnessPal..

100 uses a week at the Balanced level · publik API is cheaper up to about 576 uses a week

Make this yours→Fork PantryAI, change it, publish your version. About 30 minutes. No experience needed.

Having trouble? Tell us

Where PantryAI’s AI runs, and what it costs

Prices are for one typical use: one request of about 1,500 words sent and 375 words back. A higher quality score is better.

On your computer

PantryAI has no option to run its AI on your computer.

publik API

Price
$0.0100 per use, $10.00 per 1,000 usespublik-balanced, the default level
Quality
MiMo-V2.6-Pro: 46
Setup
Not built into PantryAI yet. A publik API key works wherever PantryAI takes an OpenAI-compatible address.

Your own key

Price
$0.0013 per use, $1.31 per 1,000 usesMiMo-V2.6-Pro at OpenRouter’s list price, before its fee for buying usage
Quality
MiMo-V2.6-Pro: 46
Setup
Open a provider account, add a card, paste the key into PantryAI.

Quality and price, side by side

Quality score and cost per 1,000 typical uses for local models and the three publik API levels
ModelQualityPer 1,000 uses
On your computer (Ollama, 4-bit download size)
Granite 4.2 3B2.2 GB9$0
Phi-4 Mini2.5 GB6$0
Llama 3.1 8B4.9 GB7$0
gpt-oss 20B14 GB9$0
Gemma 4 31B20 GB19*$0
Qwen3.5 35B-A3B24 GB19*$0
publik API
publik-fastGLM-5.3 Flash42$1.00
publik-balancedMiMo-V2.6-Pro · PantryAI46$10.00
publik-smartGPT-6 Sol48$18.00

Quality: Artificial Analysis Intelligence Index v4.3.2, read 2026-09-22 (publik API models 2026-09-25); * = estimated by Artificial Analysis. Sizes: the Ollama library, read 2026-09-22.

What you pay for

  • On your computer: nothing per use. You pay in disk space, memory and electricity, at lower quality.
  • publik API: publik’s published price for each use, in dollars, from your publik balance. It is above the model’s cost; the difference runs publik and pays the app’s builder.
  • Your own key: the provider’s price, billed to an account you keep with the provider.
See plans and prices →How publik API pricing works →

How to install PantryAI

Every step written out. No terminal experience needed. Pick your setup.

  • How to install PantryAI on Mac →
  • How to install PantryAI on Windows →

README

Open in GitHub ↗

🥗 PantryAI

Personal food assistant (PWA) to install on your iPhone home screen: budget → pantry → AI weekly menu → shopping list → cook → consume. Built for strictly personal use (a single person/household, no login, no social features, no payments).

Features

  • Local-first: works offline (Zustand + localStorage); syncs with Supabase in the background whenever there's internet.
  • AI-powered weekly planner (Gemini): generates a full menu that respects your budget, nutrition goals, current pantry, and preferences expressed in natural language. The arithmetic (calories, macros, prices, quantities) is always computed by the app, never by the AI.
  • Pantry with fridge / pantry / freezer, manual entry, by dictation (several products at once), or by receipt photo (OCR with Gemini Vision).
  • Personal price memory: remembers the last real price paid for each product and uses it to estimate the cost of your next shop.
  • Smart shopping list: compares what you need with what you already have, rounds up to real package sizes, and prioritizes real prices over estimates.
  • Cook Mode: large steps, timers, and a button to adjust the recipe on the fly with AI. When you finish, it automatically deducts the ingredients used from your pantry.
  • Installable PWA on iOS: full screen, no Safari bar.

Tech stack

  • Next.js 14 (App Router) + TypeScript
  • Supabase (Postgres) as the sync backend
  • Google Gemini (gemini-flash-latest, free tier) for menu generation, receipt OCR, and natural language understanding
  • Tailwind CSS + shadcn/ui + Framer Motion
  • Zustand with local persistence

How to self-host your own copy

This app is meant for each person to deploy with their own Supabase and Gemini keys. No key or credential is included in this repository.

2. Create a Supabase project
  1. Go to supabase.com and create a new project (the free plan is more than enough for personal use).
  2. Open SQL Editor → New query and run, in this order, the contents of each of these files from the repo:
    1. supabase/schema.sql
    2. supabase/schema_part3.sql
    3. supabase/schema_part4.sql
  3. Go to Project Settings → API and copy:
    • Project URL → this will be your NEXT_PUBLIC_SUPABASE_URL
    • anon public key → this will be your NEXT_PUBLIC_SUPABASE_ANON_KEY

The database is designed for a single user: the RLS policies allow all operations without authentication. Don't expose this app publicly without adding your own auth layer if you're concerned about others accessing your data.

3. Get a Gemini API key (free)
  1. Go to aistudio.google.com/apikey.
  2. Create a new API key. The free tier of gemini-flash-latest is enough for personal use.
  3. This key will be your GEMINI_API_KEY.
4. Set up your environment variables
cp .env.local.example .env.local

Edit .env.local and fill in the three variables with what you got in steps 2 and 3:

NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-public-key
GEMINI_API_KEY=your-gemini-key

.env.local is in .gitignore: it's never pushed to the repository.

5. Try it locally
npm run dev

Open http://localhost:3000.

6. Deploy to Vercel

Option A — from the web:

  1. Go to vercel.com/new and import your GitHub repository.
  2. Under "Environment Variables", add the same three variables from .env.local.
  3. Deploy.

Option B — from the terminal:

npm install -g vercel
vercel        # first deploy, follow the prompts
vercel --prod # subsequent deploys

If you use the CLI, add the environment variables in Vercel Dashboard → your project → Settings → Environment Variables and redeploy with vercel --prod for them to take effect.

7. Install it on your iPhone home screen
  1. Open your deployment URL in Safari (it has to be Safari, not Chrome, for PWA mode to work on iOS).
  2. Tap the Share icon (a square with an arrow pointing up).
  3. Tap "Add to Home Screen".
  4. Open the app from the new icon: it will open full screen.

Project structure

app/                    Next.js routes (pages + /api endpoints)
components/             UI components (pantry, week, shopping, cook...)
lib/                    Store (Zustand), AI logic, deterministic calculations
  ai/                   AI provider abstraction, prompts, and schemas
  supabase/             Client and sync logic
supabase/               SQL migrations (run in order)
public/                 Manifest, service worker, icons

Privacy

All your data (budget, pantry, plans, prices) lives first on your own device and syncs only with your own Supabase project. No data is shared with third parties except for the calls needed to the Gemini API to generate content (menus, receipt reading, text interpretation).

📄 License

MIT — use it, modify it, and share it freely. See LICENSE.