Core Concepts
Households
A household is the top-level entity in OvenLovin. It represents a family or group of people who share meals. Households are implemented as Clerk Organizations, providing:
- Multi-user access control
- Role-based permissions (admin, member)
- Invitation and member management
Each household can have:
- Multiple people with dietary rules
- A library of recipes
- Meal plans
- Shopping lists
People
People are members of a household. Each person can have:
- Name and basic profile information
- Age (for age-appropriate meal suggestions)
- Activity level (affects nutritional recommendations)
- Dietary rules with severity levels
Example People
All ids are UUIDs.
Dietary Rules
Dietary rules are per-person configurations that define allergies, restrictions, and preferences. Each rule has:
Rule Kinds
Note: All rules are per-person and configured by the family admin. OvenLovin never hard-codes allergen policies.
- allergen - Food allergies (
peanut,tree_nut,milk,egg,fish,shellfish,wheat,soy,sesame) - ingredient - Specific ingredient restrictions (garlic, onions, nightshades)
- ingredient_category - A category of ingredients
- diet - Dietary patterns (
vegetarian,vegan,pescatarian,gluten_free,dairy_free) - tag - A labeled tag (for example spicy)
- custom - A household-defined rule
Severity Levels
Each rule has a severity level that determines how strictly it's enforced:
| Severity | Meaning | Example |
|---|---|---|
block | Recipe is unsafe for this person | Severe peanut allergy |
warn | Recipe should be flagged for review | Possible cross-contamination with allergen |
prefer_avoid | Recipe is not preferred but not dangerous | Dietary preference, mild intolerance |
Shared Facility Setting
Rules can include a sharedFacility flag to warn about products processed in facilities that also handle allergens:
Recipes
When you create a recipe, send each ingredient as { "rawText": "2 cups broccoli" }. The API parses it into name, quantity and unit.
Recipes are the building blocks of meal plans. Each recipe includes:
- Basic info - Title, description, source URL
- Ingredients - List with quantities and units
- Instructions - Step-by-step directions
- Nutrition - Calories, macros, vitamins (from USDA FoodData Central)
- Metadata - Servings, prep time, cook time, cuisine, dietary tags
Recipe Import
OvenLovin supports multiple import methods:
- URL Import - Import from recipe websites with AI-powered extraction
- Photo/OCR - Take a photo of a recipe card or cookbook page
- Voice Input - Dictate a recipe to your AI agent
- Paste/Text - Copy and paste recipe text from any source
Example Recipe
Meal Plans
A meal plan organizes recipes into a schedule with attendees and rule checking. Each meal plan includes:
- Date range - Start and end dates
- Meals - Breakfast, lunch, dinner, snacks for each day
- Attendees - Which household members will eat each meal
- Rule check results - Per-person findings with severity
Meal Plan Checking
Warning: Safety-critical: Rule checking is deterministic for the same inputs (recipe, attendees, rules) and always names the affected person.
When you check a meal plan, OvenLovin:
- Loads all recipes in the plan
- Loads all attendees and their dietary rules
- Checks each recipe against each attendee's rules
- Returns per-person findings with severity
Check Status
complete- All checks passed successfullyincomplete- Checking could not complete (reasons provided)- Never returns "no issues" when checking cannot complete
Example Findings
Shopping Lists
Shopping lists aggregate ingredients from a meal plan and organize them by grocery store section. Each shopping list includes:
- Aggregated quantities - Combined amounts for the same ingredient
- Unit conversions - Standardized units (metric/US)
- Allergen warnings - Flagged ingredients based on dietary rules
- Store sections - Produce, dairy, meat, pantry, frozen, etc.
Example Shopping List
Safety Invariants
Critical: These invariants are safety-critical and must never be broken:
- Rule checking is deterministic for the same inputs (recipe, attendees, rules)
- Warnings name the affected person and are returned in every relevant API response
- Recipe edits or rule changes mark affected plans as
needs_recheck - Incomplete checks are reported as
status: incomplete, never "no issues" - No hard-coded allergen policies - all rules are per-person config set by the family admin
Next Steps
- Connect Your Agent - Set up Grok Bot, ChatGPT, or Claude Desktop
- API Reference - Explore the REST API and MCP tools