Geez — Uniquely Simple
GZ-DOSSIER-WG-001 · Lead MVP Tool
Weekly Groceries — Tool Dossier
Product Tools · Lead MVP

Weekly Groceries.

Plan your week's groceries in three taps — pick a store, build a plan, share it with your household. The chore everyone already does, made repeatable, shared, and quietly cheaper.

Live · auto-refreshed on every push + daily Updated: May 16, 2026 Sources: git · CHANGES.md · canonical screens · Figma
Geez key Key Insights · Read this first
What it is
A 3-step weekly grocery planner: address → store → plan, then share with your household.
Why it matters
The highest-frequency household chore — done every week. The easiest way to make Geez a daily habit.
Where it stands
All 4 screens designed and built. Now wiring to live data + getting it on a phone.
The next step
Clean build on Gene's phone, then the orchestrator + real services.
Status — At a Glance

Where it stands. Design ahead, data catching up.

Composition
Build Phase
flat-wired → orchestrator
4 / 4
Screens Built
Address · Store · Plan · Share
2 / 5+
Services Wired
stubbed in canonical
wp-flows.1
Next Lane
orchestrator · unblocked
Building
On Device
EAS preview · SDK 54
Canary
Arch Role
first 5+ service tool
The one-liner for Dan
The full 1-2-3 flow exists and is designed. The work now is plumbing, not pixels: extract the screen logic into an orchestrator, swap the two stubbed hooks for real services, and land a clean build on Gene's phone.
Build Items

Work packages. Tracked against the queue.

WP / ItemScopeStatusNotes
wp-flows.1useWeeklyGroceriesFlow orchestratorNext laneUnblocked — async migration complete.
useRSVP wiringShare screen → real RSVP serviceStubbedStub added in canonical to unblock build.
usePreferences wiringStore ranking → preference historyStubbedgetRecord / modeState / confirm stubbed.
Decision enginenew-vs-established rankOptionsStubbedFull engine in monorepo history (ce17ea1).
wp-grocery.recover.2/.3Recover polished flow from sibling branchGene eyeballPath C Step 1 pending.
EAS preview buildOn-device shell, SDK 54In flightDep alignment → rebuild.
Address autocompleteGoogle Places, debounced, lat/lngBuiltAtom shipped (799bcfb).
Decisions Log

How we got here. Newest first.

Orchestrator (Path B)WG is the canary: flat-wiring stops scaling at 5+ services. wp-flows.1 extracts first.
Async migrationUniversal-service layer is now async-shaped. Unblocked wp-flows.1 + wp-vault.1.
Source of Truth LockCanonical screen paths SHA-locked after the polished WG flow was overwritten by a rebuild.
ce17ea1usePreferences + decision engine wired into Store screen — ranking by history + proximity + price.
7bb619buseRSVP wired into Share screen — first real use; household vs guest model.
e0521d4Steps 2 + 4 wired to real data — full flow complete with dynamic pricing.
The Build — Screens

Screens. SHA-locked, canonical.

Canonical files live in ~/Developer/geez/src/components/screens/, each SHA-locked per the Source of Truth Lock. Figma node IDs to be backfilled.

ScreenRoleCarrier / ArchetypeFigma
WeeklyGroceriesScreenStep 1 — Home AddressSET (form)backfill
WeeklyGroceriesStoreScreenStep 2 — Pick StoreCONFIRM (sectioned list)backfill
WeeklyGroceriesListScreenStep 3 — Weekly PlanTRACK (day grid)backfill
WeeklyGroceriesShareScreenShare — household / guestCONFIRM (sectioned list)backfill
Research & Foundations

What we know.

Data MinimalismRepeatability reduces build burden; reuse is a success metric. WG context feeds other tools.
Every Tool Has a GroupNo tool is solo. WG is the household layer — the share step is structural.
New User FirstAlways start the new-user flow unless authenticated + subscribed.
Home Base InterconnectionSupply-chain flow; WG output is upstream input for meal & event tools.
Relationship Graph SeedPhone contacts bootstrap relationships; share step is the first production exercise.
Earned Tool UnlockTools unlock through accomplishment (3 completions). WG is the on-ramp.
Next Actions

To-dos. Ordered by what unblocks the most.

#ActionOwnerUnblocks
1Align deps to SDK 54 → clean EAS preview build on Gene's phoneBuildOn-device demo of full flow
2Build useWeeklyGroceriesFlow orchestrator (wp-flows.1)CorePattern for all future tools
3Swap stubbed useRSVP / usePreferences for real servicesCoreReal share + store ranking
4Restore full ranking engine into canonicalCoreIntelligent store recommendation
5Backfill Figma node IDs in all 4 screen headersDesignSource-of-truth compliance
6Resolve wp-grocery.recover.2/.3 (Gene eyeball)GeneRecovers lost polished flow
Open Questions

Considerations & risks.

Two-repo driftCanonical vs monorepo. Real WG logic lives partly in monorepo history; canonical has stubs.
Stub debtThree stubs mask real behavior to keep the build green. Demos show stub data until swapped.
Figma backfillScreens predate the Figma Source Law; node IDs must be added.
EAS budget15 iOS builds/month. Shift to OTA updates for JS-only changes.
Pricing copy$1/wk or $50/$100 annual; ensure Share family-upgrade copy matches.
Recurrence depthSavings tracking designed but not yet wired into the List screen.
Opportunity Radar

Continuously prioritized. Reach × frequency × leverage ÷ effort.

New opportunities are appended with a priority score (0–100). Gene accepts or defers — accepted/deferred items move, they're never dropped.

88Score
Savings ticker on the Plan screen
Surface week-over-week dollar + time saved right where the plan is confirmed. Turns a chore into a visible win. Engine exists, needs a surface.
Value · Low effort
82Score
One-tap re-run last week's plan
Returning users see last week as a delta, not a blank slate — accept-all in one tap. Highest-leverage retention move.
Retention
74Score
Household item assignment ("who shops what")
In a shared plan, assign items/aisles to members. Deepens the group dimension; exercises the relationship graph daily.
Group
61Score
Loyalty-card mesh via useAccountMesh
Connect store loyalty accounts to auto-apply savings. High value, higher effort. Hold until wp-mesh stabilizes.
Defer
See It

Demos.

EAS Preview BuildOn-device iOS build (ad-hoc). Status: in flight — SDK 54 dep alignment. expo.dev → builds →
Web fallbackGeezSuperApp web build deployed as Layer-4 fallback.
Screen recordingsFlow walkthroughs — captured once the clean build lands on the phone. pending build