ShelfWise — Snap Your Fridge, Stop Wasting $200 a Month on Food You Forgot You Had
The average household throws away $1,500 in food per year and blames busy schedules, not the complete absence of any system. ShelfWise lets you snap a photo of your fridge or pantry, extracts every item with expiry dates via vision AI, and sends you a daily push notification when something is about to expire — with a recipe suggestion that uses exactly those ingredients. Guilt meets convenience.
Difficulty
intermediate
Category
Consumer Apps
Market Demand
High
Revenue Score
6/10
Platform
Web App
Vibe Code Friendly
No
Hackathon Score
🏆 8/10
What is it?
Food waste is a $1,500/year problem per household that nobody has solved with a UX good enough for non-preppers to actually use. Existing apps like Pantry Check require manual entry, which nobody does after week one. ShelfWise uses GPT-4o vision to extract items, quantities, and expiry dates from a fridge photo in 10 seconds, maintains a live pantry inventory, sends daily expiry alerts via push or SMS, and suggests recipes that prioritize about-to-expire ingredients using Claude. The core insight from the May 2026 wave of vibe-coded consumer apps is that the camera is the fastest UI — faster than typing, faster than scanning barcodes, and infinitely more likely to actually get used.
Why now?
GPT-4o vision accuracy for everyday object and text recognition reached consumer-grade reliability in 2025, and next-pwa now supports camera access natively — making a camera-first pantry app finally buildable in a weekend without a native mobile app.
- ▸Snap-to-pantry: GPT-4o vision extracts all visible items, estimated quantities, and visible expiry dates from a single fridge photo.
- ▸Live pantry inventory with manual edit fallback and expiry date sorting.
- ▸Daily expiry alert push notifications via Novu showing items expiring within 3 days.
- ▸Claude-powered recipe suggestions that prioritize about-to-expire items with one-tap save to recipe list.
Target Audience
Busy households with $60k+ income, particularly households with kids or meal-prepping adults — ~40 million US households who actively try to reduce food waste.
Example Use Case
Priya snaps her fridge every Sunday, ShelfWise tracks 34 items, sends her a Monday alert that Greek yogurt and blueberries expire in 2 days, suggests a smoothie recipe using both, and she uses them — saving $12 and 2 minutes of thinking.
User Stories
- ▸As a busy parent, I want to snap my fridge and see what's expiring this week, so that I stop throwing away food I forgot I bought.
- ▸As a meal prepper, I want Claude to suggest a recipe using my about-to-expire ingredients, so that I use everything before it goes bad without spending 20 minutes searching.
- ▸As a household budgeter, I want daily expiry alerts on my phone, so that I'm reminded to use specific items before I waste the money I spent on them.
Done When
- ✓Scan: done when a fridge photo is uploaded and at least 5 pantry items appear in the inventory grid within 15 seconds with names and estimated expiry dates.
- ✓Expiry alert: done when a test item with a 2-day expiry triggers a push notification via Novu visible on the test device.
- ✓Recipe suggestion: done when tapping Get Recipe returns at least 2 complete recipes that explicitly mention the expiring ingredients in the ingredient list.
- ✓Billing: done when Stripe checkout completes and the user's scan count resets to unlimited, confirmed by scanning a 4th time without hitting the free tier block.
Is it worth building?
$4.99/month x 500 users = $2,495 MRR at month 4. $9.99/month family plan x 200 users = $1,998 MRR additional. Consumer app growth is slow — $5k MRR requires strong word-of-mouth or a viral TikTok moment. Realistic month 6 target is $2k-$4k MRR.
Unit Economics
CAC: $25 via organic TikTok and Reddit (time cost). LTV: $60 (12 months at $4.99/month, 60% annual retention). Payback: 5 months. Gross margin: 78%.
Business Model
SaaS subscription
Monetization Path
Free tier: 3 pantry scans/month. $4.99/month: unlimited scans, daily expiry alerts, recipe suggestions.
Revenue Timeline
First dollar: week 3 via first paid upgrade. $1k MRR: month 4. $5k MRR: month 10 assuming viral TikTok moment. Honest note: consumer app growth is unpredictable — $5k MRR may take 18 months without paid acquisition.
Estimated Monthly Cost
GPT-4o Vision API: $40 (at 4,000 scans), Claude API: $15, Novu: $20, Vercel: $20, Supabase: $25, Stripe fees: $15. Total: ~$135/month at launch.
Profit Potential
Side income viable at $2k-$5k MRR. Full-time requires 10,000+ users.
Scalability
Medium — add grocery list auto-generation from low-stock items and supermarket deal integration via Flipp API in V2.
Success Metrics
Week 2: 200 free signups from TikTok or Reddit post. Month 1: 50 paid users. Month 3: 200 paid users with 65% month-2 retention.
Launch & Validation Plan
Post a 30-second TikTok of snapping a fridge and watching the pantry auto-populate, link to waitlist, target 500 signups before writing backend.
Customer Acquisition Strategy
First customer: post a before/after fridge scan demo video in r/mealprep and r/ZeroWaste offering 6-month free trial to first 20 commenters. Ongoing: TikTok food waste content, Pinterest recipe content linking to app, r/frugal and r/budgetfood communities.
What's the competition?
Competition Level
Medium
Similar Products
Pantry Check requires manual barcode scanning — nobody sustains it. Yummly suggests recipes but has no pantry inventory. Fridgely is abandoned and has terrible reviews — ShelfWise wins on camera-first extraction and daily expiry alerts.
Competitive Advantage
Camera-first UX eliminates the manual entry barrier that kills every other pantry app. GPT-4o vision in 2026 is accurate enough that users actually trust the extraction — earlier apps failed because OCR was garbage.
Regulatory Risks
Low regulatory risk. GDPR data deletion endpoint required for EU users. Food safety advice must include a disclaimer that expiry date tracking is for reference only.
What's the roadmap?
Feature Roadmap
V1 (launch): camera scan, expiry tracking, daily alerts, Claude recipes. V2 (month 2-3): grocery list from low-stock items, household sharing, barcode scan fallback. V3 (month 4+): Flipp deal integration for expiring item replacements, meal planning calendar.
Milestone Plan
Phase 1 (Week 1-2): GPT-4o scan, pantry grid, and manual edit working end-to-end. Phase 2 (Week 3-4): Novu alerts cron job, Claude recipes, Stripe billing live. Phase 3 (Month 2): 50 paid users, TikTok demo posted with 10k+ views.
How do you build it?
Tech Stack
Next.js PWA, GPT-4o Vision API, Claude API for recipe suggestions, Supabase, Novu for push notifications, Stripe — build with Cursor for vision extraction logic, Lovable for mobile-first UI.
Suggested Frameworks
GPT-4o Vision API, Novu notification SDK, next-pwa for PWA camera access
Time to Ship
2 weeks
Required Skills
GPT-4o vision API, PWA camera access, push notifications, Claude recipe prompting.
Resources
OpenAI Vision API docs, Novu notification docs, next-pwa docs, Supabase quickstart.
MVP Scope
app/page.tsx (landing + hero), app/dashboard/page.tsx (pantry inventory view), app/api/scan/route.ts (GPT-4o vision extraction), app/api/recipes/route.ts (Claude recipe suggestion), app/api/alerts/route.ts (Novu expiry notification trigger), lib/vision.ts (GPT-4o prompt + response parser), lib/claude.ts (recipe prompt helper), lib/db/schema.ts (users, pantry_items, recipes tables), components/CameraCapture.tsx (PWA camera UI), components/PantryGrid.tsx (item cards with expiry countdown), seed.ts (12 demo pantry items), .env.example.
Core User Journey
Snap fridge photo -> pantry populates automatically -> receive expiry alert -> tap recipe suggestion -> cook it -> repeat weekly.
Architecture Pattern
User snaps fridge photo -> GPT-4o Vision API extracts items + expiry dates -> structured JSON stored in Supabase -> daily cron checks items expiring in 3 days -> Novu sends push notification -> user opens app -> Claude generates recipe from expiring items.
Data Model
User has one Pantry. Pantry has many PantryItems (name, quantity, expiry_date, category). User has many SavedRecipes. PantryItem triggers ExpiryAlert when expiry within 3 days.
Integration Points
GPT-4o Vision API for item extraction, Claude API for recipe generation, Novu for push notifications, Supabase for database, Stripe for billing, Vercel for hosting.
V1 Scope Boundaries
V1 excludes: grocery list generation, supermarket deal integration, household sharing, barcode scanning, meal planning calendar, smart home integrations.
Success Definition
A paying stranger finds the app organically, scans their fridge without instructions, receives a useful expiry alert, cooks the suggested recipe, and renews after month one.
Challenges
Consumer subscription churn is brutal — users cancel after the novelty wears off in week 3. Retention requires habit formation via daily notifications, not just a good onboarding. Distribution is the hardest problem: consumer apps live and die on organic virality or paid acquisition, neither of which is cheap. Budget $500+ for TikTok testing before assuming organic will work.
Avoid These Pitfalls
Do not build a full recipe database — Claude generates better context-aware recipes on demand than any static database. Do not skip push notifications — without daily re-engagement the app becomes forgettable within a week. Consumer churn without daily habits is near 80% by month 2 — design the daily alert as the core retention mechanism, not a nice-to-have.
Security Requirements
Supabase Auth with Google OAuth, RLS on pantry_items per user_id, fridge photos not stored permanently (deleted after extraction), rate limit 10 scans/hour per user, GDPR deletion endpoint.
Infrastructure Plan
Vercel for Next.js PWA, Supabase for Postgres, Vercel Cron for daily expiry job, GitHub Actions for CI, Sentry for errors, no file storage needed (photos processed in memory).
Performance Targets
500 DAU at growth stage, GPT-4o extraction under 12 seconds, page load under 2s on mobile, Novu push delivery under 30 seconds from cron trigger.
Go-Live Checklist
- ☐GPT-4o vision extraction tested on 20 real fridge photos.
- ☐Novu push notification tested on iOS and Android.
- ☐Stripe $4.99 plan and free tier gate tested.
- ☐Sentry error tracking live.
- ☐PWA camera permission flow tested on mobile Chrome.
- ☐Privacy policy with photo handling note published.
- ☐10 beta households used the app for 2 weeks.
- ☐Rollback plan documented.
- ☐TikTok and Reddit launch content ready.
First Run Experience
On first run: pantry grid shows 12 pre-seeded demo items including milk expiring in 2 days, spinach expiring tomorrow, and eggs expiring in 5 days — all with countdown badges. User can immediately tap Get Recipe and see a spinach omelette suggestion using the expiring items. No manual config required: demo pantry pre-seeded, recipe generation works on demo data without scanning.
How to build it, step by step
1. Define schema: users, pantry_items (user_id, name, quantity, expiry_date, category, source_scan_id), saved_recipes (user_id, title, ingredients, instructions) in Supabase. 2. Run npx create-next-app shelfwise and install openai, @anthropic-ai/sdk, supabase-js, @novu/node, stripe, next-pwa. 3. Build CameraCapture component using PWA navigator.mediaDevices.getUserMedia that captures a photo and returns base64 image string. 4. Build /api/scan route that sends base64 image to GPT-4o Vision with a prompt extracting item name, quantity, and expiry date as JSON array. 5. Parse GPT-4o response and upsert all extracted items into pantry_items table linked to user_id. 6. Build PantryGrid component in Lovable showing items as cards with expiry countdown badge and red highlight when under 3 days. 7. Build /api/recipes route that sends expiring items list to Claude API and returns 2-3 recipes using those ingredients specifically. 8. Set up Novu notification workflow triggered by a daily Vercel Cron job that queries items expiring in 3 days and sends push notification to each affected user. 9. Add Stripe Checkout for $4.99/month plan gated at 3 free scans per month limit enforced by Supabase RLS policy. 10. Verify: snap a real fridge photo in the PWA, confirm items populate in PantryGrid within 15 seconds, check a recipe suggestion references the extracted items, confirm Novu notification fires in test mode.
Generated
May 18, 2026
Model
claude-sonnet-4-6
Disclaimer: Ideas on this site are AI-generated and may contain inaccuracies. Revenue estimates, market demand figures, and financial projections are illustrative assumptions only — not financial advice. Do your own research before making any business or investment decisions. Technology availability, pricing, and market conditions change rapidly; always verify details independently.