Saved recipes: LLM style auto-classifier for tag suggestions (Paid / BYOK) #27

Open
opened 2026-04-07 21:53:51 -07:00 by pyr0ball · 0 comments
Owner

Summary

Paid + BYOK-unlockable extension of #24 (core saved recipes). When a user saves a recipe, they can request LLM (large language model)-powered style tag suggestions. The LLM reads the recipe title, ingredients, and directions and suggests 3–5 tags from a curated vocabulary.

Depends on: #24

Behavior

  1. User clicks "Get tag suggestions" in SaveRecipeModal.vue
  2. Frontend calls POST /recipes/saved/{recipe_id}/classify-style
  3. Backend passes recipe content to LLMRouter with a prompt requesting tags from a suggested vocabulary:
    • Flavor: comforting, light, spicy, umami, sweet, savory, rich
    • Texture: crispy, creamy, hearty
    • Effort: quick, hands-off, meal-prep-friendly, fancy, one-pot
  4. LLM returns suggested tags
  5. User reviews and accepts/edits before tags are applied — LLM output is always a draft

Tier Gate

can_use("style_classifier", tier, has_byok) — Paid or BYOK.

VRAM Budget

2.0 GB. Register as service "kiwi_style_classify" with cf-orch coordinator. Same profile as expiry_llm_fallback.

API

POST /recipes/saved/{recipe_id}/classify-style — returns {suggested_tags: ["comforting", "hands-off", ...]}

Tier Gate in tiers.py

Add feature key: style_classifier

Spec

circuitforge-plans/kiwi/superpowers/specs/2026-04-07-saved-recipes-browser-design.md section 3.5

## Summary Paid + BYOK-unlockable extension of #24 (core saved recipes). When a user saves a recipe, they can request LLM (large language model)-powered style tag suggestions. The LLM reads the recipe title, ingredients, and directions and suggests 3–5 tags from a curated vocabulary. **Depends on:** #24 ## Behavior 1. User clicks "Get tag suggestions" in `SaveRecipeModal.vue` 2. Frontend calls `POST /recipes/saved/{recipe_id}/classify-style` 3. Backend passes recipe content to LLMRouter with a prompt requesting tags from a suggested vocabulary: - Flavor: comforting, light, spicy, umami, sweet, savory, rich - Texture: crispy, creamy, hearty - Effort: quick, hands-off, meal-prep-friendly, fancy, one-pot 4. LLM returns suggested tags 5. User reviews and accepts/edits before tags are applied — LLM output is always a draft ## Tier Gate `can_use("style_classifier", tier, has_byok)` — Paid or BYOK. ## VRAM Budget 2.0 GB. Register as service `"kiwi_style_classify"` with cf-orch coordinator. Same profile as `expiry_llm_fallback`. ## API `POST /recipes/saved/{recipe_id}/classify-style` — returns `{suggested_tags: ["comforting", "hands-off", ...]}` ## Tier Gate in tiers.py Add feature key: `style_classifier` ## Spec `circuitforge-plans/kiwi/superpowers/specs/2026-04-07-saved-recipes-browser-design.md` section 3.5
pyr0ball added the
enhancement
label 2026-04-07 21:53:51 -07:00
pyr0ball added this to the Beta — Recipe Suggestions milestone 2026-04-07 22:09:32 -07:00
Sign in to join this conversation.
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: Circuit-Forge/kiwi#27
No description provided.