← Jiaqi (Evey) Gou Case 04 / 04 · Independent
AI product · Consumer · Incentive design

Ending the daily "what should we eat?"

My family spent too long every day deciding what to eat — while dieting together. Meal Gacha! gives each family one shared spin a day. Changing the result costs a reroll, and rerolls are earned by working out.

Open eat.evey-t.dev ↗ Live · installable to the home screen
Role
Product owner & sole builder
Engineer
An AI coding agent, under my direction
When
Sep 2026 — ongoing
Users
My family, then friends' households
Meal Gacha! welcome screen with a rice-ball mascot and buttons to start a family or join with an invite code
01Start — bring your family in, or join with a code
Workout tab: two upload slots that add up to one reroll, a picker for the type of workout, and this week's redeemed workouts
02Workouts → rerolls — two screenshots earn one, checked by AI
Table tab: today's result, what the family has eaten, and each member's rerolls and workout progress
03The family table — today's pick, history, and everyone's rerolls
01 — The insight

The goal isn't finding the best restaurant. It's ending the debate — in a way that supports the diet.

So the decision belongs to the family, not to each person, and re-deciding should cost something you earn by moving.

02 — The core loop
DAILY
1 free family spin
→
CHOICE
Accept, or spend a reroll
←
EARN
2 workouts = 1 reroll
←
AI CHECK
Workout? Within 7 days? Repeat?

Two rerolls to start. Scarcity makes the first spin matter; earning ties food to how much the family moves.

03 — Trade-offs
Question I chose Why
Identity4-digit PIN per memberAccounts kill family adoption; open profiles let anyone spend your rerolls
VerificationSimple AI vision checkPeer review adds social friction; a yes/no check is cheap
Gacha rarityCut it — equal oddsAdds game feel, no decision value
GroupsInvite codes; one phone, many familiesFriends wanted their own food pools; people eat with more than one group
DataScreenshots expire after 7 daysHundreds of photos add cost and privacy risk; a fingerprint is enough
04 — Closing loopholes

Any economy invites gaming. Testing surfaced each hole, and each got a specific fix:

Same file twice
File hash
Re-screenshot same workout
AI repeat check
Old workouts
7-day window
Uploading in bulk
2 uploads a day
05 — From family to friends

Friends started using it and asked for things I hadn't planned: their own food pools, joining more than one group, and redeeming with Duolingo screenshots instead of workouts. The first two shipped; the third is next — pointing the product toward any healthy habit, not just exercise.

Watching real use also moved the new-member flow to the centre of the screen after people missed a small join button.

06 — How it's built

An AI coding agent wrote the code. I owned what to build and why: requirements, every screen review, end-to-end testing and launch on my own domain.

Hosting
Cloudflare Workers on evey-t.dev; keeps the AI key server-side
Data
Supabase Postgres; row-level security keeps families apart without accounts
AI
Vision model with three yes/no checks per upload
07 — Results
Live
My family uses it for the daily meal decision, on my own domain.
0.99 / 0.01
AI check on a real workout vs a non-workout; stale and repeated uploads rejected.
Pulled, not pushed
Friends' households asked to join — and asked for the next features.
End of selected work Back to the index →