A Shared Household
Food Operating System
This is not a meal planner. Not a diet tracker. Not a grocery list app. It is a collaborative adaptive nutrition system — a shared household food operating system designed for couples who share groceries, plan meals together, manage different dietary goals, and need changes synced in real time.
A Day in the Life — What It Actually Feels Like
Features are abstract. Experiences are real. Here is what using this product actually looks like:
7:00 AM — Morning
Sarah opens the app on her phone while making coffee. She sees last night's checked-off grocery items have been moved to the pantry automatically. The app suggests: "You have chicken thighs, rice, and broccoli. How about a teriyaki stir-fry tonight?" She taps "Looks good" — it is added to tonight's meal plan. Her partner Mike will see this when he opens the app.
5:30 PM — At the Store
Mike is at the grocery store. He opens the shared list: soy sauce, sesame oil, green onions. He checks off soy sauce — Sarah sees it disappear from her phone at home in under 100 milliseconds. He taps "Move to Pantry" on all three items. They are now in their shared kitchen inventory. When he gets home, the app already knows what they have.
6:30 PM — Cooking Together
They cook the stir-fry together. The recipe shows one set of cooking instructions — but two plating instructions. Sarah's plate: 4oz chicken, 1 cup rice, 1.5 cups broccoli (she is cutting, 1,600 cal/day target). Mike's plate: 6oz chicken, 1.5 cups rice, 1 cup broccoli (he is bulking, 2,800 cal/day target). Same pan. Same recipe. Different plates. No arguments.
7:00 PM — After Dinner
The app asks: "How was dinner?" Both partners rate it. The AI learns their preferences. Next week, it will suggest similar meals. The chicken thighs are automatically removed from the pantry. The loop continues.
This is the product: not a feature list, but a friction-free daily ritual. The AI handles the thinking. The sync handles the coordination. The adaptive plating handles the nutrition. The couple just cooks and eats together.
The Full Product Cycle
The loop is the product. Each step reinforces the next. The more you use it, the smarter it gets.
1. Pantry
Track what you have at home
2. AI Meals
Generate meals from pantry + goals
3. Shopping
Missing ingredients auto-populate list
4. Repeat
Check off → move to pantry → loop
Tab-by-Tab Walkthrough
Shopping Tab — "Our Shopping List"
Real-time shared grocery list with instant WebSocket sync. Add items manually or tap quick-add chips. Items auto-categorize into Produce, Meat, Dairy, Pantry, Other. Check off items — they move to a "Checked" section. Partner badges show who added each item. "Move to Pantry" — when you check off milk at the store, one tap moves it to your pantry inventory. This bridges shopping → cooking seamlessly.
What competitors lack: AnyList has shared lists but charges for real-time sync. No competitor has "Move to Pantry."
Pantry Tab — "Our Kitchen"
Natural language input: type "chicken, 2 cups rice, spinach" → becomes 3 separate items. Category grouping. Real-time sync — both partners see the same pantry. Delete items as you use them. Items from the shopping list auto-move to pantry when checked off.
What competitors lack: No mainstream app has a pantry tab at all. Natural language input beats barcode scanning — faster and less friction.
Meal Plan Tab — "What Should We Cook?"
AI generates dinner suggestions based on your pantry + both partners' dietary preferences. Recipe card shows name, description, time, calories, macros. Ingredients marked ✓ (in pantry) or 🔴 (need to buy). "Add Missing to Shopping List" — one tap populates your grocery list. Toggle to "Week" mode for weekly planning.
The magic moment: The app looks at what you have and says "here's dinner."
Profiles Tab — "Who Are You Cooking For?"
Dietary preference (Omnivore, Vegetarian, Vegan, Keto, Paleo, etc.), allergies, partner visibility. Body Profile (collapsible): weight, height, age, gender, activity level, goal. Auto-calculates TDEE using Mifflin-St Jeor. Shows target calories based on goal.
What competitors lack: No competitor has dual-profile awareness. Body profile + TDEE calculation is unique — powers adaptive cooking.
The Adaptive Cooking Math — How It Actually Works
The SplitPlate concept sounds magical. Here is the actual math behind it:
Partner A — Sarah (Cutting)
Profile: Female, 30, 5'6", 150 lbs, moderately active
BMR (Mifflin-St Jeor): 10 × 68kg + 6.25 × 167.6cm - 5 × 30 - 161 = 1,392 cal/day
TDEE (1.55 activity): 1,392 × 1.55 = 2,158 cal/day
Cutting target (-500): 1,658 cal/day
Dinner allocation (30%): ~497 cal
Partner B — Mike (Bulking)
Profile: Male, 32, 5'10", 180 lbs, very active
BMR (Mifflin-St Jeor): 10 × 81.6kg + 6.25 × 177.8cm - 5 × 32 + 5 = 1,818 cal/day
TDEE (1.725 activity): 1,818 × 1.725 = 3,136 cal/day
Bulking target (+300): 3,436 cal/day
Dinner allocation (30%): ~1,031 cal
The Result: One Meal, Two Plates
The AI generates a teriyaki chicken stir-fry for the household. But the plating instructions differ:
Sarah's Plate (497 cal):
4oz chicken, 1 cup rice, 1.5 cups broccoli, 1 tsp oil
Mike's Plate (1,031 cal):
6oz chicken, 1.5 cups rice, 1 cup broccoli, 2 tsp oil, side of edamame
Same pan. Same recipe. Different plates. The AI handles the math. The couple just cooks.
Technical Architecture — This Is Buildable
This is not vaporware. A working prototype already exists with the core real-time sync engine, TDEE calculator, and full React frontend. Here is the architecture:
| Layer | Technology | Purpose | Status |
|---|---|---|---|
| Frontend | React + Vite (PWA) | Installable web app, offline-capable | Built |
| API | Hono Worker | Edge API routing, REST endpoints | Built |
| Real-time | Durable Objects | WebSocket sync, sub-100ms latency | Built |
| Database | D1 (SQLite) | Profiles, meal plans, households | Schema defined |
| Sessions | KV | JWT validation, invite codes (24hr TTL) | Designed |
| AI | AI Gateway → Anthropic | Meal plan generation with 24hr caching | Designed |
| Deployment | Cloudflare Pages | CDN-cached, zero-config HTTPS | Ready |
Working Prototype Evidence
HouseholdSync.ts (448 lines): Full WebSocket real-time sync implementation with grocery list CRUD (add, check, delete, reorder), pantry management (add, delete), "Move to Pantry" bridge, bulk item addition, broadcast to all connected sessions, SQLite persistence inside the Durable Object.
tdee.ts (54 lines): Full TDEE/BMI calculation engine using Mifflin-St Jeor equation, 5 activity level multipliers, goal adjustments (lose/maintain/gain), BMI calculation and categorization.
React Frontend: ShoppingTab, PantryTab, MealPlanTab, ProfilesTab components. useHousehold.ts WebSocket hook. BodyProfileForm, PlatingView, WeekCalendar, SyncIndicator, OfflineBanner, InstallBanner. PWA configured with manifest and service worker.
D1 Database Schema: households, partners (with body profiles), meal_plans (with plan_json and pantry_snapshot), push_subscriptions — all designed and ready to implement.
Auth Flow — Designed for Exactly Two People
No email/password for MVP. The auth flow is designed for the simplest possible onboarding:
Partner 1 Creates Household
Taps "Create Household" → gets a 6-digit invite code stored in KV with 24-hour TTL. Shares code with partner via text, WhatsApp, or in person.
Partner 2 Joins with Code
Taps "Join with Code" → enters 6-digit code → both partners get JWTs. The household is created. Both can now see and edit the same grocery list, pantry, and meal plan in real time.
3-Phase Rollout Plan
Each phase is shippable independently. Each builds on the last.
Collaboration Core (MVP)
AnyList + Leanlife — simple, fast, useful. Prove couples will adopt.
Success Criteria:
Couples will adopt a shared food tool. The collaboration layer works.
Smart Recommendations
Add intelligence layer. The app becomes an active assistant, not passive tool.
Success Criteria:
The AI adds real value. Users rely on the app to decide dinner.
Adaptive Nutrition Engine (THE MOAT)
The full moat. Multi-person nutrition optimization difficult to replicate.
Success Criteria:
The adaptive engine is the moat. Users cannot get this elsewhere.
7-Step Build Order
Conservative estimate: ~3 months to full MVP. Each step is shippable.
Shared Grocery List
Real-time sync foundation. Prove the tech.
PWA Install + Mobile Polish
Make it feel like a real app.
Partner Profiles + D1 Database
Who are you cooking for?
Pantry Tracking
What do you actually have?
AI Meal Generation
The magic moment — pantry to dinner.
Meal Calendar + Smart Grocery
Plan the week, shop once.
Adaptive Shared Cooking
One prep, two plates. THE MOAT.
Total: ~3 months to full MVP · Each step is shippable independently
What to Cut Entirely (For Now)
These features are explicitly out of scope for the first 6+ months:
Push notifications
Phase 4+ if retention is an issue. PWA supports push on iOS 16.4+.
Barcode scanning
Death trap. Natural language is faster and works for any item.
Recipe importing
AI generates from pantry — enough for MVP. Phase 4+ if users demand it.
Social features
Year 2+ if organic sharing emerges. Not core to the value prop.
Budget tracking
Out of scope. Food app, not finance app.
Multi-household
For couples, not roommates or families. Deliberately narrow.
The hardest truth: Overbuilding is the #1 risk. Too many features = failure risk. The best MVP is a shared grocery list that syncs so fast it feels like magic. Everything else is an upgrade.