Status

Thinking. Not yet a spec.

Linked spec: none yet — write when thinking is settled.


The Problem This Solves

Melu's moat is user learning data. The Family Profile is the engine that makes every plan more accurate over time. But the profile has to be seeded at onboarding — which means the onboarding experience is the first personalization event, and it has to be good enough to generate a trustworthy first plan without feeling like a form.

The core tension: we need enough data to personalize well, but every question we ask adds friction and risks the user not completing onboarding.


What the Agent Does

The onboarding personalization agent is a structured chat that interviews the family and outputs a JSON Family Profile object. That object is the input to every subsequent plan generation call.

It is not a form. It does not ask one question per screen. It converses, infers where it can, and only asks what it cannot infer.


The Family Profile Object

Fields the onboarding agent must populate:

Field Source Notes
Family size Asked Adults + kids
Kids' ages Asked Drives simplicity and portion logic
Dietary restrictions Asked Allergies, avoidances, lifestyle
Cuisine preferences Asked + inferred What they like, what they won't eat
Skill level Inferred or asked Drives recipe complexity
Equipment Asked lightly Instant Pot, grill, no wok, etc.
Time constraints Asked Weeknight time budget
Disliked ingredients Asked Explicit vetoes
Flavor preferences Inferred Mild vs bold, comfort vs adventurous

Fields populated over time (not at onboarding):