diff options
Diffstat (limited to 'app/seed_data.py')
| -rw-r--r-- | app/seed_data.py | 1007 |
1 files changed, 1007 insertions, 0 deletions
diff --git a/app/seed_data.py b/app/seed_data.py new file mode 100644 index 0000000..dbf43b7 --- /dev/null +++ b/app/seed_data.py @@ -0,0 +1,1007 @@ +RECIPES = [ + # ── ITALIAN ────────────────────────────────────────────────────────────── + { + "name": "Chicken Piccata", + "cuisine": "Italian", + "description": "Tender chicken in a bright lemon-caper butter sauce. Quick, elegant, and endlessly satisfying.", + "servings": 2, + "calories_per_serving": 380, + "carbs_per_serving": 6, + "protein_per_serving": 42, + "fat_per_serving": 18, + "prep_time": 10, + "cook_time": 20, + "instructions": """1. Pound chicken breasts to ½-inch thickness. Season with salt and pepper; dust lightly with flour. +2. Heat olive oil and 1 tbsp butter in a large skillet over medium-high heat. +3. Cook chicken 4–5 min per side until golden. Remove and rest on a plate. +4. Add garlic to pan, cook 30 seconds. Add white wine and reduce by half, scraping up browned bits. +5. Add chicken broth and lemon juice. Simmer 2 minutes. +6. Add capers and remaining butter; swirl to emulsify into a glossy sauce. +7. Return chicken, coat with sauce, garnish with parsley and lemon slices.""", + "ingredients": [ + {"name": "Chicken breast", "quantity": 2, "unit": "whole", "category": "Meat & Poultry"}, + {"name": "Capers", "quantity": 2, "unit": "tbsp", "category": "Pantry"}, + {"name": "Lemon", "quantity": 1, "unit": "whole", "category": "Produce"}, + {"name": "Butter", "quantity": 3, "unit": "tbsp", "category": "Dairy & Eggs"}, + {"name": "Olive oil", "quantity": 2, "unit": "tbsp", "category": "Pantry"}, + {"name": "Dry white wine", "quantity": 0.25, "unit": "cup", "category": "Pantry"}, + {"name": "Chicken broth", "quantity": 0.5, "unit": "cup", "category": "Pantry"}, + {"name": "Garlic cloves", "quantity": 2, "unit": "cloves", "category": "Produce"}, + {"name": "Fresh parsley", "quantity": 2, "unit": "tbsp", "category": "Produce"}, + {"name": "All-purpose flour", "quantity": 3, "unit": "tbsp", "category": "Pantry"}, + ] + }, + { + "name": "Osso Buco", + "cuisine": "Italian", + "description": "Braised veal shanks with a rich, wine-scented sauce and bright gremolata. A Milanese masterpiece.", + "servings": 2, + "calories_per_serving": 520, + "carbs_per_serving": 14, + "protein_per_serving": 52, + "fat_per_serving": 22, + "prep_time": 20, + "cook_time": 120, + "instructions": """1. Pat veal shanks dry; season generously with salt and pepper. Dust lightly with flour. +2. Heat oil in a Dutch oven over medium-high. Sear shanks 4 min per side until deep brown. Set aside. +3. Reduce heat to medium. Sauté onion, carrot, and celery until softened, 8 min. Add garlic, cook 1 min. +4. Add white wine; deglaze and reduce by half. Add broth and crushed tomatoes. +5. Return shanks, nestling into the sauce. Bring to a simmer. +6. Cover and braise at 325°F (or low stovetop) for 1.5–2 hours until meat is falling off the bone. +7. Make gremolata: combine lemon zest, minced garlic, and chopped parsley. +8. Serve shanks with sauce spooned over, topped with gremolata.""", + "ingredients": [ + {"name": "Veal shanks", "quantity": 2, "unit": "whole", "category": "Meat & Poultry"}, + {"name": "Onion", "quantity": 1, "unit": "whole", "category": "Produce"}, + {"name": "Carrot", "quantity": 2, "unit": "whole", "category": "Produce"}, + {"name": "Celery stalks", "quantity": 2, "unit": "whole", "category": "Produce"}, + {"name": "Garlic cloves", "quantity": 4, "unit": "cloves", "category": "Produce"}, + {"name": "Dry white wine", "quantity": 1, "unit": "cup", "category": "Pantry"}, + {"name": "Beef broth", "quantity": 1, "unit": "cup", "category": "Pantry"}, + {"name": "Crushed tomatoes", "quantity": 14, "unit": "oz", "category": "Pantry"}, + {"name": "Lemon", "quantity": 1, "unit": "whole", "category": "Produce"}, + {"name": "Fresh parsley", "quantity": 0.25, "unit": "cup", "category": "Produce"}, + {"name": "Olive oil", "quantity": 3, "unit": "tbsp", "category": "Pantry"}, + {"name": "All-purpose flour", "quantity": 2, "unit": "tbsp", "category": "Pantry"}, + ] + }, + { + "name": "Branzino al Forno", + "cuisine": "Italian", + "description": "Whole sea bass roasted with lemon, garlic, and herbs. Supremely simple, exceptionally flavorful.", + "servings": 2, + "calories_per_serving": 340, + "carbs_per_serving": 4, + "protein_per_serving": 38, + "fat_per_serving": 18, + "prep_time": 10, + "cook_time": 25, + "instructions": """1. Preheat oven to 425°F. Score the fish skin 3 times diagonally on each side. +2. Season fish inside and out with salt and pepper. Stuff cavity with lemon slices, garlic, rosemary, and thyme. +3. Place on a parchment-lined baking sheet. Drizzle generously with olive oil. +4. Roast 20–25 minutes until skin is crisp and flesh flakes easily. +5. Drizzle with remaining lemon juice and fresh herbs before serving.""", + "ingredients": [ + {"name": "Whole branzino (sea bass)", "quantity": 2, "unit": "whole", "category": "Seafood"}, + {"name": "Lemon", "quantity": 2, "unit": "whole", "category": "Produce"}, + {"name": "Garlic cloves", "quantity": 4, "unit": "cloves", "category": "Produce"}, + {"name": "Fresh rosemary", "quantity": 3, "unit": "sprigs", "category": "Produce"}, + {"name": "Fresh thyme", "quantity": 3, "unit": "sprigs", "category": "Produce"}, + {"name": "Olive oil", "quantity": 3, "unit": "tbsp", "category": "Pantry"}, + {"name": "Cherry tomatoes", "quantity": 1, "unit": "cup", "category": "Produce"}, + ] + }, + { + "name": "Pork Involtini", + "cuisine": "Italian", + "description": "Thin pork cutlets wrapped around prosciutto and provolone, pan-roasted in white wine and sage.", + "servings": 2, + "calories_per_serving": 420, + "carbs_per_serving": 4, + "protein_per_serving": 44, + "fat_per_serving": 24, + "prep_time": 15, + "cook_time": 20, + "instructions": """1. Pound pork cutlets to ¼-inch thickness. Season with salt and pepper. +2. Lay a slice of prosciutto on each cutlet. Place a piece of provolone and a sage leaf at one end. +3. Roll tightly and secure with a toothpick. +4. Heat olive oil in a skillet over medium-high. Brown involtini on all sides, about 6 min total. +5. Add garlic and cook 30 seconds. Add white wine and reduce by half. +6. Add butter, baste involtini with the pan sauce. Cover and cook 5 more minutes. +7. Remove toothpicks. Serve with pan sauce drizzled over.""", + "ingredients": [ + {"name": "Pork cutlets (thin)", "quantity": 4, "unit": "whole", "category": "Meat & Poultry"}, + {"name": "Prosciutto", "quantity": 4, "unit": "slices", "category": "Meat & Poultry"}, + {"name": "Provolone cheese", "quantity": 2, "unit": "oz", "category": "Dairy & Eggs"}, + {"name": "Fresh sage", "quantity": 8, "unit": "leaves", "category": "Produce"}, + {"name": "Garlic cloves", "quantity": 2, "unit": "cloves", "category": "Produce"}, + {"name": "Dry white wine", "quantity": 0.5, "unit": "cup", "category": "Pantry"}, + {"name": "Butter", "quantity": 2, "unit": "tbsp", "category": "Dairy & Eggs"}, + {"name": "Olive oil", "quantity": 2, "unit": "tbsp", "category": "Pantry"}, + ] + }, + { + "name": "Beef Bracciole", + "cuisine": "Italian", + "description": "Rolled flank steak stuffed with pecorino, pine nuts, and herbs, slow-braised in red wine tomato sauce.", + "servings": 2, + "calories_per_serving": 480, + "carbs_per_serving": 10, + "protein_per_serving": 46, + "fat_per_serving": 26, + "prep_time": 20, + "cook_time": 90, + "instructions": """1. Lay flank steak flat, pound to ¼ inch. Season inside with salt and pepper. +2. Spread pecorino, pine nuts, garlic, and parsley over the surface. +3. Roll tightly and tie with butcher's twine at 1-inch intervals. +4. Heat olive oil in a Dutch oven. Sear roll on all sides until browned, 8 min. +5. Add red wine and reduce by half. Add marinara sauce and 2 tbsp fresh basil. +6. Cover and braise at 300°F for 1.5 hours until very tender. +7. Remove twine, slice into 1-inch rounds. Serve over sauce.""", + "ingredients": [ + {"name": "Flank steak", "quantity": 1, "unit": "lb", "category": "Meat & Poultry"}, + {"name": "Pecorino romano", "quantity": 2, "unit": "oz", "category": "Dairy & Eggs"}, + {"name": "Pine nuts", "quantity": 2, "unit": "tbsp", "category": "Pantry"}, + {"name": "Garlic cloves", "quantity": 3, "unit": "cloves", "category": "Produce"}, + {"name": "Fresh parsley", "quantity": 0.25, "unit": "cup", "category": "Produce"}, + {"name": "Marinara sauce", "quantity": 2, "unit": "cups", "category": "Pantry"}, + {"name": "Red wine", "quantity": 0.5, "unit": "cup", "category": "Pantry"}, + {"name": "Fresh basil", "quantity": 2, "unit": "tbsp", "category": "Produce"}, + {"name": "Olive oil", "quantity": 2, "unit": "tbsp", "category": "Pantry"}, + ] + }, + { + "name": "Zucchini Cacio e Pepe", + "cuisine": "Italian", + "description": "Spiralized zucchini in a silky pecorino and black pepper sauce — all the soul of the Roman classic, none of the pasta.", + "servings": 2, + "calories_per_serving": 310, + "carbs_per_serving": 12, + "protein_per_serving": 16, + "fat_per_serving": 22, + "prep_time": 10, + "cook_time": 10, + "instructions": """1. Spiralize or julienne zucchini. Salt lightly and let sit 10 min; pat dry to remove moisture. +2. Toast black peppercorns in a dry skillet, then crush coarsely. +3. Melt butter in the skillet over medium. Add pepper and toast 30 seconds. +4. Add zucchini and toss to coat; cook 2–3 min until just tender. +5. Off heat, add half the pecorino and all the parmesan; toss vigorously while adding 2–3 tbsp hot water until creamy. +6. Plate and top with remaining pecorino and more fresh pepper.""", + "ingredients": [ + {"name": "Zucchini", "quantity": 4, "unit": "whole", "category": "Produce"}, + {"name": "Pecorino romano", "quantity": 3, "unit": "oz", "category": "Dairy & Eggs"}, + {"name": "Parmesan", "quantity": 2, "unit": "oz", "category": "Dairy & Eggs"}, + {"name": "Black peppercorns", "quantity": 1, "unit": "tbsp", "category": "Spices & Herbs"}, + {"name": "Butter", "quantity": 2, "unit": "tbsp", "category": "Dairy & Eggs"}, + ] + }, + + # ── GREEK ──────────────────────────────────────────────────────────────── + { + "name": "Lamb Chops with Tzatziki", + "cuisine": "Greek", + "description": "Herb-marinated lamb loin chops grilled to perfection with cooling homemade tzatziki.", + "servings": 2, + "calories_per_serving": 480, + "carbs_per_serving": 7, + "protein_per_serving": 48, + "fat_per_serving": 28, + "prep_time": 15, + "cook_time": 15, + "instructions": """1. Make tzatziki: grate cucumber, squeeze out liquid. Mix with yogurt, garlic, dill, lemon juice, salt. Chill. +2. Combine olive oil, oregano, rosemary, lemon zest, garlic. Marinate chops at least 30 min. +3. Grill or sear chops in a cast iron pan over high heat, 3–4 min per side for medium-rare. +4. Rest 5 minutes before serving with tzatziki and lemon wedges.""", + "ingredients": [ + {"name": "Lamb loin chops", "quantity": 4, "unit": "whole", "category": "Meat & Poultry"}, + {"name": "Greek yogurt", "quantity": 1, "unit": "cup", "category": "Dairy & Eggs"}, + {"name": "English cucumber", "quantity": 0.5, "unit": "whole", "category": "Produce"}, + {"name": "Garlic cloves", "quantity": 4, "unit": "cloves", "category": "Produce"}, + {"name": "Fresh dill", "quantity": 2, "unit": "tbsp", "category": "Produce"}, + {"name": "Lemon", "quantity": 2, "unit": "whole", "category": "Produce"}, + {"name": "Olive oil", "quantity": 3, "unit": "tbsp", "category": "Pantry"}, + {"name": "Dried oregano", "quantity": 1, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Fresh rosemary", "quantity": 2, "unit": "sprigs", "category": "Produce"}, + ] + }, + { + "name": "Chicken Souvlaki", + "cuisine": "Greek", + "description": "Lemon-herb marinated chicken thighs skewered and grilled, served over a Greek salad with creamy tzatziki.", + "servings": 2, + "calories_per_serving": 420, + "carbs_per_serving": 8, + "protein_per_serving": 46, + "fat_per_serving": 22, + "prep_time": 20, + "cook_time": 15, + "instructions": """1. Cut chicken into 1.5-inch cubes. Combine with olive oil, lemon juice, garlic, oregano, paprika, salt, pepper. +2. Marinate at least 1 hour (overnight is better). +3. Thread onto skewers. Grill 12–14 min, turning, until cooked through and slightly charred. +4. Make quick tzatziki: Greek yogurt, grated cucumber, garlic, dill, lemon juice. +5. Serve over mixed greens, cucumber, tomato, olives, and red onion. Top with tzatziki.""", + "ingredients": [ + {"name": "Chicken thighs, boneless", "quantity": 1.5, "unit": "lb", "category": "Meat & Poultry"}, + {"name": "Lemon", "quantity": 2, "unit": "whole", "category": "Produce"}, + {"name": "Garlic cloves", "quantity": 4, "unit": "cloves", "category": "Produce"}, + {"name": "Olive oil", "quantity": 3, "unit": "tbsp", "category": "Pantry"}, + {"name": "Dried oregano", "quantity": 2, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Smoked paprika", "quantity": 1, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Greek yogurt", "quantity": 0.75, "unit": "cup", "category": "Dairy & Eggs"}, + {"name": "English cucumber", "quantity": 1, "unit": "whole", "category": "Produce"}, + {"name": "Fresh dill", "quantity": 2, "unit": "tbsp", "category": "Produce"}, + {"name": "Mixed greens", "quantity": 4, "unit": "cups", "category": "Produce"}, + {"name": "Cherry tomatoes", "quantity": 1, "unit": "cup", "category": "Produce"}, + {"name": "Kalamata olives", "quantity": 0.25, "unit": "cup", "category": "Pantry"}, + ] + }, + { + "name": "Shrimp Saganaki", + "cuisine": "Greek", + "description": "Plump shrimp baked in a spiced tomato sauce with crumbled feta — a taverna classic.", + "servings": 2, + "calories_per_serving": 360, + "carbs_per_serving": 12, + "protein_per_serving": 32, + "fat_per_serving": 18, + "prep_time": 10, + "cook_time": 20, + "instructions": """1. Heat olive oil in an oven-safe skillet. Sauté onion until soft, 5 min. Add garlic and red pepper flakes. +2. Add white wine and cook 1 min. Add diced tomatoes, oregano, salt, and pepper. Simmer 8 min. +3. Nestle shrimp into the sauce. Crumble feta over the top. +4. Transfer to a 400°F oven and bake 10–12 min until shrimp are pink and feta is golden. +5. Finish with fresh parsley and a squeeze of lemon.""", + "ingredients": [ + {"name": "Large shrimp, peeled", "quantity": 1, "unit": "lb", "category": "Seafood"}, + {"name": "Feta cheese", "quantity": 4, "unit": "oz", "category": "Dairy & Eggs"}, + {"name": "Diced tomatoes (canned)", "quantity": 14, "unit": "oz", "category": "Pantry"}, + {"name": "Onion", "quantity": 1, "unit": "whole", "category": "Produce"}, + {"name": "Garlic cloves", "quantity": 3, "unit": "cloves", "category": "Produce"}, + {"name": "Dry white wine", "quantity": 0.5, "unit": "cup", "category": "Pantry"}, + {"name": "Olive oil", "quantity": 3, "unit": "tbsp", "category": "Pantry"}, + {"name": "Dried oregano", "quantity": 1, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Crushed red pepper flakes", "quantity": 0.5, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Fresh parsley", "quantity": 2, "unit": "tbsp", "category": "Produce"}, + {"name": "Lemon", "quantity": 1, "unit": "whole", "category": "Produce"}, + ] + }, + { + "name": "Greek Lemon-Herb Baked Chicken", + "cuisine": "Greek", + "description": "Bone-in chicken thighs roasted in a bath of lemon, garlic, and olive oil with Kalamata olives.", + "servings": 2, + "calories_per_serving": 400, + "carbs_per_serving": 6, + "protein_per_serving": 42, + "fat_per_serving": 22, + "prep_time": 10, + "cook_time": 45, + "instructions": """1. Preheat oven to 400°F. Whisk together olive oil, lemon juice, garlic, oregano, salt, and pepper. +2. Place chicken thighs in a baking dish. Pour lemon mixture over and toss to coat. +3. Add chicken broth to the dish. Scatter olives and lemon zest over top. +4. Roast 40–45 min, basting once, until skin is golden and juices run clear (165°F internal). +5. Rest 5 min. Serve with pan juices spooned over.""", + "ingredients": [ + {"name": "Chicken thighs, bone-in", "quantity": 4, "unit": "whole", "category": "Meat & Poultry"}, + {"name": "Lemon", "quantity": 3, "unit": "whole", "category": "Produce"}, + {"name": "Garlic cloves", "quantity": 6, "unit": "cloves", "category": "Produce"}, + {"name": "Olive oil", "quantity": 3, "unit": "tbsp", "category": "Pantry"}, + {"name": "Dried oregano", "quantity": 2, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Chicken broth", "quantity": 0.5, "unit": "cup", "category": "Pantry"}, + {"name": "Kalamata olives", "quantity": 0.5, "unit": "cup", "category": "Pantry"}, + ] + }, + { + "name": "Spanakopita-Stuffed Chicken", + "cuisine": "Greek", + "description": "Chicken breasts filled with spinach, feta, and fresh dill — all the flavors of spanakopita without the phyllo.", + "servings": 2, + "calories_per_serving": 440, + "carbs_per_serving": 6, + "protein_per_serving": 50, + "fat_per_serving": 22, + "prep_time": 15, + "cook_time": 25, + "instructions": """1. Preheat oven to 375°F. Squeeze spinach very dry. Mix with feta, garlic, dill, salt, and pepper. +2. Cut a deep horizontal pocket in each chicken breast without cutting all the way through. +3. Stuff each breast with half the spinach mixture. Secure with toothpicks. +4. Season outside with salt, pepper, and smoked paprika. Sear in ovenproof skillet 3 min per side. +5. Transfer to oven and bake 18–20 min until internal temp reaches 165°F. +6. Remove toothpicks, rest 5 min, slice and serve.""", + "ingredients": [ + {"name": "Chicken breasts, large", "quantity": 2, "unit": "whole", "category": "Meat & Poultry"}, + {"name": "Frozen spinach, thawed", "quantity": 5, "unit": "oz", "category": "Produce"}, + {"name": "Feta cheese", "quantity": 4, "unit": "oz", "category": "Dairy & Eggs"}, + {"name": "Garlic cloves", "quantity": 2, "unit": "cloves", "category": "Produce"}, + {"name": "Fresh dill", "quantity": 2, "unit": "tbsp", "category": "Produce"}, + {"name": "Smoked paprika", "quantity": 1, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Olive oil", "quantity": 2, "unit": "tbsp", "category": "Pantry"}, + ] + }, + + # ── INDIAN ─────────────────────────────────────────────────────────────── + { + "name": "Chicken Tikka Masala", + "cuisine": "Indian", + "description": "Charred yogurt-marinated chicken simmered in a rich, spiced tomato-cream sauce. Deeply aromatic and satisfying.", + "servings": 2, + "calories_per_serving": 480, + "carbs_per_serving": 14, + "protein_per_serving": 42, + "fat_per_serving": 26, + "prep_time": 20, + "cook_time": 35, + "instructions": """1. Combine yogurt, garam masala, cumin, turmeric, coriander, chili, lemon juice, and garlic. Add chicken and marinate 1–8 hours. +2. Broil or pan-sear chicken until charred, about 8 min per side. Cut into bite-sized pieces. +3. Heat ghee in a large pan. Sauté onion until deeply golden, 12 min. Add garlic, ginger, and tomato paste; cook 2 min. +4. Add crushed tomatoes and simmer 10 min. Blend smooth if desired. +5. Stir in heavy cream and chicken. Simmer 8 min until sauce thickens. +6. Finish with kasuri methi (dried fenugreek) and fresh cilantro.""", + "ingredients": [ + {"name": "Chicken thighs, boneless", "quantity": 1.5, "unit": "lb", "category": "Meat & Poultry"}, + {"name": "Greek yogurt", "quantity": 0.5, "unit": "cup", "category": "Dairy & Eggs"}, + {"name": "Garam masala", "quantity": 2, "unit": "tbsp", "category": "Spices & Herbs"}, + {"name": "Ground cumin", "quantity": 1, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Ground turmeric", "quantity": 1, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Ground coriander", "quantity": 1, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Kashmiri chili powder", "quantity": 1, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Crushed tomatoes", "quantity": 14, "unit": "oz", "category": "Pantry"}, + {"name": "Heavy cream", "quantity": 0.5, "unit": "cup", "category": "Dairy & Eggs"}, + {"name": "Onion", "quantity": 1, "unit": "whole", "category": "Produce"}, + {"name": "Garlic cloves", "quantity": 5, "unit": "cloves", "category": "Produce"}, + {"name": "Fresh ginger", "quantity": 1, "unit": "inch", "category": "Produce"}, + {"name": "Tomato paste", "quantity": 2, "unit": "tbsp", "category": "Pantry"}, + {"name": "Ghee or butter", "quantity": 3, "unit": "tbsp", "category": "Dairy & Eggs"}, + {"name": "Dried fenugreek leaves (kasuri methi)", "quantity": 1, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Fresh cilantro", "quantity": 2, "unit": "tbsp", "category": "Produce"}, + ] + }, + { + "name": "Saag Paneer", + "cuisine": "Indian", + "description": "Creamy spiced spinach with golden-fried paneer cubes. A vegetarian classic rich with ghee and warm spices.", + "servings": 2, + "calories_per_serving": 420, + "carbs_per_serving": 12, + "protein_per_serving": 22, + "fat_per_serving": 32, + "prep_time": 10, + "cook_time": 25, + "instructions": """1. Fry paneer cubes in ghee over medium-high until golden on all sides. Set aside. +2. In same pan, add cumin seeds. When they pop, add onion and cook until golden, 8 min. +3. Add garlic and ginger; cook 1 min. Add tomato, turmeric, coriander, chili. Cook 5 min. +4. Add spinach in batches, wilting each addition. Blend to a rough purée. +5. Return to heat. Stir in cream and paneer; simmer 5 min. +6. Finish with garam masala and fresh ginger. Serve with extra cream drizzled over.""", + "ingredients": [ + {"name": "Paneer", "quantity": 8, "unit": "oz", "category": "Dairy & Eggs"}, + {"name": "Fresh spinach", "quantity": 10, "unit": "oz", "category": "Produce"}, + {"name": "Onion", "quantity": 1, "unit": "whole", "category": "Produce"}, + {"name": "Garlic cloves", "quantity": 4, "unit": "cloves", "category": "Produce"}, + {"name": "Fresh ginger", "quantity": 1, "unit": "inch", "category": "Produce"}, + {"name": "Cumin seeds", "quantity": 1, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Ground turmeric", "quantity": 0.5, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Ground coriander", "quantity": 1, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Garam masala", "quantity": 1, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Chili powder", "quantity": 0.5, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Tomato", "quantity": 1, "unit": "whole", "category": "Produce"}, + {"name": "Heavy cream", "quantity": 0.25, "unit": "cup", "category": "Dairy & Eggs"}, + {"name": "Ghee", "quantity": 3, "unit": "tbsp", "category": "Dairy & Eggs"}, + ] + }, + { + "name": "Tandoori Chicken", + "cuisine": "Indian", + "description": "Smoky, charred chicken marinated in spiced yogurt — best cooked at high heat to mimic the tandoor's intensity.", + "servings": 2, + "calories_per_serving": 380, + "carbs_per_serving": 8, + "protein_per_serving": 44, + "fat_per_serving": 18, + "prep_time": 15, + "cook_time": 30, + "instructions": """1. Score chicken deeply with a knife. Mix yogurt with tandoori masala, turmeric, cumin, chili powder, garlic, ginger, lemon juice, and salt. +2. Coat chicken completely and marinate at least 2 hours, ideally overnight. +3. Preheat oven to 450°F or preheat broiler. Place chicken on a rack over a foil-lined pan. +4. Cook 25–30 min, turning once, until edges are charred and chicken is cooked through. +5. Serve with lemon wedges, sliced onion, and fresh mint.""", + "ingredients": [ + {"name": "Chicken legs and thighs", "quantity": 1.5, "unit": "lb", "category": "Meat & Poultry"}, + {"name": "Greek yogurt", "quantity": 1, "unit": "cup", "category": "Dairy & Eggs"}, + {"name": "Tandoori masala", "quantity": 2, "unit": "tbsp", "category": "Spices & Herbs"}, + {"name": "Ground turmeric", "quantity": 1, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Ground cumin", "quantity": 1, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Chili powder", "quantity": 1, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Garlic cloves", "quantity": 4, "unit": "cloves", "category": "Produce"}, + {"name": "Fresh ginger", "quantity": 1, "unit": "inch", "category": "Produce"}, + {"name": "Lemon", "quantity": 2, "unit": "whole", "category": "Produce"}, + {"name": "Red onion", "quantity": 1, "unit": "whole", "category": "Produce"}, + {"name": "Fresh mint", "quantity": 0.25, "unit": "cup", "category": "Produce"}, + ] + }, + { + "name": "Lamb Rogan Josh", + "cuisine": "Indian", + "description": "Slow-cooked Kashmiri lamb stew fragrant with whole spices, layered heat, and a deep burgundy color.", + "servings": 2, + "calories_per_serving": 520, + "carbs_per_serving": 12, + "protein_per_serving": 46, + "fat_per_serving": 28, + "prep_time": 15, + "cook_time": 90, + "instructions": """1. Heat ghee in a heavy pot. Fry whole spices 1 min until fragrant. +2. Add onion and cook until deeply caramelized, 15 min. Add garlic and ginger; cook 2 min. +3. Add ground spices and chili; stir 1 min. Add lamb and sear until browned on all sides. +4. Add yogurt one spoonful at a time, stirring well. Add tomatoes. +5. Cover and cook on low 75–90 min, stirring occasionally, until lamb is very tender. +6. Adjust seasoning. Garnish with cilantro and fried onions.""", + "ingredients": [ + {"name": "Lamb shoulder, cubed", "quantity": 1.5, "unit": "lb", "category": "Meat & Poultry"}, + {"name": "Onion", "quantity": 1, "unit": "whole", "category": "Produce"}, + {"name": "Garlic cloves", "quantity": 4, "unit": "cloves", "category": "Produce"}, + {"name": "Fresh ginger", "quantity": 1.5, "unit": "inch", "category": "Produce"}, + {"name": "Whole cardamom pods", "quantity": 4, "unit": "whole", "category": "Spices & Herbs"}, + {"name": "Whole cloves", "quantity": 3, "unit": "whole", "category": "Spices & Herbs"}, + {"name": "Cinnamon stick", "quantity": 1, "unit": "whole", "category": "Spices & Herbs"}, + {"name": "Kashmiri chili powder", "quantity": 2, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Ground cumin", "quantity": 1, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Ground coriander", "quantity": 1, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Crushed tomatoes", "quantity": 0.5, "unit": "cup", "category": "Pantry"}, + {"name": "Greek yogurt", "quantity": 0.5, "unit": "cup", "category": "Dairy & Eggs"}, + {"name": "Ghee", "quantity": 3, "unit": "tbsp", "category": "Dairy & Eggs"}, + {"name": "Fresh cilantro", "quantity": 2, "unit": "tbsp", "category": "Produce"}, + ] + }, + { + "name": "Butter Chicken", + "cuisine": "Indian", + "description": "Mildly spiced chicken in a velvety tomato-butter sauce with cream. The dish that wins over everyone.", + "servings": 2, + "calories_per_serving": 460, + "carbs_per_serving": 12, + "protein_per_serving": 40, + "fat_per_serving": 28, + "prep_time": 15, + "cook_time": 35, + "instructions": """1. Marinate chicken in yogurt, lemon, garam masala, and chili for 1–8 hours. +2. Broil or pan-sear chicken until lightly charred. Cut into pieces. +3. Heat butter and oil. Sauté onion until golden, 10 min. Add garlic, ginger, and spices; cook 2 min. +4. Add tomato purée and simmer 15 min. Blend smooth. +5. Stir in cream, honey (optional), and kasuri methi. Add chicken and simmer 8 min. +6. Finish with a knob of butter and fresh cilantro.""", + "ingredients": [ + {"name": "Chicken thighs, boneless", "quantity": 1.5, "unit": "lb", "category": "Meat & Poultry"}, + {"name": "Greek yogurt", "quantity": 0.5, "unit": "cup", "category": "Dairy & Eggs"}, + {"name": "Crushed tomatoes", "quantity": 14, "unit": "oz", "category": "Pantry"}, + {"name": "Heavy cream", "quantity": 0.5, "unit": "cup", "category": "Dairy & Eggs"}, + {"name": "Onion", "quantity": 1, "unit": "whole", "category": "Produce"}, + {"name": "Garlic cloves", "quantity": 5, "unit": "cloves", "category": "Produce"}, + {"name": "Fresh ginger", "quantity": 1, "unit": "inch", "category": "Produce"}, + {"name": "Kashmiri chili powder", "quantity": 1.5, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Garam masala", "quantity": 1.5, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Ground cumin", "quantity": 1, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Dried fenugreek leaves (kasuri methi)", "quantity": 1, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Butter", "quantity": 3, "unit": "tbsp", "category": "Dairy & Eggs"}, + {"name": "Olive oil", "quantity": 1, "unit": "tbsp", "category": "Pantry"}, + {"name": "Fresh cilantro", "quantity": 2, "unit": "tbsp", "category": "Produce"}, + ] + }, + { + "name": "Goan Fish Curry", + "cuisine": "Indian", + "description": "Tangy coconut milk curry with firm white fish — Goa's sun-drenched coast in a bowl.", + "servings": 2, + "calories_per_serving": 400, + "carbs_per_serving": 10, + "protein_per_serving": 36, + "fat_per_serving": 24, + "prep_time": 10, + "cook_time": 20, + "instructions": """1. Heat coconut oil in a pan. Sauté onion until golden, 8 min. Add garlic and ginger. +2. Add turmeric, cumin, coriander, and chili; cook 1 min. Add tamarind paste and stir well. +3. Pour in coconut milk; simmer 5 min. Season with salt and a pinch of sugar. +4. Add fish in a single layer. Simmer gently 8–10 min until fish is just cooked through. +5. Garnish with fresh cilantro and serve with cauliflower rice.""", + "ingredients": [ + {"name": "Cod or halibut fillets", "quantity": 1.5, "unit": "lb", "category": "Seafood"}, + {"name": "Coconut milk (full fat)", "quantity": 14, "unit": "oz", "category": "Pantry"}, + {"name": "Onion", "quantity": 1, "unit": "whole", "category": "Produce"}, + {"name": "Garlic cloves", "quantity": 4, "unit": "cloves", "category": "Produce"}, + {"name": "Fresh ginger", "quantity": 1, "unit": "inch", "category": "Produce"}, + {"name": "Tamarind paste", "quantity": 1, "unit": "tbsp", "category": "Pantry"}, + {"name": "Ground turmeric", "quantity": 0.5, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Ground cumin", "quantity": 1, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Ground coriander", "quantity": 1, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Kashmiri chili powder", "quantity": 1, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Coconut oil", "quantity": 2, "unit": "tbsp", "category": "Pantry"}, + {"name": "Fresh cilantro", "quantity": 2, "unit": "tbsp", "category": "Produce"}, + ] + }, + + # ── ASIAN ──────────────────────────────────────────────────────────────── + { + "name": "Beef and Broccoli", + "cuisine": "Asian", + "description": "Silky flank steak and crisp broccoli in a savory-umami stir-fry sauce. Better than takeout.", + "servings": 2, + "calories_per_serving": 380, + "carbs_per_serving": 14, + "protein_per_serving": 38, + "fat_per_serving": 18, + "prep_time": 15, + "cook_time": 15, + "instructions": """1. Slice beef thinly against the grain. Toss with 1 tbsp soy sauce and 1 tsp sesame oil. Let sit 10 min. +2. Whisk remaining soy sauce, oyster sauce, beef broth, and arrowroot for the sauce. +3. Heat wok or large skillet to very high. Sear beef in batches until just browned. Remove. +4. In same wok, stir-fry broccoli 3 min. Add garlic and ginger; cook 30 seconds. +5. Pour sauce over broccoli; toss until thickened, 1–2 min. Return beef and toss to coat. +6. Finish with sesame oil and serve immediately.""", + "ingredients": [ + {"name": "Flank steak", "quantity": 1, "unit": "lb", "category": "Meat & Poultry"}, + {"name": "Broccoli florets", "quantity": 3, "unit": "cups", "category": "Produce"}, + {"name": "Soy sauce (or tamari)", "quantity": 3, "unit": "tbsp", "category": "Pantry"}, + {"name": "Oyster sauce", "quantity": 1, "unit": "tbsp", "category": "Pantry"}, + {"name": "Sesame oil", "quantity": 2, "unit": "tsp", "category": "Pantry"}, + {"name": "Beef broth", "quantity": 0.5, "unit": "cup", "category": "Pantry"}, + {"name": "Arrowroot powder", "quantity": 1.5, "unit": "tsp", "category": "Pantry"}, + {"name": "Garlic cloves", "quantity": 3, "unit": "cloves", "category": "Produce"}, + {"name": "Fresh ginger", "quantity": 0.5, "unit": "inch", "category": "Produce"}, + {"name": "Vegetable oil", "quantity": 2, "unit": "tbsp", "category": "Pantry"}, + ] + }, + { + "name": "Thai Basil Chicken (Pad Krapao)", + "cuisine": "Asian", + "description": "Aromatic minced chicken with Thai basil, garlic, and chilies. Fast, fiery, and addictive.", + "servings": 2, + "calories_per_serving": 360, + "carbs_per_serving": 8, + "protein_per_serving": 40, + "fat_per_serving": 18, + "prep_time": 10, + "cook_time": 12, + "instructions": """1. Heat oil in a wok over high heat. Add garlic and chilies; stir 30 seconds until fragrant. +2. Add ground chicken, breaking it up. Stir-fry 5 min until cooked and slightly browned. +3. Add fish sauce, oyster sauce, and soy sauce; toss to coat. +4. Remove from heat. Fold in Thai basil leaves — they'll wilt in the residual heat. +5. Optional: top each bowl with a crispy fried egg. +6. Serve over cauliflower rice.""", + "ingredients": [ + {"name": "Ground chicken", "quantity": 1.5, "unit": "lb", "category": "Meat & Poultry"}, + {"name": "Fresh Thai basil", "quantity": 1.5, "unit": "cups", "category": "Produce"}, + {"name": "Garlic cloves", "quantity": 5, "unit": "cloves", "category": "Produce"}, + {"name": "Thai red chilies", "quantity": 3, "unit": "whole", "category": "Produce"}, + {"name": "Fish sauce", "quantity": 2, "unit": "tbsp", "category": "Pantry"}, + {"name": "Oyster sauce", "quantity": 1, "unit": "tbsp", "category": "Pantry"}, + {"name": "Soy sauce", "quantity": 1, "unit": "tbsp", "category": "Pantry"}, + {"name": "Vegetable oil", "quantity": 2, "unit": "tbsp", "category": "Pantry"}, + {"name": "Eggs", "quantity": 2, "unit": "whole", "category": "Dairy & Eggs"}, + ] + }, + { + "name": "Miso-Glazed Salmon", + "cuisine": "Asian", + "description": "Broiled salmon with a sweet-savory miso glaze that caramelizes into a lacquered crust. Effortlessly elegant.", + "servings": 2, + "calories_per_serving": 440, + "carbs_per_serving": 10, + "protein_per_serving": 44, + "fat_per_serving": 22, + "prep_time": 5, + "cook_time": 12, + "instructions": """1. Whisk together miso paste, sake, mirin, soy sauce, and sesame oil until smooth. +2. Pat salmon dry. Pour marinade over and marinate 20 min (up to overnight in the fridge). +3. Preheat broiler. Place salmon skin-side down on a foil-lined pan. +4. Broil 10–12 min until the glaze is deeply caramelized and fish flakes easily. +5. Garnish with scallions and sesame seeds. Serve immediately.""", + "ingredients": [ + {"name": "Salmon fillets", "quantity": 2, "unit": "whole", "category": "Seafood"}, + {"name": "White miso paste", "quantity": 3, "unit": "tbsp", "category": "Pantry"}, + {"name": "Sake or dry sherry", "quantity": 2, "unit": "tbsp", "category": "Pantry"}, + {"name": "Mirin", "quantity": 2, "unit": "tbsp", "category": "Pantry"}, + {"name": "Soy sauce", "quantity": 1, "unit": "tbsp", "category": "Pantry"}, + {"name": "Sesame oil", "quantity": 1, "unit": "tsp", "category": "Pantry"}, + {"name": "Scallions", "quantity": 3, "unit": "whole", "category": "Produce"}, + {"name": "Sesame seeds", "quantity": 1, "unit": "tbsp", "category": "Pantry"}, + ] + }, + { + "name": "Mapo Tofu", + "cuisine": "Asian", + "description": "Silken tofu and ground pork in a fiery, numbing Sichuan sauce. A landmark of bold flavors.", + "servings": 2, + "calories_per_serving": 380, + "carbs_per_serving": 8, + "protein_per_serving": 28, + "fat_per_serving": 24, + "prep_time": 10, + "cook_time": 15, + "instructions": """1. Heat oil in a wok. Brown pork until crispy and fragrant. Push to one side. +2. Add doubanjiang; fry in oil 1 min until deep red and fragrant. Add garlic and ginger. +3. Pour in chicken broth; bring to a simmer. Add tofu in large cubes, stir gently. +4. Stir in soy sauce. Thicken with arrowroot slurry. +5. Finish with sesame oil and scatter scallions. Dust with Sichuan peppercorns before serving.""", + "ingredients": [ + {"name": "Silken tofu", "quantity": 14, "unit": "oz", "category": "Pantry"}, + {"name": "Ground pork", "quantity": 0.5, "unit": "lb", "category": "Meat & Poultry"}, + {"name": "Doubanjiang (chili bean paste)", "quantity": 2, "unit": "tbsp", "category": "Pantry"}, + {"name": "Garlic cloves", "quantity": 3, "unit": "cloves", "category": "Produce"}, + {"name": "Fresh ginger", "quantity": 0.5, "unit": "inch", "category": "Produce"}, + {"name": "Chicken broth", "quantity": 1, "unit": "cup", "category": "Pantry"}, + {"name": "Soy sauce", "quantity": 2, "unit": "tbsp", "category": "Pantry"}, + {"name": "Sichuan peppercorns", "quantity": 1, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Sesame oil", "quantity": 1, "unit": "tsp", "category": "Pantry"}, + {"name": "Scallions", "quantity": 3, "unit": "whole", "category": "Produce"}, + {"name": "Arrowroot powder", "quantity": 1, "unit": "tsp", "category": "Pantry"}, + {"name": "Vegetable oil", "quantity": 2, "unit": "tbsp", "category": "Pantry"}, + ] + }, + { + "name": "Korean Bulgogi", + "cuisine": "Asian", + "description": "Thinly sliced ribeye marinated in soy, sesame, and Asian pear — caramelized and intensely savory.", + "servings": 2, + "calories_per_serving": 440, + "carbs_per_serving": 12, + "protein_per_serving": 42, + "fat_per_serving": 24, + "prep_time": 20, + "cook_time": 10, + "instructions": """1. Grate the Asian pear (or apple). Mix with soy sauce, sesame oil, gochujang, garlic, ginger, scallions, sugar (or substitute), and sesame seeds. +2. Add thinly sliced beef; marinate at least 30 min (or overnight). +3. Heat a grill pan or skillet to high. Cook beef in a single layer, 2–3 min per side until caramelized. +4. Serve over lettuce cups or cauliflower rice, garnished with sesame seeds and scallions.""", + "ingredients": [ + {"name": "Ribeye steak, thinly sliced", "quantity": 1.5, "unit": "lb", "category": "Meat & Poultry"}, + {"name": "Soy sauce", "quantity": 3, "unit": "tbsp", "category": "Pantry"}, + {"name": "Sesame oil", "quantity": 1, "unit": "tbsp", "category": "Pantry"}, + {"name": "Gochujang", "quantity": 1, "unit": "tbsp", "category": "Pantry"}, + {"name": "Asian pear or apple", "quantity": 0.5, "unit": "whole", "category": "Produce"}, + {"name": "Garlic cloves", "quantity": 4, "unit": "cloves", "category": "Produce"}, + {"name": "Fresh ginger", "quantity": 0.5, "unit": "inch", "category": "Produce"}, + {"name": "Sesame seeds", "quantity": 1, "unit": "tbsp", "category": "Pantry"}, + {"name": "Scallions", "quantity": 4, "unit": "whole", "category": "Produce"}, + {"name": "Butter lettuce (for wraps)", "quantity": 1, "unit": "head", "category": "Produce"}, + ] + }, + { + "name": "Vietnamese Caramelized Pork (Thit Kho)", + "cuisine": "Asian", + "description": "Pork belly slow-braised in coconut water until sticky and deeply caramelized. Comfort food from Saigon.", + "servings": 2, + "calories_per_serving": 500, + "carbs_per_serving": 6, + "protein_per_serving": 38, + "fat_per_serving": 34, + "prep_time": 10, + "cook_time": 75, + "instructions": """1. Cut pork belly into 1.5-inch pieces. Sear in a heavy pot until golden on all sides. +2. Combine fish sauce, soy sauce, garlic, shallot, and black pepper. Add to pork. +3. Pour coconut water or plain water to half-cover. Add hard-boiled eggs. +4. Bring to a boil, then reduce heat. Simmer uncovered 60–75 min, turning occasionally, until sauce is thick and sticky. +5. The liquid should reduce to a rich glaze. Adjust seasoning. +6. Serve garnished with scallions.""", + "ingredients": [ + {"name": "Pork belly", "quantity": 1.5, "unit": "lb", "category": "Meat & Poultry"}, + {"name": "Eggs, hard-boiled", "quantity": 2, "unit": "whole", "category": "Dairy & Eggs"}, + {"name": "Fish sauce", "quantity": 3, "unit": "tbsp", "category": "Pantry"}, + {"name": "Soy sauce", "quantity": 2, "unit": "tbsp", "category": "Pantry"}, + {"name": "Garlic cloves", "quantity": 3, "unit": "cloves", "category": "Produce"}, + {"name": "Shallot", "quantity": 1, "unit": "whole", "category": "Produce"}, + {"name": "Coconut water or water", "quantity": 1.5, "unit": "cups", "category": "Pantry"}, + {"name": "Scallions", "quantity": 2, "unit": "whole", "category": "Produce"}, + ] + }, + + # ── FRENCH ─────────────────────────────────────────────────────────────── + { + "name": "Coq au Vin", + "cuisine": "French", + "description": "Chicken braised in Burgundy with bacon, mushrooms, and pearl onions. The definitive French comfort dish.", + "servings": 2, + "calories_per_serving": 540, + "carbs_per_serving": 12, + "protein_per_serving": 44, + "fat_per_serving": 28, + "prep_time": 20, + "cook_time": 90, + "instructions": """1. Cook bacon in a Dutch oven until crispy. Remove; leave fat in pan. +2. Season chicken; brown on all sides in bacon fat over medium-high, 8 min. Remove. +3. Sauté mushrooms until golden, 5 min. Add onion and cook 5 min more. +4. Add garlic; cook 1 min. Add tomato paste and cook 1 min. +5. Add cognac or brandy and let it reduce 1 min. Add wine and broth. +6. Return chicken and bacon. Add thyme and bay leaf. Simmer covered 45 min until chicken is very tender. +7. Uncover the last 15 min to thicken the sauce. Check seasoning.""", + "ingredients": [ + {"name": "Chicken thighs, bone-in", "quantity": 4, "unit": "whole", "category": "Meat & Poultry"}, + {"name": "Bacon lardons", "quantity": 4, "unit": "oz", "category": "Meat & Poultry"}, + {"name": "Red Burgundy wine", "quantity": 2, "unit": "cups", "category": "Pantry"}, + {"name": "Chicken broth", "quantity": 1, "unit": "cup", "category": "Pantry"}, + {"name": "Cremini mushrooms", "quantity": 8, "unit": "oz", "category": "Produce"}, + {"name": "Pearl onions", "quantity": 1, "unit": "cup", "category": "Produce"}, + {"name": "Garlic cloves", "quantity": 3, "unit": "cloves", "category": "Produce"}, + {"name": "Tomato paste", "quantity": 1, "unit": "tbsp", "category": "Pantry"}, + {"name": "Cognac or brandy", "quantity": 2, "unit": "tbsp", "category": "Pantry"}, + {"name": "Fresh thyme", "quantity": 4, "unit": "sprigs", "category": "Produce"}, + {"name": "Bay leaves", "quantity": 2, "unit": "whole", "category": "Spices & Herbs"}, + {"name": "Butter", "quantity": 2, "unit": "tbsp", "category": "Dairy & Eggs"}, + ] + }, + { + "name": "Duck Confit", + "cuisine": "French", + "description": "Duck legs slow-cooked in their own fat until silky and tender, then crisped in a screaming hot pan.", + "servings": 2, + "calories_per_serving": 640, + "carbs_per_serving": 2, + "protein_per_serving": 42, + "fat_per_serving": 50, + "prep_time": 15, + "cook_time": 180, + "instructions": """1. Rub duck legs with salt, garlic, thyme, rosemary, and pepper. Refrigerate uncured at least 2 hours. +2. Place in a baking dish; cover with duck fat (or olive oil as substitute). The legs should be submerged. +3. Cook at 250°F for 2.5–3 hours until meat is very tender and pulls easily from the bone. +4. Remove legs. Reserve the fat for future confit or roasting potatoes. +5. Heat a heavy skillet to high. Sear duck legs skin-side down 5–6 min until skin is shatteringly crispy. +6. Rest briefly and serve with wilted greens or celery root purée.""", + "ingredients": [ + {"name": "Duck legs", "quantity": 2, "unit": "whole", "category": "Meat & Poultry"}, + {"name": "Duck fat (or olive oil)", "quantity": 2, "unit": "cups", "category": "Pantry"}, + {"name": "Coarse sea salt", "quantity": 2, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Garlic cloves", "quantity": 4, "unit": "cloves", "category": "Produce"}, + {"name": "Fresh thyme", "quantity": 4, "unit": "sprigs", "category": "Produce"}, + {"name": "Fresh rosemary", "quantity": 2, "unit": "sprigs", "category": "Produce"}, + {"name": "Black pepper", "quantity": 1, "unit": "tsp", "category": "Spices & Herbs"}, + ] + }, + { + "name": "Steak au Poivre", + "cuisine": "French", + "description": "Pepper-crusted steak with a flambéed cognac-cream pan sauce. Bistro drama on your own stovetop.", + "servings": 2, + "calories_per_serving": 580, + "carbs_per_serving": 4, + "protein_per_serving": 46, + "fat_per_serving": 38, + "prep_time": 10, + "cook_time": 15, + "instructions": """1. Crack peppercorns coarsely with a mortar or rolling pin. Press firmly onto both sides of steaks. +2. Season with salt. Heat 1 tbsp butter and oil in a heavy skillet over high heat. +3. Cook steaks to desired doneness (3–4 min per side for medium-rare). Rest on a plate. +4. Reduce heat. Add shallot; cook 1 min. Carefully add cognac and tip the pan to flambé. +5. When flames die out, add cream and thyme. Simmer until sauce coats a spoon, 2–3 min. +6. Season sauce. Pour over steaks and serve immediately.""", + "ingredients": [ + {"name": "Ribeye or NY strip steaks", "quantity": 2, "unit": "whole", "category": "Meat & Poultry"}, + {"name": "Black peppercorns", "quantity": 2, "unit": "tbsp", "category": "Spices & Herbs"}, + {"name": "Cognac or brandy", "quantity": 0.25, "unit": "cup", "category": "Pantry"}, + {"name": "Heavy cream", "quantity": 0.5, "unit": "cup", "category": "Dairy & Eggs"}, + {"name": "Shallot", "quantity": 1, "unit": "whole", "category": "Produce"}, + {"name": "Fresh thyme", "quantity": 2, "unit": "sprigs", "category": "Produce"}, + {"name": "Butter", "quantity": 2, "unit": "tbsp", "category": "Dairy & Eggs"}, + {"name": "Olive oil", "quantity": 1, "unit": "tbsp", "category": "Pantry"}, + ] + }, + { + "name": "Bouillabaisse", + "cuisine": "French", + "description": "Provençal saffron-scented seafood stew with fennel and tomatoes. A taste of Marseille in a bowl.", + "servings": 2, + "calories_per_serving": 380, + "carbs_per_serving": 14, + "protein_per_serving": 34, + "fat_per_serving": 18, + "prep_time": 20, + "cook_time": 30, + "instructions": """1. Heat olive oil in a wide pot. Sauté fennel and onion until softened, 8 min. +2. Add garlic, orange zest, saffron, and thyme; cook 1 min. +3. Add wine, tomatoes, and broth; bring to a boil. Simmer 15 min. +4. Add firm fish first; cook 3 min. Add shrimp and mussels; cover and cook 5 min until mussels open. +5. Discard any unopened mussels. Season and ladle into warm bowls. +6. Serve with garlic aioli on the side (optional).""", + "ingredients": [ + {"name": "Mixed firm white fish (cod, halibut)", "quantity": 0.75, "unit": "lb", "category": "Seafood"}, + {"name": "Large shrimp, peeled", "quantity": 0.5, "unit": "lb", "category": "Seafood"}, + {"name": "Mussels, cleaned", "quantity": 0.5, "unit": "lb", "category": "Seafood"}, + {"name": "Fennel bulb", "quantity": 1, "unit": "whole", "category": "Produce"}, + {"name": "Onion", "quantity": 1, "unit": "whole", "category": "Produce"}, + {"name": "Garlic cloves", "quantity": 4, "unit": "cloves", "category": "Produce"}, + {"name": "Diced tomatoes (canned)", "quantity": 14, "unit": "oz", "category": "Pantry"}, + {"name": "Fish or seafood broth", "quantity": 2, "unit": "cups", "category": "Pantry"}, + {"name": "Dry white wine", "quantity": 0.5, "unit": "cup", "category": "Pantry"}, + {"name": "Saffron threads", "quantity": 0.25, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Orange zest", "quantity": 1, "unit": "tsp", "category": "Produce"}, + {"name": "Fresh thyme", "quantity": 3, "unit": "sprigs", "category": "Produce"}, + {"name": "Olive oil", "quantity": 3, "unit": "tbsp", "category": "Pantry"}, + ] + }, + { + "name": "Poulet Basquaise", + "cuisine": "French", + "description": "Braised chicken with sweet peppers, tomatoes, and olives from the Basque country. Vivid and rustic.", + "servings": 2, + "calories_per_serving": 420, + "carbs_per_serving": 14, + "protein_per_serving": 40, + "fat_per_serving": 20, + "prep_time": 15, + "cook_time": 50, + "instructions": """1. Season chicken thighs. Brown skin-side down in olive oil over medium-high, 5 min. Flip, brown 3 min more. Remove. +2. In same pan, sauté bell peppers and onion until softened, 8 min. Add garlic; cook 1 min. +3. Add smoked paprika and thyme; stir 30 seconds. Add wine; deglaze. +4. Add tomatoes and bring to a simmer. Nestle chicken skin-side up in the sauce. +5. Cook partially covered 35–40 min until chicken is cooked through. +6. Stir in olives and fresh basil. Adjust seasoning.""", + "ingredients": [ + {"name": "Chicken thighs, bone-in", "quantity": 4, "unit": "whole", "category": "Meat & Poultry"}, + {"name": "Red bell pepper", "quantity": 2, "unit": "whole", "category": "Produce"}, + {"name": "Green bell pepper", "quantity": 1, "unit": "whole", "category": "Produce"}, + {"name": "Onion", "quantity": 1, "unit": "whole", "category": "Produce"}, + {"name": "Garlic cloves", "quantity": 4, "unit": "cloves", "category": "Produce"}, + {"name": "Crushed tomatoes", "quantity": 14, "unit": "oz", "category": "Pantry"}, + {"name": "Dry white wine", "quantity": 0.5, "unit": "cup", "category": "Pantry"}, + {"name": "Smoked paprika", "quantity": 1, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Fresh thyme", "quantity": 3, "unit": "sprigs", "category": "Produce"}, + {"name": "Picholine or green olives", "quantity": 0.25, "unit": "cup", "category": "Pantry"}, + {"name": "Fresh basil", "quantity": 0.25, "unit": "cup", "category": "Produce"}, + {"name": "Olive oil", "quantity": 3, "unit": "tbsp", "category": "Pantry"}, + ] + }, + { + "name": "Sole Meunière", + "cuisine": "French", + "description": "Delicate sole fillets dredged in flour and finished with brown butter and lemon. Simplicity perfected.", + "servings": 2, + "calories_per_serving": 340, + "carbs_per_serving": 6, + "protein_per_serving": 36, + "fat_per_serving": 18, + "prep_time": 5, + "cook_time": 10, + "instructions": """1. Pat sole fillets dry. Season with salt and white pepper; dust lightly with flour. +2. Melt 2 tbsp butter in a large skillet over medium-high heat until foaming. +3. Cook sole 2–3 min per side until golden. Remove to warm plates. +4. Wipe pan; add remaining butter and cook over medium until nut-brown (beurre noisette). +5. Off heat, add lemon juice — it will sizzle dramatically. +6. Pour brown butter over fish. Garnish with capers (optional) and fresh parsley.""", + "ingredients": [ + {"name": "Sole or flounder fillets", "quantity": 2, "unit": "whole", "category": "Seafood"}, + {"name": "Butter", "quantity": 4, "unit": "tbsp", "category": "Dairy & Eggs"}, + {"name": "Lemon", "quantity": 2, "unit": "whole", "category": "Produce"}, + {"name": "Fresh flat-leaf parsley", "quantity": 2, "unit": "tbsp", "category": "Produce"}, + {"name": "All-purpose flour", "quantity": 3, "unit": "tbsp", "category": "Pantry"}, + {"name": "Capers", "quantity": 1, "unit": "tbsp", "category": "Pantry"}, + ] + }, + { + "name": "Salade Niçoise", + "cuisine": "French", + "description": "The iconic Riviera salad — tuna, eggs, haricots verts, olives, and anchovies in a bold Dijon vinaigrette.", + "servings": 2, + "calories_per_serving": 440, + "carbs_per_serving": 12, + "protein_per_serving": 38, + "fat_per_serving": 26, + "prep_time": 20, + "cook_time": 15, + "instructions": """1. Cook eggs to a firm-but-jammy soft boil (8 min from cold start). Cool and peel. +2. Blanch haricots verts in boiling salted water 3 min; plunge into ice water to stay bright green. +3. Whisk together olive oil, red wine vinegar, Dijon, garlic, salt, and pepper for the vinaigrette. +4. Arrange greens on a platter. Top with tuna (broken into chunks), halved eggs, green beans, tomatoes, olives, and anchovies. +5. Drizzle generously with vinaigrette and serve immediately.""", + "ingredients": [ + {"name": "Tuna in olive oil (canned)", "quantity": 10, "unit": "oz", "category": "Seafood"}, + {"name": "Eggs", "quantity": 4, "unit": "whole", "category": "Dairy & Eggs"}, + {"name": "Haricots verts (thin green beans)", "quantity": 6, "unit": "oz", "category": "Produce"}, + {"name": "Cherry tomatoes", "quantity": 1, "unit": "cup", "category": "Produce"}, + {"name": "Kalamata olives", "quantity": 0.5, "unit": "cup", "category": "Pantry"}, + {"name": "Anchovy fillets", "quantity": 4, "unit": "whole", "category": "Seafood"}, + {"name": "Mixed salad greens", "quantity": 4, "unit": "cups", "category": "Produce"}, + {"name": "Olive oil", "quantity": 4, "unit": "tbsp", "category": "Pantry"}, + {"name": "Red wine vinegar", "quantity": 2, "unit": "tbsp", "category": "Pantry"}, + {"name": "Dijon mustard", "quantity": 1, "unit": "tsp", "category": "Pantry"}, + {"name": "Garlic cloves", "quantity": 1, "unit": "cloves", "category": "Produce"}, + ] + }, + + # ── SPANISH (filed under Italian) ──────────────────────────────────────── + { + "name": "Pollo al Ajillo", + "cuisine": "Italian", + "description": "Spanish garlic chicken — golden pieces braised with a forest of garlic, dry sherry, and thyme until the sauce becomes sticky and deeply savory.", + "servings": 2, + "calories_per_serving": 460, + "carbs_per_serving": 6, + "protein_per_serving": 44, + "fat_per_serving": 26, + "prep_time": 10, + "cook_time": 35, + "status": "candidate", + "instructions": """1. Season chicken pieces with salt and pepper. +2. Heat olive oil in a wide skillet over medium-high. Sear chicken skin-side down until deep golden, 7 min. Flip, cook 3 min more. Remove. +3. Add garlic to the fat; cook over medium until golden and fragrant, 3 min. +4. Add sherry; let it bubble and reduce by half, scraping up the browned bits. +5. Return chicken and add thyme and bay leaf. Cover and braise on low 20 min. +6. Uncover the last 5 min to thicken the sauce. Discard bay leaf. +7. Finish with a squeeze of lemon and fresh parsley.""", + "ingredients": [ + {"name": "Chicken thighs, bone-in", "quantity": 4, "unit": "whole", "category": "Meat & Poultry"}, + {"name": "Garlic cloves", "quantity": 12, "unit": "cloves", "category": "Produce"}, + {"name": "Dry sherry (or white wine)", "quantity": 0.5, "unit": "cup", "category": "Pantry"}, + {"name": "Olive oil", "quantity": 3, "unit": "tbsp", "category": "Pantry"}, + {"name": "Fresh thyme", "quantity": 4, "unit": "sprigs", "category": "Produce"}, + {"name": "Bay leaf", "quantity": 1, "unit": "whole", "category": "Spices & Herbs"}, + {"name": "Lemon", "quantity": 1, "unit": "whole", "category": "Produce"}, + {"name": "Fresh parsley", "quantity": 2, "unit": "tbsp", "category": "Produce"}, + ] + }, + + # ── LEVANTINE (filed under Greek) ───────────────────────────────────────── + { + "name": "Shish Tawook", + "cuisine": "Greek", + "description": "Lebanese marinated chicken skewers with yogurt, lemon, and warm spices — charred, juicy, and irresistible with garlic toum.", + "servings": 2, + "calories_per_serving": 390, + "carbs_per_serving": 8, + "protein_per_serving": 46, + "fat_per_serving": 18, + "prep_time": 15, + "cook_time": 15, + "status": "candidate", + "instructions": """1. Combine yogurt, lemon juice, olive oil, garlic, tomato paste, cumin, allspice, cinnamon, paprika, and salt to form the marinade. +2. Cut chicken into 1.5-inch cubes; toss with marinade. Marinate at least 2 hours, overnight is ideal. +3. Thread chicken onto skewers. Let come to room temperature 15 min before cooking. +4. Grill or broil over high heat, turning every 2–3 min, until charred at the edges and cooked through, about 12 min total. +5. Make quick toum (garlic sauce): blend garlic, lemon juice, salt, and whisk in olive oil until emulsified. +6. Serve skewers over cucumber-tomato salad with toum on the side.""", + "ingredients": [ + {"name": "Chicken breast, boneless", "quantity": 1.5, "unit": "lb", "category": "Meat & Poultry"}, + {"name": "Greek yogurt", "quantity": 0.5, "unit": "cup", "category": "Dairy & Eggs"}, + {"name": "Lemon", "quantity": 2, "unit": "whole", "category": "Produce"}, + {"name": "Garlic cloves", "quantity": 6, "unit": "cloves", "category": "Produce"}, + {"name": "Tomato paste", "quantity": 1, "unit": "tbsp", "category": "Pantry"}, + {"name": "Olive oil", "quantity": 3, "unit": "tbsp", "category": "Pantry"}, + {"name": "Ground cumin", "quantity": 1, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Ground allspice", "quantity": 0.5, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Ground cinnamon", "quantity": 0.25, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "Smoked paprika", "quantity": 1, "unit": "tsp", "category": "Spices & Herbs"}, + {"name": "English cucumber", "quantity": 1, "unit": "whole", "category": "Produce"}, + {"name": "Cherry tomatoes", "quantity": 1, "unit": "cup", "category": "Produce"}, + ] + }, + + # ── JAPANESE (filed under Asian) ────────────────────────────────────────── + { + "name": "Chicken Karaage", + "cuisine": "Asian", + "description": "Japanese double-fried chicken thighs — juicy inside, shattering crisp outside, with a ginger-soy marinade and kewpie mayo.", + "servings": 2, + "calories_per_serving": 480, + "carbs_per_serving": 8, + "protein_per_serving": 42, + "fat_per_serving": 28, + "prep_time": 20, + "cook_time": 20, + "status": "candidate", + "instructions": """1. Cut chicken thighs into 1.5-inch pieces. Combine soy sauce, sake, ginger, and garlic; marinate chicken 30 min minimum. +2. Remove chicken from marinade; pat dry. Toss in arrowroot powder (or potato starch) to coat lightly. +3. Heat vegetable oil to 325°F in a heavy pot. Fry chicken in batches 4 min until just cooked. Drain on a rack. +4. Raise oil to 375°F. Fry all pieces again 90 seconds until deeply golden and shatteringly crisp. +5. Drain and immediately season with a pinch of salt. +6. Serve with lemon wedges, kewpie mayo for dipping, and shredded cabbage.""", + "ingredients": [ + {"name": "Chicken thighs, boneless skin-on", "quantity": 1.5, "unit": "lb", "category": "Meat & Poultry"}, + {"name": "Soy sauce", "quantity": 3, "unit": "tbsp", "category": "Pantry"}, + {"name": "Sake or dry sherry", "quantity": 2, "unit": "tbsp", "category": "Pantry"}, + {"name": "Fresh ginger", "quantity": 1, "unit": "inch", "category": "Produce"}, + {"name": "Garlic cloves", "quantity": 3, "unit": "cloves", "category": "Produce"}, + {"name": "Arrowroot or potato starch", "quantity": 0.5, "unit": "cup", "category": "Pantry"}, + {"name": "Vegetable oil (for frying)", "quantity": 3, "unit": "cups", "category": "Pantry"}, + {"name": "Lemon", "quantity": 1, "unit": "whole", "category": "Produce"}, + {"name": "Kewpie mayonnaise", "quantity": 3, "unit": "tbsp", "category": "Pantry"}, + {"name": "Green cabbage, shredded", "quantity": 1, "unit": "cup", "category": "Produce"}, + ] + }, +] |
