diff --git a/data/recipe-book-backup.json b/data/recipe-book-backup.json new file mode 100644 index 0000000..8e3c861 --- /dev/null +++ b/data/recipe-book-backup.json @@ -0,0 +1,147746 @@ +{ + "$schema": "https://formulation.app/schemas/backup-v1.json", + "format_version": "1.0.0", + "app_version": "2.0.0", + "exported_at": "2026-08-18T23:24:08.512Z", + "summary": { + "units_count": 30, + "equipment_count": 13, + "prep_actions_count": 7, + "ingredients_count": 610, + "recipes_count": 629, + "purchase_items_count": 39, + "price_observations_count": 53, + "source_mappings_count": 165, + "collections_count": 1, + "inventory_locations_count": 5, + "inventory_counts_count": 1, + "total_records_count": 1500 + }, + "data": { + "units": [ + { + "id": "dozen", + "name": "dozen", + "symbol": "doz", + "dimension": "count", + "system": "universal", + "base_unit_id": "each", + "factor": 12, + "offset": null + }, + { + "id": "each", + "name": "each", + "symbol": "ea", + "dimension": "count", + "system": "universal", + "base_unit_id": null, + "factor": null, + "offset": null + }, + { + "id": "centimeter", + "name": "centimeter", + "symbol": "cm", + "dimension": "length", + "system": "metric", + "base_unit_id": "millimeter", + "factor": 10, + "offset": null + }, + { + "id": "inch", + "name": "inch", + "symbol": "in", + "dimension": "length", + "system": "us_customary", + "base_unit_id": "millimeter", + "factor": 25.4, + "offset": null + }, + { + "id": "meter", + "name": "meter", + "symbol": "m", + "dimension": "length", + "system": "metric", + "base_unit_id": "millimeter", + "factor": 1000, + "offset": null + }, + { + "id": "millimeter", + "name": "millimeter", + "symbol": "mm", + "dimension": "length", + "system": "metric", + "base_unit_id": null, + "factor": null, + "offset": null + }, + { + "id": "gram", + "name": "gram", + "symbol": "g", + "dimension": "mass", + "system": "metric", + "base_unit_id": null, + "factor": null, + "offset": null + }, + { + "id": "kilogram", + "name": "kilogram", + "symbol": "kg", + "dimension": "mass", + "system": "metric", + "base_unit_id": "gram", + "factor": 1000, + "offset": null + }, + { + "id": "microgram", + "name": "microgram", + "symbol": "µg", + "dimension": "mass", + "system": "metric", + "base_unit_id": "gram", + "factor": 0.000001, + "offset": null + }, + { + "id": "milligram", + "name": "milligram", + "symbol": "mg", + "dimension": "mass", + "system": "metric", + "base_unit_id": "gram", + "factor": 0.001, + "offset": null + }, + { + "id": "ounce_mass", + "name": "ounce", + "symbol": "oz", + "dimension": "mass", + "system": "us_customary", + "base_unit_id": "gram", + "factor": 28.349523125, + "offset": null + }, + { + "id": "pound", + "name": "pound", + "symbol": "lb", + "dimension": "mass", + "system": "us_customary", + "base_unit_id": "gram", + "factor": 453.59237, + "offset": null + }, + { + "id": "celsius", + "name": "degree Celsius", + "symbol": "°C", + "dimension": "temperature", + "system": "metric", + "base_unit_id": null, + "factor": null, + "offset": null + }, + { + "id": "fahrenheit", + "name": "degree Fahrenheit", + "symbol": "°F", + "dimension": "temperature", + "system": "us_customary", + "base_unit_id": "celsius", + "factor": 0.5555555555555556, + "offset": -17.77777777777778 + }, + { + "id": "kelvin", + "name": "kelvin", + "symbol": "K", + "dimension": "temperature", + "system": "metric", + "base_unit_id": "celsius", + "factor": 1, + "offset": -273.15 + }, + { + "id": "hour", + "name": "hour", + "symbol": "h", + "dimension": "time", + "system": "universal", + "base_unit_id": "minute", + "factor": 60, + "offset": null + }, + { + "id": "minute", + "name": "minute", + "symbol": "min", + "dimension": "time", + "system": "universal", + "base_unit_id": null, + "factor": null, + "offset": null + }, + { + "id": "second", + "name": "second", + "symbol": "s", + "dimension": "time", + "system": "universal", + "base_unit_id": "minute", + "factor": 0.016666666666666666, + "offset": null + }, + { + "id": "cup_metric", + "name": "metric cup", + "symbol": "cup metric", + "dimension": "volume", + "system": "metric", + "base_unit_id": "milliliter", + "factor": 250, + "offset": null + }, + { + "id": "cup_us", + "name": "US legal cup", + "symbol": "cup", + "dimension": "volume", + "system": "us_customary", + "base_unit_id": "milliliter", + "factor": 240, + "offset": null + }, + { + "id": "fluid_ounce_us", + "name": "US fluid ounce", + "symbol": "fl oz", + "dimension": "volume", + "system": "us_customary", + "base_unit_id": "milliliter", + "factor": 29.5735295625, + "offset": null + }, + { + "id": "gallon_us", + "name": "US liquid gallon", + "symbol": "gal", + "dimension": "volume", + "system": "us_customary", + "base_unit_id": "milliliter", + "factor": 3785.411784, + "offset": null + }, + { + "id": "liter", + "name": "liter", + "symbol": "L", + "dimension": "volume", + "system": "metric", + "base_unit_id": "milliliter", + "factor": 1000, + "offset": null + }, + { + "id": "milliliter", + "name": "milliliter", + "symbol": "mL", + "dimension": "volume", + "system": "metric", + "base_unit_id": null, + "factor": null, + "offset": null + }, + { + "id": "pint_us", + "name": "US liquid pint", + "symbol": "pt", + "dimension": "volume", + "system": "us_customary", + "base_unit_id": "milliliter", + "factor": 473.176473, + "offset": null + }, + { + "id": "quart_us", + "name": "US liquid quart", + "symbol": "qt", + "dimension": "volume", + "system": "us_customary", + "base_unit_id": "milliliter", + "factor": 946.352946, + "offset": null + }, + { + "id": "tablespoon_metric", + "name": "metric tablespoon", + "symbol": "tbsp metric", + "dimension": "volume", + "system": "metric", + "base_unit_id": "milliliter", + "factor": 15, + "offset": null + }, + { + "id": "tablespoon_us", + "name": "US tablespoon", + "symbol": "tbsp", + "dimension": "volume", + "system": "us_customary", + "base_unit_id": "milliliter", + "factor": 14.78676478125, + "offset": null + }, + { + "id": "teaspoon_metric", + "name": "metric teaspoon", + "symbol": "tsp metric", + "dimension": "volume", + "system": "metric", + "base_unit_id": "milliliter", + "factor": 5, + "offset": null + }, + { + "id": "teaspoon_us", + "name": "US teaspoon", + "symbol": "tsp", + "dimension": "volume", + "system": "us_customary", + "base_unit_id": "milliliter", + "factor": 4.92892159375, + "offset": null + } + ], + "equipment": [ + { + "id": "blender", + "name": "Blender", + "category": "powered", + "notes": null + }, + { + "id": "food_processor", + "name": "Food processor", + "category": "powered", + "notes": null + }, + { + "id": "griddle", + "name": "Griddle", + "category": "cooking", + "notes": null + }, + { + "id": "kitchen_scale", + "name": "Kitchen scale", + "category": "measuring", + "notes": null + }, + { + "id": "mixing_bowl", + "name": "Mixing bowl", + "category": "preparation", + "notes": null + }, + { + "id": "oven", + "name": "Oven", + "category": "cooking", + "notes": null + }, + { + "id": "saucepan", + "name": "Saucepan", + "category": "cooking", + "notes": null + }, + { + "id": "sheet_pan", + "name": "Sheet pan", + "category": "bakeware", + "notes": null + }, + { + "id": "skillet", + "name": "Skillet", + "category": "cooking", + "notes": null + }, + { + "id": "stand_mixer", + "name": "Stand mixer", + "category": "powered", + "notes": null + }, + { + "id": "stockpot", + "name": "Stockpot", + "category": "cooking", + "notes": null + }, + { + "id": "thermometer", + "name": "Thermometer", + "category": "measuring", + "notes": null + }, + { + "id": "whisk", + "name": "Whisk", + "category": "utensil", + "notes": null + } + ], + "prep_actions": [ + { + "id": "chop", + "name": "chop", + "action_type": "cut", + "default_yield_factor": 1, + "notes": "Chop before the ingredient enters the recipe." + }, + { + "id": "crush", + "name": "crush", + "action_type": "cut", + "default_yield_factor": 1, + "notes": "Crush into smaller pieces before the ingredient enters the recipe." + }, + { + "id": "drain", + "name": "drain", + "action_type": "drain", + "default_yield_factor": null, + "notes": "Remove packing or cooking liquid before weighing usable material." + }, + { + "id": "grate", + "name": "grate", + "action_type": "cut", + "default_yield_factor": 1, + "notes": "Grate before the ingredient enters the recipe." + }, + { + "id": "mince", + "name": "mince", + "action_type": "cut", + "default_yield_factor": 1, + "notes": "Cut into very small pieces before the ingredient enters the recipe." + }, + { + "id": "peel", + "name": "peel", + "action_type": "peel", + "default_yield_factor": null, + "notes": "Remove peel or skin before the ingredient enters the recipe." + }, + { + "id": "trim", + "name": "trim", + "action_type": "trim", + "default_yield_factor": null, + "notes": "Remove unusable exterior, connective tissue, or other specified trim." + } + ], + "ingredients": [ + { + "id": "10x_sugar", + "schema_version": 2, + "name": "10X Sugar", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "agar", + "schema_version": 2, + "name": "agar", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"agar\",\"name\":\"Seaweed, agar, dried\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"agar\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_agar_170090\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "agar", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "agar_agar", + "schema_version": 2, + "name": "Agar Agar", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "agave_syrup", + "schema_version": 2, + "name": "Agave Syrup", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "allspice", + "schema_version": 2, + "name": "ground allspice", + "status": "active", + "categories_json": "[\"flavoring\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"allspice\",\"name\":\"Spices, allspice, ground\",\"status\":\"active\",\"categories\":[\"flavoring\"],\"aliases\":[{\"name\":\"allspice\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_allspice_171315\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_171315_88417\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":1.9,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171315\",\"url\":\"https://fdc.nal.usda.gov/food-details/171315/measures\",\"title\":\"Spices, allspice, ground\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88417.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_171315_88418\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":6,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171315\",\"url\":\"https://fdc.nal.usda.gov/food-details/171315/measures\",\"title\":\"Spices, allspice, ground\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88418.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "allspice", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_171315_88417", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 1.9, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171315\",\"url\":\"https://fdc.nal.usda.gov/food-details/171315/measures\",\"title\":\"Spices, allspice, ground\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88417.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_171315_88418", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 6, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171315\",\"url\":\"https://fdc.nal.usda.gov/food-details/171315/measures\",\"title\":\"Spices, allspice, ground\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88418.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "almond", + "schema_version": 2, + "name": "Almonds", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "almond_cream", + "schema_version": 2, + "name": "Almond Cream", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "almond_extract", + "schema_version": 2, + "name": "almond extract", + "status": "active", + "categories_json": "[\"flavoring\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"almond_extract\",\"name\":\"almond extract\",\"status\":\"active\",\"categories\":[\"flavoring\"],\"aliases\":[],\"nutrition_mapping_ids\":[],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "almond_flour", + "schema_version": 2, + "name": "Almond Flour", + "status": "active", + "categories_json": "[\"pantry\",\"baking\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "almond_milk", + "schema_version": 2, + "name": "Almond Milk", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "almond_paste", + "schema_version": 2, + "name": "Almond Paste", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "amaretto", + "schema_version": 2, + "name": "Amaretto", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "amaretto_or_marsala_wine", + "schema_version": 2, + "name": "Amaretto Or Marsala Wine", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "anise_seeds", + "schema_version": 2, + "name": "Anise Seeds", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "anisette_liqueur", + "schema_version": 2, + "name": "Anisette Liqueur", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "apple", + "schema_version": 2, + "name": "Apple", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "apple_brandy", + "schema_version": 2, + "name": "Apple Brandy", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "apple_cider", + "schema_version": 2, + "name": "Apple Cider", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "apple_cider_reduction", + "schema_version": 2, + "name": "Apple Cider Reduction", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "apple_compote", + "schema_version": 2, + "name": "Apple Compote", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "apple_compote_puree", + "schema_version": 2, + "name": "Apple Compote Puree", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "apple_juice", + "schema_version": 2, + "name": "Apple Juice", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "apple_pectin", + "schema_version": 2, + "name": "Apple Pectin", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "apple_puree", + "schema_version": 2, + "name": "Apple Puree", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "apples", + "schema_version": 2, + "name": "Apples", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "apricot_jam", + "schema_version": 2, + "name": "apricot jam", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"apricot_jam\",\"name\":\"Jams and preserves, apricot\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"apricot jam\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_apricot_jam_170645\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_170645_87021\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":20,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"170645\",\"url\":\"https://fdc.nal.usda.gov/food-details/170645/measures\",\"title\":\"Jams and preserves, apricot\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87021.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "apricot jam", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_170645_87021", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 20, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170645\",\"url\":\"https://fdc.nal.usda.gov/food-details/170645/measures\",\"title\":\"Jams and preserves, apricot\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87021.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "apricot_puree", + "schema_version": 2, + "name": "Apricot Puree", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "arborio_rice", + "schema_version": 2, + "name": "Arborio Rice", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "armagnac", + "schema_version": 2, + "name": "Armagnac", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "armagnac_or_rum", + "schema_version": 2, + "name": "Armagnac Or Rum", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "ascorbic_acid", + "schema_version": 2, + "name": "ascorbic acid", + "status": "active", + "categories_json": "[\"acid\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"ascorbic_acid\",\"name\":\"ascorbic acid\",\"status\":\"active\",\"categories\":[\"acid\"],\"aliases\":[],\"nutrition_mapping_ids\":[],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "avocado", + "schema_version": 2, + "name": "avocado", + "status": "active", + "categories_json": "[\"produce\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"avocado\",\"name\":\"Avocado, Hass, peeled, raw\",\"status\":\"active\",\"categories\":[\"produce\"],\"aliases\":[{\"name\":\"avocado\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_avocado_2710824\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "avocado", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "bacon", + "schema_version": 2, + "name": "bacon", + "status": "active", + "categories_json": "[\"meat\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"bacon\",\"name\":\"Pork, cured, bacon, unprepared\",\"status\":\"active\",\"categories\":[\"meat\"],\"aliases\":[{\"name\":\"regular salted pork bacon\",\"kind\":\"common\"},{\"name\":\"bacon, pork, cured, raw\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_bacon_168277\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "bacon, pork, cured, raw", + "kind": "search" + }, + { + "name": "regular salted pork bacon", + "kind": "common" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "baking_powder", + "schema_version": 2, + "name": "baking powder", + "status": "active", + "categories_json": "[\"leavening\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"baking_powder\",\"name\":\"Leavening agents, baking powder, double-acting, sodium aluminum sulfate\",\"status\":\"active\",\"categories\":[\"leavening\"],\"aliases\":[{\"name\":\"baking powder\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_baking_powder_172803\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_172803_91438\",\"from\":{\"quantity\":0.5,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":2.3,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"172803\",\"url\":\"https://fdc.nal.usda.gov/food-details/172803/measures\",\"title\":\"Leavening agents, baking powder, double-acting, sodium aluminum sulfate\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 91438.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "baking powder", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_172803_91438", + "from_quantity": 0.5, + "from_unit_id": "teaspoon_us", + "to_quantity": 2.3, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"172803\",\"url\":\"https://fdc.nal.usda.gov/food-details/172803/measures\",\"title\":\"Leavening agents, baking powder, double-acting, sodium aluminum sulfate\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 91438.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "baking_soda", + "schema_version": 2, + "name": "baking soda", + "status": "active", + "categories_json": "[\"leavening\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"baking_soda\",\"name\":\"Leavening agents, baking soda\",\"status\":\"active\",\"categories\":[\"leavening\"],\"aliases\":[{\"name\":\"baking soda\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_baking_soda_175040\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_175040_95485\",\"from\":{\"quantity\":0.5,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":2.3,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"175040\",\"url\":\"https://fdc.nal.usda.gov/food-details/175040/measures\",\"title\":\"Leavening agents, baking soda\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 95485.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "baking soda", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_175040_95485", + "from_quantity": 0.5, + "from_unit_id": "teaspoon_us", + "to_quantity": 2.3, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"175040\",\"url\":\"https://fdc.nal.usda.gov/food-details/175040/measures\",\"title\":\"Leavening agents, baking soda\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 95485.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "banana", + "schema_version": 2, + "name": "banana", + "status": "active", + "categories_json": "[\"other\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"banana\",\"name\":\"Bananas, ripe and slightly ripe, raw\",\"status\":\"active\",\"categories\":[\"other\"],\"aliases\":[{\"name\":\"banana\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_banana_1105314\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "banana", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "banana_liqueur", + "schema_version": 2, + "name": "Banana Liqueur", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "banana_puree", + "schema_version": 2, + "name": "Banana Puree", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "bananas", + "schema_version": 2, + "name": "Bananas", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "bananas_puree", + "schema_version": 2, + "name": "Bananas Puree", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "barley_malt_powder", + "schema_version": 2, + "name": "barley malt powder", + "status": "active", + "categories_json": "[\"baking\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"barley_malt_powder\",\"name\":\"BARLEY MALT POWDER\",\"status\":\"active\",\"categories\":[\"baking\"],\"aliases\":[{\"name\":\"malted barley powder\",\"kind\":\"common\"}],\"nutrition_mapping_ids\":[\"usda_fdc_barley_malt_powder_2027592\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "malted barley powder", + "kind": "common" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "barley_malt_syrup", + "schema_version": 2, + "name": "malt syrup", + "status": "active", + "categories_json": "[\"sweetener\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"barley_malt_syrup\",\"name\":\"Syrups, malt\",\"status\":\"active\",\"categories\":[\"sweetener\"],\"aliases\":[{\"name\":\"barley malt syrup\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_barley_malt_syrup_169660\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_169660_85302\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":21,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"169660\",\"url\":\"https://fdc.nal.usda.gov/food-details/169660/measures\",\"title\":\"Syrups, malt\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85302.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_169660_85301\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":332,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"169660\",\"url\":\"https://fdc.nal.usda.gov/food-details/169660/measures\",\"title\":\"Syrups, malt\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85301.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "barley malt syrup", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_169660_85301", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 332, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169660\",\"url\":\"https://fdc.nal.usda.gov/food-details/169660/measures\",\"title\":\"Syrups, malt\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85301.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_169660_85302", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 21, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169660\",\"url\":\"https://fdc.nal.usda.gov/food-details/169660/measures\",\"title\":\"Syrups, malt\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85302.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "basil", + "schema_version": 2, + "name": "dried basil", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"basil\",\"name\":\"Spices, basil, dried\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"basil\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_basil_171317\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_171317_88422\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":2.1,\"unit_id\":\"gram\"},\"state\":\"leaves\",\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171317\",\"url\":\"https://fdc.nal.usda.gov/food-details/171317/measures\",\"title\":\"Spices, basil, dried\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88422.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_171317_88421\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":0.7,\"unit_id\":\"gram\"},\"state\":\"leaves\",\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171317\",\"url\":\"https://fdc.nal.usda.gov/food-details/171317/measures\",\"title\":\"Spices, basil, dried\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88421.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "basil", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_171317_88421", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 0.7, + "to_unit_id": "gram", + "state": "leaves", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171317\",\"url\":\"https://fdc.nal.usda.gov/food-details/171317/measures\",\"title\":\"Spices, basil, dried\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88421.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_171317_88422", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 2.1, + "to_unit_id": "gram", + "state": "leaves", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171317\",\"url\":\"https://fdc.nal.usda.gov/food-details/171317/measures\",\"title\":\"Spices, basil, dried\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88422.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "basil_leaves", + "schema_version": 2, + "name": "Basil Leaves", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "bay_leaf", + "schema_version": 2, + "name": "Bay Leaf", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "bbq_sauce_hickory_smoke", + "schema_version": 2, + "name": "barbecue sauce, hickory & brown sugar", + "status": "active", + "categories_json": "[\"sauce\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"bbq_sauce_hickory_smoke\",\"name\":\"SWEET BABY RAY'S, HICKORY & BROWN SUGAR BARBECUE SAUCE\",\"status\":\"active\",\"categories\":[\"sauce\"],\"aliases\":[{\"name\":\"Sweet Baby Ray's Hickory and Brown Sugar BBQ sauce\",\"kind\":\"common\"},{\"name\":\"Sweet Baby Ray's Hickory & Brown Sugar Barbecue Sauce\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_bbq_sauce_hickory_smoke_2020420\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "Sweet Baby Ray's Hickory & Brown Sugar Barbecue Sauce", + "kind": "search" + }, + { + "name": "Sweet Baby Ray's Hickory and Brown Sugar BBQ sauce", + "kind": "common" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "beef_base", + "schema_version": 2, + "name": "beef base", + "status": "active", + "categories_json": "[\"seasoning\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"beef_base\",\"name\":\"BEEF BASE, BEEF\",\"status\":\"active\",\"categories\":[\"seasoning\"],\"aliases\":[{\"name\":\"Member's Mark beef soup base\",\"kind\":\"common\"},{\"name\":\"Member's Mark Beef Base\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_beef_base_2422131\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "Member's Mark Beef Base", + "kind": "search" + }, + { + "name": "Member's Mark beef soup base", + "kind": "common" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "beef_or_chicken_stock", + "schema_version": 2, + "name": "Beef Or Chicken Stock", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "beer", + "schema_version": 2, + "name": "beer", + "status": "active", + "categories_json": "[\"beer\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"beer\",\"name\":\"Alcoholic beverage, beer, regular, all\",\"status\":\"active\",\"categories\":[\"beer\"],\"aliases\":[{\"name\":\"beer\",\"kind\":\"common\"}],\"nutrition_mapping_ids\":[\"usda_fdc_beer_168746\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_168746_83686\",\"from\":{\"quantity\":1,\"unit_id\":\"fluid_ounce_us\"},\"to\":{\"quantity\":29.7,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"168746\",\"url\":\"https://fdc.nal.usda.gov/food-details/168746/measures\",\"title\":\"Alcoholic beverage, beer, regular, all\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 83686.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "beer", + "kind": "common" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_168746_83686", + "from_quantity": 1, + "from_unit_id": "fluid_ounce_us", + "to_quantity": 29.7, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"168746\",\"url\":\"https://fdc.nal.usda.gov/food-details/168746/measures\",\"title\":\"Alcoholic beverage, beer, regular, all\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 83686.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "beet_puree", + "schema_version": 2, + "name": "Beet Puree", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "black_cherry_puree", + "schema_version": 2, + "name": "Black Cherry Puree", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "black_pepper", + "schema_version": 2, + "name": "Black Pepper", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "black_pepper_ground", + "schema_version": 2, + "name": "ground black pepper", + "status": "active", + "categories_json": "[\"spice\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"black_pepper_ground\",\"name\":\"Spices, pepper, black\",\"status\":\"active\",\"categories\":[\"spice\"],\"aliases\":[{\"name\":\"black pepper, ground\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_black_pepper_ground_170931\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_170931_87561\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":6.9,\"unit_id\":\"gram\"},\"state\":\"ground\",\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"170931\",\"url\":\"https://fdc.nal.usda.gov/food-details/170931/measures\",\"title\":\"Spices, pepper, black\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87561.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_170931_87560\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":2.3,\"unit_id\":\"gram\"},\"state\":\"ground\",\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"170931\",\"url\":\"https://fdc.nal.usda.gov/food-details/170931/measures\",\"title\":\"Spices, pepper, black\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87560.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "black pepper, ground", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_170931_87560", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 2.3, + "to_unit_id": "gram", + "state": "ground", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170931\",\"url\":\"https://fdc.nal.usda.gov/food-details/170931/measures\",\"title\":\"Spices, pepper, black\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87560.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_170931_87561", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 6.9, + "to_unit_id": "gram", + "state": "ground", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170931\",\"url\":\"https://fdc.nal.usda.gov/food-details/170931/measures\",\"title\":\"Spices, pepper, black\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87561.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "black_sesame_seeds", + "schema_version": 2, + "name": "Black Sesame Seeds", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "black_sesame_tahini_paste", + "schema_version": 2, + "name": "Black Sesame Tahini Paste", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "blackberries", + "schema_version": 2, + "name": "Blackberries", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "blackberry_brandy", + "schema_version": 2, + "name": "Blackberry Brandy", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "blackberry_puree", + "schema_version": 2, + "name": "Blackberry Puree", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "blood_orange_puree", + "schema_version": 2, + "name": "Blood Orange Puree", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "blueberries", + "schema_version": 2, + "name": "Blueberries", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "blueberry", + "schema_version": 2, + "name": "blueberries", + "status": "active", + "categories_json": "[\"fruit\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"blueberry\",\"name\":\"Blueberries, raw\",\"status\":\"active\",\"categories\":[\"fruit\"],\"aliases\":[{\"name\":\"blueberry\",\"kind\":\"common\"},{\"name\":\"blueberries\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_blueberry_2346411\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "blueberries", + "kind": "search" + }, + { + "name": "blueberry", + "kind": "common" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "blueberry_puree", + "schema_version": 2, + "name": "Blueberry Puree", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "bourbon", + "schema_version": 2, + "name": "Bourbon", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "bran_flour", + "schema_version": 2, + "name": "Bran Flour", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "brandy", + "schema_version": 2, + "name": "Brandy", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "bread_crumbs", + "schema_version": 2, + "name": "bread crumbs", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"bread_crumbs\",\"name\":\"Bread, crumbs, dry, grated, plain\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"bread crumbs\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_bread_crumbs_174928\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_174928_95194\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":108,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"174928\",\"url\":\"https://fdc.nal.usda.gov/food-details/174928/measures\",\"title\":\"Bread, crumbs, dry, grated, plain\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 95194.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "bread crumbs", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_174928_95194", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 108, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"174928\",\"url\":\"https://fdc.nal.usda.gov/food-details/174928/measures\",\"title\":\"Bread, crumbs, dry, grated, plain\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 95194.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "brie_cheese", + "schema_version": 2, + "name": "Brie Cheese", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "brioche", + "schema_version": 2, + "name": "Brioche", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "brioche_crumbs", + "schema_version": 2, + "name": "Brioche Crumbs", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "brioche_milk", + "schema_version": 2, + "name": "Brioche Milk", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "brown_butter", + "schema_version": 2, + "name": "Brown Butter", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "brown_sugar", + "schema_version": 2, + "name": "brown sugar", + "status": "active", + "categories_json": "[\"sweetener\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"brown_sugar\",\"name\":\"Sugars, brown\",\"status\":\"active\",\"categories\":[\"sweetener\"],\"aliases\":[{\"name\":\"brown sugar\",\"kind\":\"search\"},{\"name\":\"light brown sugar\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_brown_sugar_168833\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_168833_83855\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":220,\"unit_id\":\"gram\"},\"state\":\"packed\",\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"168833\",\"url\":\"https://fdc.nal.usda.gov/food-details/168833/measures\",\"title\":\"Sugars, brown\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 83855.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_168833_83857\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":4.6,\"unit_id\":\"gram\"},\"state\":\"packed\",\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"168833\",\"url\":\"https://fdc.nal.usda.gov/food-details/168833/measures\",\"title\":\"Sugars, brown\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 83857.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "brown sugar", + "kind": "search" + }, + { + "name": "light brown sugar", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_168833_83855", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 220, + "to_unit_id": "gram", + "state": "packed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"168833\",\"url\":\"https://fdc.nal.usda.gov/food-details/168833/measures\",\"title\":\"Sugars, brown\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 83855.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_168833_83857", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 4.6, + "to_unit_id": "gram", + "state": "packed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"168833\",\"url\":\"https://fdc.nal.usda.gov/food-details/168833/measures\",\"title\":\"Sugars, brown\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 83857.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "burgundy", + "schema_version": 2, + "name": "Burgundy", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "butter", + "schema_version": 2, + "name": "unsalted butter", + "status": "active", + "categories_json": "[\"fat\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"butter\",\"name\":\"Butter, stick, unsalted\",\"status\":\"active\",\"categories\":[\"fat\"],\"aliases\":[{\"name\":\"unsalted butter\",\"kind\":\"common\"},{\"name\":\"butter, unsalted\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_butter_789828\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "butter, unsalted", + "kind": "search" + }, + { + "name": "unsalted butter", + "kind": "common" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "butter_extract", + "schema_version": 2, + "name": "butter extract", + "status": "active", + "categories_json": "[\"flavoring\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"butter_extract\",\"name\":\"butter extract\",\"status\":\"active\",\"categories\":[\"flavoring\"],\"aliases\":[],\"nutrition_mapping_ids\":[],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "butter_flavored_shortening", + "schema_version": 2, + "name": "butter-flavored vegetable shortening", + "status": "active", + "categories_json": "[\"fat\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"butter_flavored_shortening\",\"name\":\"Crisco Shortening, All Vegetable, Butter Flavor\",\"status\":\"active\",\"categories\":[\"fat\"],\"aliases\":[{\"name\":\"Crisco butter-flavor shortening\",\"kind\":\"common\"},{\"name\":\"Crisco Butter Flavor All-Vegetable Shortening\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_butter_flavored_shortening_2756254\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "Crisco Butter Flavor All-Vegetable Shortening", + "kind": "search" + }, + { + "name": "Crisco butter-flavor shortening", + "kind": "common" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "butter_or_buttercream", + "schema_version": 2, + "name": "Butter Or Buttercream", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "buttermilk", + "schema_version": 2, + "name": "buttermilk", + "status": "active", + "categories_json": "[\"liquid\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"buttermilk\",\"name\":\"Buttermilk, low fat\",\"status\":\"active\",\"categories\":[\"liquid\"],\"aliases\":[{\"name\":\"low-fat buttermilk\",\"kind\":\"common\"},{\"name\":\"buttermilk, low-fat\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_buttermilk_2259792\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "buttermilk, low-fat", + "kind": "search" + }, + { + "name": "low-fat buttermilk", + "kind": "common" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "buttermilk_powder", + "schema_version": 2, + "name": "buttermilk powder", + "status": "active", + "categories_json": "[\"liquid\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"buttermilk_powder\",\"name\":\"Milk, buttermilk, dried\",\"status\":\"active\",\"categories\":[\"liquid\"],\"aliases\":[{\"name\":\"buttermilk powder\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_buttermilk_powder_171274\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_171274_88339\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":120,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171274\",\"url\":\"https://fdc.nal.usda.gov/food-details/171274/measures\",\"title\":\"Milk, buttermilk, dried\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88339.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_171274_88340\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":6.5,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171274\",\"url\":\"https://fdc.nal.usda.gov/food-details/171274/measures\",\"title\":\"Milk, buttermilk, dried\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88340.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "buttermilk powder", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_171274_88339", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 120, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171274\",\"url\":\"https://fdc.nal.usda.gov/food-details/171274/measures\",\"title\":\"Milk, buttermilk, dried\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88339.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_171274_88340", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 6.5, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171274\",\"url\":\"https://fdc.nal.usda.gov/food-details/171274/measures\",\"title\":\"Milk, buttermilk, dried\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88340.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "cabbage", + "schema_version": 2, + "name": "Cabbage", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "campari", + "schema_version": 2, + "name": "Campari", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "candied_ginger", + "schema_version": 2, + "name": "Candied Ginger", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "candied_lemon_zest", + "schema_version": 2, + "name": "Candied Lemon Zest", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "candied_orange_peel", + "schema_version": 2, + "name": "Candied Orange Peel", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "canned_black_beans", + "schema_version": 2, + "name": "Canned Black Beans", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "canola_oil", + "schema_version": 2, + "name": "canola oil", + "status": "active", + "categories_json": "[\"oil\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"canola_oil\",\"name\":\"Oil, canola\",\"status\":\"active\",\"categories\":[\"oil\"],\"aliases\":[{\"name\":\"rapeseed oil, low erucic acid\",\"kind\":\"common\"},{\"name\":\"canola oil\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_canola_oil_748278\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_748278_192340\",\"from\":{\"quantity\":100,\"unit_id\":\"milliliter\"},\"to\":{\"quantity\":90.9,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"748278\",\"url\":\"https://fdc.nal.usda.gov/food-details/748278/measures\",\"title\":\"Oil, canola\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 192340.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "canola oil", + "kind": "search" + }, + { + "name": "rapeseed oil, low erucic acid", + "kind": "common" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_748278_192340", + "from_quantity": 100, + "from_unit_id": "milliliter", + "to_quantity": 90.9, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"748278\",\"url\":\"https://fdc.nal.usda.gov/food-details/748278/measures\",\"title\":\"Oil, canola\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 192340.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "caramel", + "schema_version": 2, + "name": "Caramel", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "caraway_seeds", + "schema_version": 2, + "name": "Caraway Seeds", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "cardamom", + "schema_version": 2, + "name": "cardamom", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"cardamom\",\"name\":\"Spices, cardamom\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"cardamom\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_cardamom_170919\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_170919_87536\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":2,\"unit_id\":\"gram\"},\"state\":\"ground\",\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"170919\",\"url\":\"https://fdc.nal.usda.gov/food-details/170919/measures\",\"title\":\"Spices, cardamom\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87536.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_170919_87537\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":5.8,\"unit_id\":\"gram\"},\"state\":\"ground\",\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"170919\",\"url\":\"https://fdc.nal.usda.gov/food-details/170919/measures\",\"title\":\"Spices, cardamom\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87537.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "cardamom", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_170919_87536", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 2, + "to_unit_id": "gram", + "state": "ground", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170919\",\"url\":\"https://fdc.nal.usda.gov/food-details/170919/measures\",\"title\":\"Spices, cardamom\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87536.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_170919_87537", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 5.8, + "to_unit_id": "gram", + "state": "ground", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170919\",\"url\":\"https://fdc.nal.usda.gov/food-details/170919/measures\",\"title\":\"Spices, cardamom\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87537.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "carrot", + "schema_version": 2, + "name": "carrot", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"carrot\",\"name\":\"Carrots, mature, raw\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"carrot\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_carrot_2258586\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "carrot", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "carrots", + "schema_version": 2, + "name": "Carrots", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "cashew_nuts", + "schema_version": 2, + "name": "Cashew Nuts", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "cassis_puree", + "schema_version": 2, + "name": "Cassis Puree", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "cayenne", + "schema_version": 2, + "name": "cayenne pepper", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"cayenne\",\"name\":\"Spices, pepper, red or cayenne\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"cayenne\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_cayenne_170932\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_170932_87565\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":5.3,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"170932\",\"url\":\"https://fdc.nal.usda.gov/food-details/170932/measures\",\"title\":\"Spices, pepper, red or cayenne\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87565.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_170932_87564\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":1.8,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"170932\",\"url\":\"https://fdc.nal.usda.gov/food-details/170932/measures\",\"title\":\"Spices, pepper, red or cayenne\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87564.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "cayenne", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_170932_87564", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 1.8, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170932\",\"url\":\"https://fdc.nal.usda.gov/food-details/170932/measures\",\"title\":\"Spices, pepper, red or cayenne\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87564.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_170932_87565", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 5.3, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170932\",\"url\":\"https://fdc.nal.usda.gov/food-details/170932/measures\",\"title\":\"Spices, pepper, red or cayenne\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87565.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "cayenne_pepper", + "schema_version": 2, + "name": "Cayenne Pepper", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "champagne", + "schema_version": 2, + "name": "Champagne", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "champagne_vinegar", + "schema_version": 2, + "name": "Champagne Vinegar", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "cheddar_cheese", + "schema_version": 2, + "name": "cheddar cheese", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"cheddar_cheese\",\"name\":\"Cheese, cheddar\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"cheddar cheese\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_cheddar_cheese_328637\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "cheddar cheese", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "chestnut_cream", + "schema_version": 2, + "name": "Chestnut Cream", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "chestnut_flour", + "schema_version": 2, + "name": "Chestnut Flour", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "chestnut_paste", + "schema_version": 2, + "name": "Chestnut Paste", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "chicken_base", + "schema_version": 2, + "name": "chicken base", + "status": "active", + "categories_json": "[\"seasoning\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"chicken_base\",\"name\":\"CHICKEN BASE\",\"status\":\"active\",\"categories\":[\"seasoning\"],\"aliases\":[{\"name\":\"Member's Mark chicken soup base\",\"kind\":\"common\"},{\"name\":\"Member's Mark Chicken Base\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_chicken_base_1948045\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "Member's Mark Chicken Base", + "kind": "search" + }, + { + "name": "Member's Mark chicken soup base", + "kind": "common" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "chicken_breast", + "schema_version": 2, + "name": "chicken breast", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"chicken_breast\",\"name\":\"Chicken, breast, boneless, skinless, raw\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"boneless skinless chicken breast\",\"kind\":\"common\"},{\"name\":\"chicken breast, boneless skinless, raw\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_chicken_breast_2646170\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "boneless skinless chicken breast", + "kind": "common" + }, + { + "name": "chicken breast, boneless skinless, raw", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "chili_crisp", + "schema_version": 2, + "name": "chili crisp, generic", + "status": "active", + "categories_json": "[\"condiment\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"chili_crisp\",\"name\":\"chili crisp, generic\",\"status\":\"active\",\"categories\":[\"condiment\"],\"aliases\":[],\"nutrition_mapping_ids\":[],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "chili_powder", + "schema_version": 2, + "name": "chili powder", + "status": "active", + "categories_json": "[\"spice\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"chili_powder\",\"name\":\"Spices, chili powder\",\"status\":\"active\",\"categories\":[\"spice\"],\"aliases\":[{\"name\":\"chili powder\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_chili_powder_171319\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_171319_88428\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":8,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171319\",\"url\":\"https://fdc.nal.usda.gov/food-details/171319/measures\",\"title\":\"Spices, chili powder\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88428.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_171319_88427\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":2.7,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171319\",\"url\":\"https://fdc.nal.usda.gov/food-details/171319/measures\",\"title\":\"Spices, chili powder\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88427.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "chili powder", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_171319_88427", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 2.7, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171319\",\"url\":\"https://fdc.nal.usda.gov/food-details/171319/measures\",\"title\":\"Spices, chili powder\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88427.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_171319_88428", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 8, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171319\",\"url\":\"https://fdc.nal.usda.gov/food-details/171319/measures\",\"title\":\"Spices, chili powder\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88428.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "chipotle_pepper_adobo", + "schema_version": 2, + "name": "chipotle peppers in adobo", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"chipotle_pepper_adobo\",\"name\":\"CHIPOTLES PEPPERS IN ADOBO SAUCE, CHIPOTLES PEPPERS IN ADOBO\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"canned chipotles in adobo\",\"kind\":\"common\"},{\"name\":\"La Costeña chipotle peppers in adobo sauce\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_chipotle_pepper_adobo_2420526\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "La Costeña chipotle peppers in adobo sauce", + "kind": "search" + }, + { + "name": "canned chipotles in adobo", + "kind": "common" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "chipotle_pepper_sauce_tobasco", + "schema_version": 2, + "name": "chipotle hot sauce", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"chipotle_pepper_sauce_tobasco\",\"name\":\"Sauce, ready-to-serve, pepper, TABASCO\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"chipotle pepper sauce, tobasco\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_chipotle_pepper_sauce_tobasco_174528\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_174528_94522\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":4.7,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"174528\",\"url\":\"https://fdc.nal.usda.gov/food-details/174528/measures\",\"title\":\"Sauce, ready-to-serve, pepper, TABASCO\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 94522.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "chipotle pepper sauce, tobasco", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_174528_94522", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 4.7, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"174528\",\"url\":\"https://fdc.nal.usda.gov/food-details/174528/measures\",\"title\":\"Sauce, ready-to-serve, pepper, TABASCO\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 94522.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "chipotle_powder", + "schema_version": 2, + "name": "ground chipotle", + "status": "active", + "categories_json": "[\"spice\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"chipotle_powder\",\"name\":\"GROUND CHIPOTLE CHILE\",\"status\":\"active\",\"categories\":[\"spice\"],\"aliases\":[{\"name\":\"chipotle powder\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_chipotle_powder_2545016\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "chipotle powder", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "chives", + "schema_version": 2, + "name": "Chives", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "chocolate_chips", + "schema_version": 2, + "name": "Chocolate Chips", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "chocolate_dark", + "schema_version": 2, + "name": "Chocolate", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "chocolate_milk", + "schema_version": 2, + "name": "Milk Chocolate", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "chocolate_white", + "schema_version": 2, + "name": "White Chocolate", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "cilantro", + "schema_version": 2, + "name": "fresh cilantro", + "status": "active", + "categories_json": "[\"produce\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"cilantro\",\"name\":\"Coriander (cilantro) leaves, raw\",\"status\":\"active\",\"categories\":[\"produce\"],\"aliases\":[{\"name\":\"cilantro\",\"kind\":\"common\"},{\"name\":\"fresh coriander leaves\",\"kind\":\"common\"},{\"name\":\"cilantro, fresh\",\"kind\":\"search\"},{\"name\":\"cilantro, chopped\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_cilantro_169997\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_169997_85844\",\"from\":{\"quantity\":0.25,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":4,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"169997\",\"url\":\"https://fdc.nal.usda.gov/food-details/169997/measures\",\"title\":\"Coriander (cilantro) leaves, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85844.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "cilantro", + "kind": "common" + }, + { + "name": "cilantro, chopped", + "kind": "search" + }, + { + "name": "cilantro, fresh", + "kind": "search" + }, + { + "name": "fresh coriander leaves", + "kind": "common" + } + ], + "prep_actions": [ + { + "action_id": "chop", + "yield_factor": 1, + "notes": null + } + ], + "measure_conversions": [ + { + "id": "usda_169997_85844", + "from_quantity": 0.25, + "from_unit_id": "cup_us", + "to_quantity": 4, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169997\",\"url\":\"https://fdc.nal.usda.gov/food-details/169997/measures\",\"title\":\"Coriander (cilantro) leaves, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85844.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "cinnamon", + "schema_version": 2, + "name": "ground cinnamon", + "status": "active", + "categories_json": "[\"flavoring\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"cinnamon\",\"name\":\"Spices, cinnamon, ground\",\"status\":\"active\",\"categories\":[\"flavoring\"],\"aliases\":[{\"name\":\"cinnamon\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_cinnamon_171320\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_171320_88429\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":2.6,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171320\",\"url\":\"https://fdc.nal.usda.gov/food-details/171320/measures\",\"title\":\"Spices, cinnamon, ground\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88429.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_171320_88430\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":7.8,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171320\",\"url\":\"https://fdc.nal.usda.gov/food-details/171320/measures\",\"title\":\"Spices, cinnamon, ground\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88430.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "cinnamon", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_171320_88429", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 2.6, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171320\",\"url\":\"https://fdc.nal.usda.gov/food-details/171320/measures\",\"title\":\"Spices, cinnamon, ground\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88429.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_171320_88430", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 7.8, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171320\",\"url\":\"https://fdc.nal.usda.gov/food-details/171320/measures\",\"title\":\"Spices, cinnamon, ground\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88430.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "cinnamon_infusion", + "schema_version": 2, + "name": "Cinnamon Infusion", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "cinnamon_stick", + "schema_version": 2, + "name": "Cinnamon Stick", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "cinnamon_sticks", + "schema_version": 2, + "name": "Cinnamon Sticks", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "citric_acid", + "schema_version": 2, + "name": "citric acid", + "status": "active", + "categories_json": "[\"other\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"citric_acid\",\"name\":\"citric acid\",\"status\":\"active\",\"categories\":[\"other\"],\"aliases\":[],\"nutrition_mapping_ids\":[],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "cloves", + "schema_version": 2, + "name": "ground cloves", + "status": "active", + "categories_json": "[\"other\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"cloves\",\"name\":\"Spices, cloves, ground\",\"status\":\"active\",\"categories\":[\"other\"],\"aliases\":[{\"name\":\"clove\",\"kind\":\"common\"},{\"name\":\"cloves\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_cloves_171321\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_171321_88431\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":2.1,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171321\",\"url\":\"https://fdc.nal.usda.gov/food-details/171321/measures\",\"title\":\"Spices, cloves, ground\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88431.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_171321_88432\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":6.5,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171321\",\"url\":\"https://fdc.nal.usda.gov/food-details/171321/measures\",\"title\":\"Spices, cloves, ground\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88432.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "clove", + "kind": "common" + }, + { + "name": "cloves", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_171321_88431", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 2.1, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171321\",\"url\":\"https://fdc.nal.usda.gov/food-details/171321/measures\",\"title\":\"Spices, cloves, ground\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88431.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_171321_88432", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 6.5, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171321\",\"url\":\"https://fdc.nal.usda.gov/food-details/171321/measures\",\"title\":\"Spices, cloves, ground\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88432.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "cocoa_butter", + "schema_version": 2, + "name": "Cocoa Butter", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "cocoa_nibs", + "schema_version": 2, + "name": "Cocoa Nibs", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "cocoa_powder", + "schema_version": 2, + "name": "unsweetened cocoa powder", + "status": "active", + "categories_json": "[\"other\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"cocoa_powder\",\"name\":\"Cocoa, dry powder, unsweetened\",\"status\":\"active\",\"categories\":[\"other\"],\"aliases\":[{\"name\":\"cocoa powder\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_cocoa_powder_169593\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_169593_85187\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":5.4,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"169593\",\"url\":\"https://fdc.nal.usda.gov/food-details/169593/measures\",\"title\":\"Cocoa, dry powder, unsweetened\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85187.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_169593_85186\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":86,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"169593\",\"url\":\"https://fdc.nal.usda.gov/food-details/169593/measures\",\"title\":\"Cocoa, dry powder, unsweetened\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85186.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "cocoa powder", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_169593_85186", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 86, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169593\",\"url\":\"https://fdc.nal.usda.gov/food-details/169593/measures\",\"title\":\"Cocoa, dry powder, unsweetened\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85186.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_169593_85187", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 5.4, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169593\",\"url\":\"https://fdc.nal.usda.gov/food-details/169593/measures\",\"title\":\"Cocoa, dry powder, unsweetened\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85187.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "coconut", + "schema_version": 2, + "name": "Coconut", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "coconut_milk", + "schema_version": 2, + "name": "coconut milk", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"coconut_milk\",\"name\":\"Nuts, coconut milk, canned (liquid expressed from grated meat and water)\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"canned coconut milk\",\"kind\":\"common\"},{\"name\":\"coconut milk, canned\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_coconut_milk_170173\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_170173_86171\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":226,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"170173\",\"url\":\"https://fdc.nal.usda.gov/food-details/170173/measures\",\"title\":\"Nuts, coconut milk, canned (liquid expressed from grated meat and water)\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 86171.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_170173_86172\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":15,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"170173\",\"url\":\"https://fdc.nal.usda.gov/food-details/170173/measures\",\"title\":\"Nuts, coconut milk, canned (liquid expressed from grated meat and water)\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 86172.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "canned coconut milk", + "kind": "common" + }, + { + "name": "coconut milk, canned", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_170173_86171", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 226, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170173\",\"url\":\"https://fdc.nal.usda.gov/food-details/170173/measures\",\"title\":\"Nuts, coconut milk, canned (liquid expressed from grated meat and water)\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 86171.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_170173_86172", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 15, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170173\",\"url\":\"https://fdc.nal.usda.gov/food-details/170173/measures\",\"title\":\"Nuts, coconut milk, canned (liquid expressed from grated meat and water)\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 86172.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "coconut_puree", + "schema_version": 2, + "name": "Coconut Puree", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "coffee", + "schema_version": 2, + "name": "Coffee", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "coffee_beans", + "schema_version": 2, + "name": "Coffee Beans", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "coffee_extract", + "schema_version": 2, + "name": "Coffee Extract", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "coffee_liqueur", + "schema_version": 2, + "name": "Coffee Liqueur", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "coffee_liquor", + "schema_version": 2, + "name": "Coffee Liquor", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "cognac", + "schema_version": 2, + "name": "Cognac", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "condensed_milk", + "schema_version": 2, + "name": "Condensed Milk", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "confectioners_sugar", + "schema_version": 2, + "name": "powdered sugar", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"confectioners_sugar\",\"name\":\"Sugars, powdered\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"confectioners' sugar\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_confectioners_sugar_169656\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_169656_85291\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":100,\"unit_id\":\"gram\"},\"state\":\"sifted\",\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"169656\",\"url\":\"https://fdc.nal.usda.gov/food-details/169656/measures\",\"title\":\"Sugars, powdered\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85291.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_169656_85293\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":2.5,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"169656\",\"url\":\"https://fdc.nal.usda.gov/food-details/169656/measures\",\"title\":\"Sugars, powdered\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85293.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_169656_85292\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":8,\"unit_id\":\"gram\"},\"state\":\"unsifted\",\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"169656\",\"url\":\"https://fdc.nal.usda.gov/food-details/169656/measures\",\"title\":\"Sugars, powdered\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85292.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "confectioners' sugar", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_169656_85291", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 100, + "to_unit_id": "gram", + "state": "sifted", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169656\",\"url\":\"https://fdc.nal.usda.gov/food-details/169656/measures\",\"title\":\"Sugars, powdered\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85291.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_169656_85292", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 8, + "to_unit_id": "gram", + "state": "unsifted", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169656\",\"url\":\"https://fdc.nal.usda.gov/food-details/169656/measures\",\"title\":\"Sugars, powdered\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85292.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_169656_85293", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 2.5, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169656\",\"url\":\"https://fdc.nal.usda.gov/food-details/169656/measures\",\"title\":\"Sugars, powdered\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85293.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "cooked_pinto_beans_drained", + "schema_version": 2, + "name": "cooked pinto beans", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"cooked_pinto_beans_drained\",\"name\":\"Beans, pinto, mature seeds, cooked, boiled, without salt\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"home-cooked pinto beans\",\"kind\":\"common\"},{\"name\":\"pinto beans, cooked from dry, drained\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_cooked_pinto_beans_drained_175200\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_175200_95833\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":10.6,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"175200\",\"url\":\"https://fdc.nal.usda.gov/food-details/175200/measures\",\"title\":\"Beans, pinto, mature seeds, cooked, boiled, without salt\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 95833.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_175200_95832\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":171,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"175200\",\"url\":\"https://fdc.nal.usda.gov/food-details/175200/measures\",\"title\":\"Beans, pinto, mature seeds, cooked, boiled, without salt\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 95832.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "home-cooked pinto beans", + "kind": "common" + }, + { + "name": "pinto beans, cooked from dry, drained", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_175200_95832", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 171, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"175200\",\"url\":\"https://fdc.nal.usda.gov/food-details/175200/measures\",\"title\":\"Beans, pinto, mature seeds, cooked, boiled, without salt\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 95832.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_175200_95833", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 10.6, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"175200\",\"url\":\"https://fdc.nal.usda.gov/food-details/175200/measures\",\"title\":\"Beans, pinto, mature seeds, cooked, boiled, without salt\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 95833.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "coriander", + "schema_version": 2, + "name": "coriander seed", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"coriander\",\"name\":\"Spices, coriander seed\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"coriander\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_coriander_170922\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_170922_87543\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":5,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"170922\",\"url\":\"https://fdc.nal.usda.gov/food-details/170922/measures\",\"title\":\"Spices, coriander seed\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87543.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_170922_87542\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":1.8,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"170922\",\"url\":\"https://fdc.nal.usda.gov/food-details/170922/measures\",\"title\":\"Spices, coriander seed\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87542.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "coriander", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_170922_87542", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 1.8, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170922\",\"url\":\"https://fdc.nal.usda.gov/food-details/170922/measures\",\"title\":\"Spices, coriander seed\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87542.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_170922_87543", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 5, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170922\",\"url\":\"https://fdc.nal.usda.gov/food-details/170922/measures\",\"title\":\"Spices, coriander seed\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87543.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "corn_oil", + "schema_version": 2, + "name": "Corn Oil", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "corn_syrup", + "schema_version": 2, + "name": "Corn Syrup", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "corn_syrup_light", + "schema_version": 2, + "name": "light corn syrup", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"corn_syrup_light\",\"name\":\"Syrups, corn, light\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"corn syrup, light\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_corn_syrup_light_168837\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_168837_83865\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":22,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"168837\",\"url\":\"https://fdc.nal.usda.gov/food-details/168837/measures\",\"title\":\"Syrups, corn, light\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 83865.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_168837_83864\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":341,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"168837\",\"url\":\"https://fdc.nal.usda.gov/food-details/168837/measures\",\"title\":\"Syrups, corn, light\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 83864.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "corn syrup, light", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_168837_83864", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 341, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"168837\",\"url\":\"https://fdc.nal.usda.gov/food-details/168837/measures\",\"title\":\"Syrups, corn, light\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 83864.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_168837_83865", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 22, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"168837\",\"url\":\"https://fdc.nal.usda.gov/food-details/168837/measures\",\"title\":\"Syrups, corn, light\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 83865.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "cornmeal", + "schema_version": 2, + "name": "Cornmeal", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "cornstarch", + "schema_version": 2, + "name": "cornstarch", + "status": "active", + "categories_json": "[\"starch\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"cornstarch\",\"name\":\"Cornstarch\",\"status\":\"active\",\"categories\":[\"starch\"],\"aliases\":[{\"name\":\"corn starch\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_cornstarch_169698\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_169698_85370\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":128,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"169698\",\"url\":\"https://fdc.nal.usda.gov/food-details/169698/measures\",\"title\":\"Cornstarch\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85370.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "corn starch", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_169698_85370", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 128, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169698\",\"url\":\"https://fdc.nal.usda.gov/food-details/169698/measures\",\"title\":\"Cornstarch\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85370.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "cr_me_anglaise", + "schema_version": 2, + "name": "Crème Anglaise", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "cr_me_de_cassis", + "schema_version": 2, + "name": "Crème De Cassis", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "cr_me_fra_che", + "schema_version": 2, + "name": "Crème Fraîche", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "cr_me_fraiche", + "schema_version": 2, + "name": "Crème Fraiche", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "cranberries", + "schema_version": 2, + "name": "Cranberries", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "cream_cheese", + "schema_version": 2, + "name": "cream cheese", + "status": "active", + "categories_json": "[\"liquid\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"cream_cheese\",\"name\":\"Cream cheese, full fat, block\",\"status\":\"active\",\"categories\":[\"liquid\"],\"aliases\":[{\"name\":\"cream cheese\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_cream_cheese_2346385\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "cream cheese", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "cream_of_tartar", + "schema_version": 2, + "name": "Cream Of Tartar", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "croquant", + "schema_version": 2, + "name": "Croquant", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "cumin", + "schema_version": 2, + "name": "cumin seed", + "status": "active", + "categories_json": "[\"spice\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"cumin\",\"name\":\"Spices, cumin seed\",\"status\":\"active\",\"categories\":[\"spice\"],\"aliases\":[{\"name\":\"cumin\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_cumin_170923\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_170923_87544\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":2.1,\"unit_id\":\"gram\"},\"state\":\"whole\",\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"170923\",\"url\":\"https://fdc.nal.usda.gov/food-details/170923/measures\",\"title\":\"Spices, cumin seed\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87544.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_170923_87545\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":6,\"unit_id\":\"gram\"},\"state\":\"whole\",\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"170923\",\"url\":\"https://fdc.nal.usda.gov/food-details/170923/measures\",\"title\":\"Spices, cumin seed\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87545.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "cumin", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_170923_87544", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 2.1, + "to_unit_id": "gram", + "state": "whole", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170923\",\"url\":\"https://fdc.nal.usda.gov/food-details/170923/measures\",\"title\":\"Spices, cumin seed\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87544.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_170923_87545", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 6, + "to_unit_id": "gram", + "state": "whole", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170923\",\"url\":\"https://fdc.nal.usda.gov/food-details/170923/measures\",\"title\":\"Spices, cumin seed\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87545.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "custard_base", + "schema_version": 2, + "name": "Custard Base", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "dark_chocolate", + "schema_version": 2, + "name": "dark chocolate", + "status": "active", + "categories_json": "[\"inclusion\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"dark_chocolate\",\"name\":\"Chocolate, dark, 70-85% cacao solids\",\"status\":\"active\",\"categories\":[\"inclusion\"],\"aliases\":[{\"name\":\"70–85% dark chocolate\",\"kind\":\"common\"},{\"name\":\"dark chocolate, 70–85% cacao\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_dark_chocolate_170273\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "70–85% dark chocolate", + "kind": "common" + }, + { + "name": "dark chocolate, 70–85% cacao", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "dark_chocolate_chips", + "schema_version": 2, + "name": "Dark Chocolate Chips", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "dark_cocoa_powder", + "schema_version": 2, + "name": "dutch-process cocoa powder", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"dark_cocoa_powder\",\"name\":\"Cocoa, dry powder, unsweetened, processed with alkali\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"dark cocoa powder\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_dark_cocoa_powder_169594\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_169594_85189\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":5.4,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"169594\",\"url\":\"https://fdc.nal.usda.gov/food-details/169594/measures\",\"title\":\"Cocoa, dry powder, unsweetened, processed with alkali\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85189.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_169594_85188\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":86,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"169594\",\"url\":\"https://fdc.nal.usda.gov/food-details/169594/measures\",\"title\":\"Cocoa, dry powder, unsweetened, processed with alkali\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85188.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "dark cocoa powder", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_169594_85188", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 86, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169594\",\"url\":\"https://fdc.nal.usda.gov/food-details/169594/measures\",\"title\":\"Cocoa, dry powder, unsweetened, processed with alkali\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85188.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_169594_85189", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 5.4, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169594\",\"url\":\"https://fdc.nal.usda.gov/food-details/169594/measures\",\"title\":\"Cocoa, dry powder, unsweetened, processed with alkali\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85189.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "dark_corn_syrup", + "schema_version": 2, + "name": "Dark Corn Syrup", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "dark_or_spiced_rum", + "schema_version": 2, + "name": "Dark Or Spiced Rum", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "dark_rum", + "schema_version": 2, + "name": "Dark Rum", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "dark_rum_or_bourbon", + "schema_version": 2, + "name": "Dark Rum Or Bourbon", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "dark_rum_or_brandy", + "schema_version": 2, + "name": "Dark Rum Or Brandy", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "desiccated_coconut", + "schema_version": 2, + "name": "Desiccated Coconut", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "dessert_wine", + "schema_version": 2, + "name": "Dessert Wine", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "dextrose", + "schema_version": 2, + "name": "dextrose", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"dextrose\",\"name\":\"DEXTROSE PURE AND NATURAL SWEETENER, DEXTROSE\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"dextrose\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_dextrose_1991846\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "dextrose", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "dill", + "schema_version": 2, + "name": "fresh dill", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"dill\",\"name\":\"Dill weed, fresh\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"dill\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_dill_172233\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_172233_90129\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":8.9,\"unit_id\":\"gram\"},\"state\":\"sprigs\",\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"172233\",\"url\":\"https://fdc.nal.usda.gov/food-details/172233/measures\",\"title\":\"Dill weed, fresh\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 90129.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "dill", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_172233_90129", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 8.9, + "to_unit_id": "gram", + "state": "sprigs", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"172233\",\"url\":\"https://fdc.nal.usda.gov/food-details/172233/measures\",\"title\":\"Dill weed, fresh\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 90129.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "dried_apricots", + "schema_version": 2, + "name": "Dried Apricots", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "dried_cherries", + "schema_version": 2, + "name": "Dried Cherries", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "dried_chilis", + "schema_version": 2, + "name": "dried chiles", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"dried_chilis\",\"name\":\"Peppers, hot chile, sun-dried\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"dried Chinese red chiles\",\"kind\":\"common\"},{\"name\":\"dried hot red chiles\",\"kind\":\"search\"},{\"name\":\"Tien Tsin chile peppers, dried whole\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_dried_chilis_168570\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_168570_83346\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":37,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"168570\",\"url\":\"https://fdc.nal.usda.gov/food-details/168570/measures\",\"title\":\"Peppers, hot chile, sun-dried\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 83346.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "Tien Tsin chile peppers, dried whole", + "kind": "search" + }, + { + "name": "dried Chinese red chiles", + "kind": "common" + }, + { + "name": "dried hot red chiles", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_168570_83346", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 37, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"168570\",\"url\":\"https://fdc.nal.usda.gov/food-details/168570/measures\",\"title\":\"Peppers, hot chile, sun-dried\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 83346.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "dried_currants", + "schema_version": 2, + "name": "Dried Currants", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "dried_figs", + "schema_version": 2, + "name": "Dried Figs", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "dried_fruit", + "schema_version": 2, + "name": "Dried Fruit", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "dried_fruits", + "schema_version": 2, + "name": "Dried Fruits", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "dried_pears", + "schema_version": 2, + "name": "Dried Pears", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "egg_white_powder", + "schema_version": 2, + "name": "Egg White Powder", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "egg_whites", + "schema_version": 2, + "name": "egg whites", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"egg_whites\",\"name\":\"Egg, white, raw, fresh\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"egg whites\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_egg_whites_172183\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_172183_90044\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":243,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"172183\",\"url\":\"https://fdc.nal.usda.gov/food-details/172183/measures\",\"title\":\"Egg, white, raw, fresh\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 90044.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "egg whites", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_172183_90044", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 243, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"172183\",\"url\":\"https://fdc.nal.usda.gov/food-details/172183/measures\",\"title\":\"Egg, white, raw, fresh\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 90044.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "egg_whole", + "schema_version": 2, + "name": "whole eggs", + "status": "active", + "categories_json": "[\"egg\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"egg_whole\",\"name\":\"Egg, whole, raw, fresh\",\"status\":\"active\",\"categories\":[\"egg\"],\"aliases\":[{\"name\":\"egg, whole\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_egg_whole_171287\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_171287_88377\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":243,\"unit_id\":\"gram\"},\"state\":\"(4.86 large eggs)\",\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171287\",\"url\":\"https://fdc.nal.usda.gov/food-details/171287/measures\",\"title\":\"Egg, whole, raw, fresh\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88377.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "egg, whole", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_171287_88377", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 243, + "to_unit_id": "gram", + "state": "(4.86 large eggs)", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171287\",\"url\":\"https://fdc.nal.usda.gov/food-details/171287/measures\",\"title\":\"Egg, whole, raw, fresh\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88377.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "egg_yolk", + "schema_version": 2, + "name": "egg yolks", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"egg_yolk\",\"name\":\"Egg, yolk, raw, fresh\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"egg yolk\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_egg_yolk_172184\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_172184_90046\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":243,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"172184\",\"url\":\"https://fdc.nal.usda.gov/food-details/172184/measures\",\"title\":\"Egg, yolk, raw, fresh\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 90046.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "egg yolk", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_172184_90046", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 243, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"172184\",\"url\":\"https://fdc.nal.usda.gov/food-details/172184/measures\",\"title\":\"Egg, yolk, raw, fresh\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 90046.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "elderflower_syrup", + "schema_version": 2, + "name": "Elderflower Syrup", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "espresso_beans", + "schema_version": 2, + "name": "Espresso Beans", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "espresso_powder", + "schema_version": 2, + "name": "espresso powder", + "status": "active", + "categories_json": "[\"other\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"espresso_powder\",\"name\":\"ESPRESSO INSTANT POWDER, ESPRESSO\",\"status\":\"active\",\"categories\":[\"other\"],\"aliases\":[{\"name\":\"espresso powder\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_espresso_powder_2059824\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "espresso powder", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "evaporated_milk", + "schema_version": 2, + "name": "Evaporated Milk", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "extra_virgin_olive_oil", + "schema_version": 2, + "name": "Extra Virgin Olive Oil", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "fennel_seed", + "schema_version": 2, + "name": "fennel seed", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"fennel_seed\",\"name\":\"Spices, fennel seed\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"fennel seed\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_fennel_seed_171323\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_171323_88436\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":5.8,\"unit_id\":\"gram\"},\"state\":\"whole\",\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171323\",\"url\":\"https://fdc.nal.usda.gov/food-details/171323/measures\",\"title\":\"Spices, fennel seed\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88436.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_171323_88435\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":2,\"unit_id\":\"gram\"},\"state\":\"whole\",\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171323\",\"url\":\"https://fdc.nal.usda.gov/food-details/171323/measures\",\"title\":\"Spices, fennel seed\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88435.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "fennel seed", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_171323_88435", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 2, + "to_unit_id": "gram", + "state": "whole", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171323\",\"url\":\"https://fdc.nal.usda.gov/food-details/171323/measures\",\"title\":\"Spices, fennel seed\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88435.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_171323_88436", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 5.8, + "to_unit_id": "gram", + "state": "whole", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171323\",\"url\":\"https://fdc.nal.usda.gov/food-details/171323/measures\",\"title\":\"Spices, fennel seed\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88436.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "feuilletine", + "schema_version": 2, + "name": "Feuilletine", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "fine_sea_salt", + "schema_version": 2, + "name": "Fine Sea Salt", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "five_spice_powder", + "schema_version": 2, + "name": "Five-Spice Powder", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "flaked_coconut", + "schema_version": 2, + "name": "Flaked Coconut", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "flax_seed_oil", + "schema_version": 2, + "name": "Flax Seed Oil", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "flour_all_purpose", + "schema_version": 2, + "name": "all-purpose flour", + "status": "active", + "categories_json": "[\"flour\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"flour_all_purpose\",\"name\":\"Flour, wheat, all-purpose, unenriched, unbleached\",\"status\":\"active\",\"categories\":[\"flour\"],\"aliases\":[{\"name\":\"plain flour\",\"region\":\"GB\",\"kind\":\"common\"},{\"name\":\"all-purpose flour\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_flour_all_purpose_790018\"],\"allergen_mapping_ids\":[],\"notes\":[\"USDA nutrition mapping and ingredient-specific volume measures remain to be reviewed.\"]}", + "deleted_at": null, + "aliases": [ + { + "name": "all-purpose flour", + "kind": "search" + }, + { + "name": "plain flour", + "kind": "common" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "flour_bread", + "schema_version": 2, + "name": "bread flour", + "status": "active", + "categories_json": "[\"flour\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"flour_bread\",\"name\":\"Flour, bread, white, enriched, unbleached\",\"status\":\"active\",\"categories\":[\"flour\"],\"aliases\":[{\"name\":\"bread flour\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_flour_bread_790146\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "bread flour", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "flour_cake", + "schema_version": 2, + "name": "cake flour", + "status": "active", + "categories_json": "[\"flour\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"flour_cake\",\"name\":\"Wheat flour, white, cake, enriched\",\"status\":\"active\",\"categories\":[\"flour\"],\"aliases\":[{\"name\":\"cake flour\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_flour_cake_169723\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_169723_85397\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":137,\"unit_id\":\"gram\"},\"state\":\"unsifted, dipped\",\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"169723\",\"url\":\"https://fdc.nal.usda.gov/food-details/169723/measures\",\"title\":\"Wheat flour, white, cake, enriched\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85397.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "cake flour", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_169723_85397", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 137, + "to_unit_id": "gram", + "state": "unsifted, dipped", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169723\",\"url\":\"https://fdc.nal.usda.gov/food-details/169723/measures\",\"title\":\"Wheat flour, white, cake, enriched\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85397.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "flour_corn", + "schema_version": 2, + "name": "masa harina", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"flour_corn\",\"name\":\"Corn flour, masa harina, white or yellow, dry, raw\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"corn flour\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_flour_corn_2710835\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "corn flour", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "flour_pastry", + "schema_version": 2, + "name": "pastry flour", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"flour_pastry\",\"name\":\"Flour, pastry, unenriched, unbleached\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"pastry flour\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_flour_pastry_1104913\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "pastry flour", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "flour_whole_wheat", + "schema_version": 2, + "name": "whole wheat flour", + "status": "active", + "categories_json": "[\"flour\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"flour_whole_wheat\",\"name\":\"Flour, whole wheat, unenriched\",\"status\":\"active\",\"categories\":[\"flour\"],\"aliases\":[{\"name\":\"whole wheat flour\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_flour_whole_wheat_790085\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "whole wheat flour", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "framboise_eau_de_vie", + "schema_version": 2, + "name": "Framboise Eau-de-Vie", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "fresh_chives", + "schema_version": 2, + "name": "Fresh Chives", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "fresh_dill", + "schema_version": 2, + "name": "Fresh Dill", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "fresh_figs", + "schema_version": 2, + "name": "Fresh Figs", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "fresh_ginger", + "schema_version": 2, + "name": "Fresh Ginger", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "fresh_parsley", + "schema_version": 2, + "name": "Fresh Parsley", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "fresh_rosemary", + "schema_version": 2, + "name": "Fresh Rosemary", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "fresh_thyme", + "schema_version": 2, + "name": "Fresh Thyme", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "fromage_blanc", + "schema_version": 2, + "name": "Fromage Blanc", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "fruit_puree", + "schema_version": 2, + "name": "Fruit Puree", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "garlic", + "schema_version": 2, + "name": "garlic", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"garlic\",\"name\":\"Garlic, raw\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"garlic\",\"kind\":\"search\"},{\"name\":\"garlic, minced\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_garlic_1104647\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "garlic", + "kind": "search" + }, + { + "name": "garlic, minced", + "kind": "search" + } + ], + "prep_actions": [ + { + "action_id": "mince", + "yield_factor": 1, + "notes": null + } + ], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "garlic_dehydrated_minced", + "schema_version": 2, + "name": "dehydrated minced garlic", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"garlic_dehydrated_minced\",\"name\":\"garlic, dehydrated, minced\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[],\"nutrition_mapping_ids\":[],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "garlic_powder", + "schema_version": 2, + "name": "garlic powder", + "status": "active", + "categories_json": "[\"spice\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"garlic_powder\",\"name\":\"Spices, garlic powder\",\"status\":\"active\",\"categories\":[\"spice\"],\"aliases\":[{\"name\":\"garlic powder\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_garlic_powder_171325\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_171325_88440\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":9.7,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171325\",\"url\":\"https://fdc.nal.usda.gov/food-details/171325/measures\",\"title\":\"Spices, garlic powder\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88440.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_171325_88439\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":3.1,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171325\",\"url\":\"https://fdc.nal.usda.gov/food-details/171325/measures\",\"title\":\"Spices, garlic powder\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88439.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "garlic powder", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_171325_88439", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 3.1, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171325\",\"url\":\"https://fdc.nal.usda.gov/food-details/171325/measures\",\"title\":\"Spices, garlic powder\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88439.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_171325_88440", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 9.7, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171325\",\"url\":\"https://fdc.nal.usda.gov/food-details/171325/measures\",\"title\":\"Spices, garlic powder\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88440.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "gelatin", + "schema_version": 2, + "name": "unflavored gelatin", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"gelatin\",\"name\":\"Gelatins, dry powder, unsweetened\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"gelatin\",\"kind\":\"search\"},{\"name\":\"gelatin, granulated\",\"kind\":\"search\"},{\"name\":\"granulated gelatin\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_gelatin_169599\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "gelatin", + "kind": "search" + }, + { + "name": "gelatin, granulated", + "kind": "search" + }, + { + "name": "granulated gelatin", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "gelatin_sheet", + "schema_version": 2, + "name": "Gelatin Sheets", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "genoise", + "schema_version": 2, + "name": "Genoise", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "gianduja", + "schema_version": 2, + "name": "Gianduja", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "gin_or_lemon_vodka", + "schema_version": 2, + "name": "Gin Or Lemon Vodka", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "ginger", + "schema_version": 2, + "name": "fresh ginger", + "status": "active", + "categories_json": "[\"produce\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"ginger\",\"name\":\"Ginger root, raw\",\"status\":\"active\",\"categories\":[\"produce\"],\"aliases\":[{\"name\":\"ginger root\",\"kind\":\"search\"},{\"name\":\"fresh ginger\",\"kind\":\"search\"},{\"name\":\"ginger, grated\",\"kind\":\"search\"},{\"name\":\"ginger, minced\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_ginger_169231\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_169231_84483\",\"from\":{\"quantity\":0.25,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":24,\"unit_id\":\"gram\"},\"state\":\"slices (1\\\" dia)\",\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"169231\",\"url\":\"https://fdc.nal.usda.gov/food-details/169231/measures\",\"title\":\"Ginger root, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 84483.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_169231_84482\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":2,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"169231\",\"url\":\"https://fdc.nal.usda.gov/food-details/169231/measures\",\"title\":\"Ginger root, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 84482.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "fresh ginger", + "kind": "search" + }, + { + "name": "ginger root", + "kind": "search" + }, + { + "name": "ginger, grated", + "kind": "search" + }, + { + "name": "ginger, minced", + "kind": "search" + } + ], + "prep_actions": [ + { + "action_id": "grate", + "yield_factor": 1, + "notes": null + }, + { + "action_id": "mince", + "yield_factor": 1, + "notes": null + } + ], + "measure_conversions": [ + { + "id": "usda_169231_84482", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 2, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169231\",\"url\":\"https://fdc.nal.usda.gov/food-details/169231/measures\",\"title\":\"Ginger root, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 84482.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_169231_84483", + "from_quantity": 0.25, + "from_unit_id": "cup_us", + "to_quantity": 24, + "to_unit_id": "gram", + "state": "slices (1\" dia)", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169231\",\"url\":\"https://fdc.nal.usda.gov/food-details/169231/measures\",\"title\":\"Ginger root, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 84483.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "ginger_ground", + "schema_version": 2, + "name": "ground ginger", + "status": "active", + "categories_json": "[\"other\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"ginger_ground\",\"name\":\"Spices, ginger, ground\",\"status\":\"active\",\"categories\":[\"other\"],\"aliases\":[{\"name\":\"ground ginger\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_ginger_ground_170926\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_170926_87551\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":5.2,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"170926\",\"url\":\"https://fdc.nal.usda.gov/food-details/170926/measures\",\"title\":\"Spices, ginger, ground\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87551.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_170926_87550\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":1.8,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"170926\",\"url\":\"https://fdc.nal.usda.gov/food-details/170926/measures\",\"title\":\"Spices, ginger, ground\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87550.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "ground ginger", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_170926_87550", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 1.8, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170926\",\"url\":\"https://fdc.nal.usda.gov/food-details/170926/measures\",\"title\":\"Spices, ginger, ground\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87550.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_170926_87551", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 5.2, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170926\",\"url\":\"https://fdc.nal.usda.gov/food-details/170926/measures\",\"title\":\"Spices, ginger, ground\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87551.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "ginger_juice", + "schema_version": 2, + "name": "Ginger Juice", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "glucose", + "schema_version": 2, + "name": "glucose", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"glucose\",\"name\":\"GLUCOSE\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[],\"nutrition_mapping_ids\":[\"usda_fdc_glucose_1983545\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "glucose_syrup", + "schema_version": 2, + "name": "Glucose Syrup", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "goat_cheese", + "schema_version": 2, + "name": "Goat Cheese", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "goat_milk", + "schema_version": 2, + "name": "Goat Milk", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "golden_raisins", + "schema_version": 2, + "name": "Golden Raisins", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "golden_rasins", + "schema_version": 2, + "name": "Golden Rasins", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "graham_cracker", + "schema_version": 2, + "name": "graham crackers", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"graham_cracker\",\"name\":\"Cookies, graham crackers, plain or honey (includes cinnamon)\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"graham cracker\",\"kind\":\"common\"},{\"name\":\"graham cracker crumbs\",\"kind\":\"common\"},{\"name\":\"graham crackers, plain or honey, crushed\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_graham_cracker_174957\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_174957_95263\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":84,\"unit_id\":\"gram\"},\"state\":\"crushed\",\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"174957\",\"url\":\"https://fdc.nal.usda.gov/food-details/174957/measures\",\"title\":\"Cookies, graham crackers, plain or honey (includes cinnamon)\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 95263.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "graham cracker", + "kind": "common" + }, + { + "name": "graham cracker crumbs", + "kind": "common" + }, + { + "name": "graham crackers, plain or honey, crushed", + "kind": "search" + } + ], + "prep_actions": [ + { + "action_id": "crush", + "yield_factor": 1, + "notes": null + } + ], + "measure_conversions": [ + { + "id": "usda_174957_95263", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 84, + "to_unit_id": "gram", + "state": "crushed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"174957\",\"url\":\"https://fdc.nal.usda.gov/food-details/174957/measures\",\"title\":\"Cookies, graham crackers, plain or honey (includes cinnamon)\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 95263.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "graham_cracker_crumbs", + "schema_version": 2, + "name": "Graham Cracker Crumbs", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "grand_marnier", + "schema_version": 2, + "name": "Grand Marnier", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "greek_yogurt", + "schema_version": 2, + "name": "Greek Yogurt", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "green_apple_puree", + "schema_version": 2, + "name": "Green Apple Puree", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "green_onion", + "schema_version": 2, + "name": "green onion", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"green_onion\",\"name\":\"Green onion, (scallion), bulb and greens, root removed, raw\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"green onion\",\"kind\":\"search\"},{\"name\":\"scallion\",\"kind\":\"search\"},{\"name\":\"scallion, minced\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_green_onion_2727585\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "green onion", + "kind": "search" + }, + { + "name": "scallion", + "kind": "search" + }, + { + "name": "scallion, minced", + "kind": "search" + } + ], + "prep_actions": [ + { + "action_id": "mince", + "yield_factor": 1, + "notes": null + } + ], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "grenadine", + "schema_version": 2, + "name": "Grenadine", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "ground_beef_73_27_raw", + "schema_version": 2, + "name": "ground beef 73/27", + "status": "active", + "categories_json": "[\"meat\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"ground_beef_73_27_raw\",\"name\":\"73% LEAN 27% FAT GROUND BEEF\",\"status\":\"active\",\"categories\":[\"meat\"],\"aliases\":[{\"name\":\"73/27 ground beef, raw\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_ground_beef_73_27_raw_2450404\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "73/27 ground beef, raw", + "kind": "common" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "gruy_re_cheese", + "schema_version": 2, + "name": "Gruyère Cheese", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "guava_puree", + "schema_version": 2, + "name": "Guava Puree", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "half_half", + "schema_version": 2, + "name": "Half & Half", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "hazelnut", + "schema_version": 2, + "name": "Hazelnuts", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "hazelnut_flour", + "schema_version": 2, + "name": "Hazelnut Flour", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "hazelnut_liqueur", + "schema_version": 2, + "name": "Hazelnut Liqueur", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "hazelnut_oil", + "schema_version": 2, + "name": "Hazelnut Oil", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "hazelnut_paste", + "schema_version": 2, + "name": "Hazelnut Paste", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "heavy_cream", + "schema_version": 2, + "name": "heavy cream", + "status": "active", + "categories_json": "[\"liquid\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"heavy_cream\",\"name\":\"Cream, heavy\",\"status\":\"active\",\"categories\":[\"liquid\"],\"aliases\":[{\"name\":\"heavy cream\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_heavy_cream_2346386\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "heavy cream", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "herbes_de_provence", + "schema_version": 2, + "name": "Herbes De Provence", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "herbs_de_provence", + "schema_version": 2, + "name": "Herbs De Provence", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "hidden_valley_ranch_dry_seasoning", + "schema_version": 2, + "name": "ranch seasoning mix", + "status": "active", + "categories_json": "[\"seasoning\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"hidden_valley_ranch_dry_seasoning\",\"name\":\"RANCH SEASONING & SALAD DRESSING MIX, RANCH\",\"status\":\"active\",\"categories\":[\"seasoning\"],\"aliases\":[{\"name\":\"Hidden Valley dry ranch\",\"kind\":\"trade\"},{\"name\":\"ranch powder\",\"kind\":\"common\"},{\"name\":\"ranch seasoning\",\"kind\":\"common\"},{\"name\":\"Hidden Valley Original Ranch dry seasoning mix\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_hidden_valley_ranch_dry_seasoning_2546792\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "Hidden Valley Original Ranch dry seasoning mix", + "kind": "search" + }, + { + "name": "Hidden Valley dry ranch", + "kind": "trade" + }, + { + "name": "ranch powder", + "kind": "common" + }, + { + "name": "ranch seasoning", + "kind": "common" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "honey", + "schema_version": 2, + "name": "honey", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"honey\",\"name\":\"Honey\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[],\"nutrition_mapping_ids\":[\"usda_fdc_honey_169640\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_169640_85264\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":339,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"169640\",\"url\":\"https://fdc.nal.usda.gov/food-details/169640/measures\",\"title\":\"Honey\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85264.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_169640_85265\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":21,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"169640\",\"url\":\"https://fdc.nal.usda.gov/food-details/169640/measures\",\"title\":\"Honey\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85265.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_169640_85264", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 339, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169640\",\"url\":\"https://fdc.nal.usda.gov/food-details/169640/measures\",\"title\":\"Honey\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85264.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_169640_85265", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 21, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169640\",\"url\":\"https://fdc.nal.usda.gov/food-details/169640/measures\",\"title\":\"Honey\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85265.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "hot_cherry_peppers", + "schema_version": 2, + "name": "pickled hot peppers", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"hot_cherry_peppers\",\"name\":\"Peppers, hot pickled, canned\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"hot cherry peppers\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_hot_cherry_peppers_169766\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_169766_85471\",\"from\":{\"quantity\":0.25,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":34,\"unit_id\":\"gram\"},\"state\":\"drained\",\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"169766\",\"url\":\"https://fdc.nal.usda.gov/food-details/169766/measures\",\"title\":\"Peppers, hot pickled, canned\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85471.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "hot cherry peppers", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_169766_85471", + "from_quantity": 0.25, + "from_unit_id": "cup_us", + "to_quantity": 34, + "to_unit_id": "gram", + "state": "drained", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169766\",\"url\":\"https://fdc.nal.usda.gov/food-details/169766/measures\",\"title\":\"Peppers, hot pickled, canned\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85471.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "hot_pepper_juice", + "schema_version": 2, + "name": "hot pepper juice", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"hot_pepper_juice\",\"name\":\"hot pepper juice\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[],\"nutrition_mapping_ids\":[],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "hot_sauce", + "schema_version": 2, + "name": "hot sauce", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"hot_sauce\",\"name\":\"Sauce, ready-to-serve, pepper or hot\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"hot sauce\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_hot_sauce_174527\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_174527_94521\",\"from\":{\"quantity\":0.25,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":1.2,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"174527\",\"url\":\"https://fdc.nal.usda.gov/food-details/174527/measures\",\"title\":\"Sauce, ready-to-serve, pepper or hot\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 94521.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "hot sauce", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_174527_94521", + "from_quantity": 0.25, + "from_unit_id": "teaspoon_us", + "to_quantity": 1.2, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"174527\",\"url\":\"https://fdc.nal.usda.gov/food-details/174527/measures\",\"title\":\"Sauce, ready-to-serve, pepper or hot\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 94521.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "ice_cream_stabilizer", + "schema_version": 2, + "name": "Ice Cream Stabilizer", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "icing_fondant", + "schema_version": 2, + "name": "Icing Fondant", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "imitation_crab", + "schema_version": 2, + "name": "imitation crab", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"imitation_crab\",\"name\":\"Crustaceans, crab, alaska king, imitation, made from surimi\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"imitation crab\",\"kind\":\"common\"},{\"name\":\"imitation crab, minced\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_imitation_crab_174203\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "imitation crab", + "kind": "common" + }, + { + "name": "imitation crab, minced", + "kind": "search" + } + ], + "prep_actions": [ + { + "action_id": "mince", + "yield_factor": 1, + "notes": null + } + ], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "inclusions", + "schema_version": 2, + "name": "Inclusions", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "instant_espresso_powder", + "schema_version": 2, + "name": "Instant Espresso Powder", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "instant_tapioca", + "schema_version": 2, + "name": "Instant Tapioca", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "instant_yeast", + "schema_version": 2, + "name": "instant yeast", + "status": "active", + "categories_json": "[\"leavening\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"instant_yeast\",\"name\":\"Leavening agents, yeast, baker's, active dry\",\"status\":\"active\",\"categories\":[\"leavening\"],\"aliases\":[{\"name\":\"commercial instant dry yeast\",\"kind\":\"common\"},{\"name\":\"instant yeast\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_instant_yeast_175043\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_175043_95490\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":12,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"175043\",\"url\":\"https://fdc.nal.usda.gov/food-details/175043/measures\",\"title\":\"Leavening agents, yeast, baker's, active dry\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 95490.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_175043_95489\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":4,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"175043\",\"url\":\"https://fdc.nal.usda.gov/food-details/175043/measures\",\"title\":\"Leavening agents, yeast, baker's, active dry\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 95489.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "commercial instant dry yeast", + "kind": "common" + }, + { + "name": "instant yeast", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_175043_95489", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 4, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"175043\",\"url\":\"https://fdc.nal.usda.gov/food-details/175043/measures\",\"title\":\"Leavening agents, yeast, baker's, active dry\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 95489.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_175043_95490", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 12, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"175043\",\"url\":\"https://fdc.nal.usda.gov/food-details/175043/measures\",\"title\":\"Leavening agents, yeast, baker's, active dry\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 95490.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "invert_sugar", + "schema_version": 2, + "name": "Invert Sugar", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "italian_sausage", + "schema_version": 2, + "name": "Italian sausage", + "status": "active", + "categories_json": "[\"meat\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"italian_sausage\",\"name\":\"Sausage, Italian, pork, mild, raw\",\"status\":\"active\",\"categories\":[\"meat\"],\"aliases\":[{\"name\":\"Italian sausage\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_italian_sausage_171631\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "Italian sausage", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "jalapeno_peppers_pickled", + "schema_version": 2, + "name": "pickled jalapeños", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"jalapeno_peppers_pickled\",\"name\":\"Peppers, jalapeno, canned, solids and liquids\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"jalapeno peppers, pickled\",\"kind\":\"search\"},{\"name\":\"jalapeno, diced\",\"kind\":\"search\"},{\"name\":\"jalapeno, pickled, diced\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_jalapeno_peppers_pickled_170080\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_170080_86011\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":104,\"unit_id\":\"gram\"},\"state\":\"sliced\",\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"170080\",\"url\":\"https://fdc.nal.usda.gov/food-details/170080/measures\",\"title\":\"Peppers, jalapeno, canned, solids and liquids\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 86011.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "jalapeno peppers, pickled", + "kind": "search" + }, + { + "name": "jalapeno, diced", + "kind": "search" + }, + { + "name": "jalapeno, pickled, diced", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_170080_86011", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 104, + "to_unit_id": "gram", + "state": "sliced", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170080\",\"url\":\"https://fdc.nal.usda.gov/food-details/170080/measures\",\"title\":\"Peppers, jalapeno, canned, solids and liquids\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 86011.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "kalamata_olives", + "schema_version": 2, + "name": "Kalamata Olives", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "ketchup", + "schema_version": 2, + "name": "ketchup", + "status": "active", + "categories_json": "[\"condiment\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"ketchup\",\"name\":\"Catsup\",\"status\":\"active\",\"categories\":[\"condiment\"],\"aliases\":[{\"name\":\"ketchup\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_ketchup_168556\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_168556_83301\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":17,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"168556\",\"url\":\"https://fdc.nal.usda.gov/food-details/168556/measures\",\"title\":\"Catsup\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 83301.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_168556_83303\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":240,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"168556\",\"url\":\"https://fdc.nal.usda.gov/food-details/168556/measures\",\"title\":\"Catsup\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 83303.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "ketchup", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_168556_83301", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 17, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"168556\",\"url\":\"https://fdc.nal.usda.gov/food-details/168556/measures\",\"title\":\"Catsup\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 83301.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_168556_83303", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 240, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"168556\",\"url\":\"https://fdc.nal.usda.gov/food-details/168556/measures\",\"title\":\"Catsup\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 83303.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "key_lime_juice", + "schema_version": 2, + "name": "Key Lime Juice", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "kirschwasser", + "schema_version": 2, + "name": "Kirschwasser", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "lactic_acid_88", + "schema_version": 2, + "name": "lactic acid 88%", + "status": "active", + "categories_json": "[\"other\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"lactic_acid_88\",\"name\":\"lactic acid 88%\",\"status\":\"active\",\"categories\":[\"other\"],\"aliases\":[],\"nutrition_mapping_ids\":[],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "lard", + "schema_version": 2, + "name": "lard", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"lard\",\"name\":\"Lard\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[],\"nutrition_mapping_ids\":[\"usda_fdc_lard_171401\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_171401_88638\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":12.8,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171401\",\"url\":\"https://fdc.nal.usda.gov/food-details/171401/measures\",\"title\":\"Lard\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88638.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_171401_88639\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":205,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171401\",\"url\":\"https://fdc.nal.usda.gov/food-details/171401/measures\",\"title\":\"Lard\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88639.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_171401_88638", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 12.8, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171401\",\"url\":\"https://fdc.nal.usda.gov/food-details/171401/measures\",\"title\":\"Lard\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88638.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_171401_88639", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 205, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171401\",\"url\":\"https://fdc.nal.usda.gov/food-details/171401/measures\",\"title\":\"Lard\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88639.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "lavender_buds", + "schema_version": 2, + "name": "Lavender Buds", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "lavender_honey", + "schema_version": 2, + "name": "Lavender Honey", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "lecithin", + "schema_version": 2, + "name": "soybean lecithin", + "status": "active", + "categories_json": "[\"other\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"lecithin\",\"name\":\"Oil, soybean lecithin\",\"status\":\"active\",\"categories\":[\"other\"],\"aliases\":[{\"name\":\"lecithin\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_lecithin_171426\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_171426_88700\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":13.6,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171426\",\"url\":\"https://fdc.nal.usda.gov/food-details/171426/measures\",\"title\":\"Oil, soybean lecithin\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88700.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_171426_88701\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":218,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171426\",\"url\":\"https://fdc.nal.usda.gov/food-details/171426/measures\",\"title\":\"Oil, soybean lecithin\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88701.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_171426_88702\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":4.5,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171426\",\"url\":\"https://fdc.nal.usda.gov/food-details/171426/measures\",\"title\":\"Oil, soybean lecithin\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88702.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "lecithin", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_171426_88700", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 13.6, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171426\",\"url\":\"https://fdc.nal.usda.gov/food-details/171426/measures\",\"title\":\"Oil, soybean lecithin\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88700.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_171426_88701", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 218, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171426\",\"url\":\"https://fdc.nal.usda.gov/food-details/171426/measures\",\"title\":\"Oil, soybean lecithin\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88701.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_171426_88702", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 4.5, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171426\",\"url\":\"https://fdc.nal.usda.gov/food-details/171426/measures\",\"title\":\"Oil, soybean lecithin\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88702.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "lecithin_liquid_soy", + "schema_version": 2, + "name": "lecithin, liquid soy", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"lecithin_liquid_soy\",\"name\":\"lecithin, liquid soy\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"liquid soy lecithin\",\"kind\":\"common\"}],\"nutrition_mapping_ids\":[],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "liquid soy lecithin", + "kind": "common" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "lecithin_powder", + "schema_version": 2, + "name": "soy lecithin granules", + "status": "active", + "categories_json": "[\"other\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"lecithin_powder\",\"name\":\"BOB'S RED MILL, SOY LECITHIN GRANULES\",\"status\":\"active\",\"categories\":[\"other\"],\"aliases\":[{\"name\":\"lecithin powder\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_lecithin_powder_2125978\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "lecithin powder", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "lemon", + "schema_version": 2, + "name": "Lemons", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "lemon_confit", + "schema_version": 2, + "name": "Lemon Confit", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "lemon_curd", + "schema_version": 2, + "name": "Lemon Curd", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "lemon_juice", + "schema_version": 2, + "name": "lemon juice", + "status": "active", + "categories_json": "[\"other\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"lemon_juice\",\"name\":\"Lemon juice, raw\",\"status\":\"active\",\"categories\":[\"other\"],\"aliases\":[{\"name\":\"lemon juice\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_lemon_juice_167747\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_167747_81887\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":244,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"167747\",\"url\":\"https://fdc.nal.usda.gov/food-details/167747/measures\",\"title\":\"Lemon juice, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 81887.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_167747_81888\",\"from\":{\"quantity\":1,\"unit_id\":\"fluid_ounce_us\"},\"to\":{\"quantity\":30.5,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"167747\",\"url\":\"https://fdc.nal.usda.gov/food-details/167747/measures\",\"title\":\"Lemon juice, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 81888.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "lemon juice", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_167747_81887", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 244, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"167747\",\"url\":\"https://fdc.nal.usda.gov/food-details/167747/measures\",\"title\":\"Lemon juice, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 81887.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_167747_81888", + "from_quantity": 1, + "from_unit_id": "fluid_ounce_us", + "to_quantity": 30.5, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"167747\",\"url\":\"https://fdc.nal.usda.gov/food-details/167747/measures\",\"title\":\"Lemon juice, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 81888.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "lemon_or_lime_juice", + "schema_version": 2, + "name": "Lemon Or Lime Juice", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "lemon_or_lime_streusel", + "schema_version": 2, + "name": "Lemon Or Lime Streusel", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "lemon_zest", + "schema_version": 2, + "name": "lemon zest", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"lemon_zest\",\"name\":\"Lemon peel, raw\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"lemon zest\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_lemon_zest_167749\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_167749_81896\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":2,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"167749\",\"url\":\"https://fdc.nal.usda.gov/food-details/167749/measures\",\"title\":\"Lemon peel, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 81896.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_167749_81895\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":6,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"167749\",\"url\":\"https://fdc.nal.usda.gov/food-details/167749/measures\",\"title\":\"Lemon peel, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 81895.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "lemon zest", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_167749_81895", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 6, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"167749\",\"url\":\"https://fdc.nal.usda.gov/food-details/167749/measures\",\"title\":\"Lemon peel, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 81895.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_167749_81896", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 2, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"167749\",\"url\":\"https://fdc.nal.usda.gov/food-details/167749/measures\",\"title\":\"Lemon peel, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 81896.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "lemons", + "schema_version": 2, + "name": "Lemons", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "light_corn_syrup", + "schema_version": 2, + "name": "Light Corn Syrup", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "lime", + "schema_version": 2, + "name": "Lime", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "lime_juice", + "schema_version": 2, + "name": "lime juice", + "status": "active", + "categories_json": "[\"acid\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"lime_juice\",\"name\":\"Lime juice, raw\",\"status\":\"active\",\"categories\":[\"acid\"],\"aliases\":[{\"name\":\"lime juice\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_lime_juice_168156\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_168156_82572\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":242,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"168156\",\"url\":\"https://fdc.nal.usda.gov/food-details/168156/measures\",\"title\":\"Lime juice, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 82572.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_168156_82573\",\"from\":{\"quantity\":1,\"unit_id\":\"fluid_ounce_us\"},\"to\":{\"quantity\":30.8,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"168156\",\"url\":\"https://fdc.nal.usda.gov/food-details/168156/measures\",\"title\":\"Lime juice, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 82573.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "lime juice", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_168156_82572", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 242, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"168156\",\"url\":\"https://fdc.nal.usda.gov/food-details/168156/measures\",\"title\":\"Lime juice, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 82572.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_168156_82573", + "from_quantity": 1, + "from_unit_id": "fluid_ounce_us", + "to_quantity": 30.8, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"168156\",\"url\":\"https://fdc.nal.usda.gov/food-details/168156/measures\",\"title\":\"Lime juice, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 82573.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "lime_puree", + "schema_version": 2, + "name": "Lime Puree", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "lime_zest", + "schema_version": 2, + "name": "Lime Zest", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "limes", + "schema_version": 2, + "name": "Limes", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "liqueur", + "schema_version": 2, + "name": "Liqueur", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "liquid_sunflower_lecithin", + "schema_version": 2, + "name": "liquid sunflower lecithin", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"liquid_sunflower_lecithin\",\"name\":\"LIQUID SUNFLOWER LECITHIN\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[],\"nutrition_mapping_ids\":[\"usda_fdc_liquid_sunflower_lecithin_2373459\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "loose_black_tea", + "schema_version": 2, + "name": "Loose Black Tea", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "loose_tea", + "schema_version": 2, + "name": "Loose Tea", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "lychee_puree", + "schema_version": 2, + "name": "Lychee Puree", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "macadamia_nuts", + "schema_version": 2, + "name": "Macadamia Nuts", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "mace_nutmeg", + "schema_version": 2, + "name": "ground mace", + "status": "active", + "categories_json": "[\"other\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"mace_nutmeg\",\"name\":\"Spices, mace, ground\",\"status\":\"active\",\"categories\":[\"other\"],\"aliases\":[{\"name\":\"mace/nutmeg\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_mace_nutmeg_170927\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_170927_87553\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":5.3,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"170927\",\"url\":\"https://fdc.nal.usda.gov/food-details/170927/measures\",\"title\":\"Spices, mace, ground\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87553.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_170927_87552\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":1.7,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"170927\",\"url\":\"https://fdc.nal.usda.gov/food-details/170927/measures\",\"title\":\"Spices, mace, ground\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87552.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "mace/nutmeg", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_170927_87552", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 1.7, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170927\",\"url\":\"https://fdc.nal.usda.gov/food-details/170927/measures\",\"title\":\"Spices, mace, ground\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87552.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_170927_87553", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 5.3, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170927\",\"url\":\"https://fdc.nal.usda.gov/food-details/170927/measures\",\"title\":\"Spices, mace, ground\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87553.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "maderia", + "schema_version": 2, + "name": "Maderia", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "malt_powder", + "schema_version": 2, + "name": "Malt Powder", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "mandarin_orange_juice", + "schema_version": 2, + "name": "Mandarin Orange Juice", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "mandarin_orange_puree", + "schema_version": 2, + "name": "Mandarin Orange Puree", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "mandarin_orange_zest", + "schema_version": 2, + "name": "Mandarin Orange Zest", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "mango_puree", + "schema_version": 2, + "name": "Mango Puree", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "maple_extract", + "schema_version": 2, + "name": "maple extract", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"maple_extract\",\"name\":\"maple extract\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[],\"nutrition_mapping_ids\":[],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "maple_syrup", + "schema_version": 2, + "name": "Maple Syrup", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "margarine", + "schema_version": 2, + "name": "Margarine", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "marjoram", + "schema_version": 2, + "name": "dried marjoram", + "status": "active", + "categories_json": "[\"herb\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"marjoram\",\"name\":\"Spices, marjoram, dried\",\"status\":\"active\",\"categories\":[\"herb\"],\"aliases\":[{\"name\":\"marjoram\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_marjoram_170928\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_170928_87555\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":1.7,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"170928\",\"url\":\"https://fdc.nal.usda.gov/food-details/170928/measures\",\"title\":\"Spices, marjoram, dried\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87555.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_170928_87554\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":0.6,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"170928\",\"url\":\"https://fdc.nal.usda.gov/food-details/170928/measures\",\"title\":\"Spices, marjoram, dried\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87554.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "marjoram", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_170928_87554", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 0.6, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170928\",\"url\":\"https://fdc.nal.usda.gov/food-details/170928/measures\",\"title\":\"Spices, marjoram, dried\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87554.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_170928_87555", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 1.7, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170928\",\"url\":\"https://fdc.nal.usda.gov/food-details/170928/measures\",\"title\":\"Spices, marjoram, dried\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87555.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "mascarpone", + "schema_version": 2, + "name": "Mascarpone", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "mashed_potatoes", + "schema_version": 2, + "name": "Mashed Potatoes", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "matcha", + "schema_version": 2, + "name": "Matcha", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "matcha_powder", + "schema_version": 2, + "name": "Matcha Powder", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "mayonnaise", + "schema_version": 2, + "name": "mayonnaise", + "status": "active", + "categories_json": "[\"condiment\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"mayonnaise\",\"name\":\"Salad dressing, mayonnaise, regular\",\"status\":\"active\",\"categories\":[\"condiment\"],\"aliases\":[{\"name\":\"mayonnaise\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_mayonnaise_171009\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_171009_87758\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":13.8,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171009\",\"url\":\"https://fdc.nal.usda.gov/food-details/171009/measures\",\"title\":\"Salad dressing, mayonnaise, regular\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87758.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_171009_87759\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":220,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171009\",\"url\":\"https://fdc.nal.usda.gov/food-details/171009/measures\",\"title\":\"Salad dressing, mayonnaise, regular\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87759.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "mayonnaise", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_171009_87758", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 13.8, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171009\",\"url\":\"https://fdc.nal.usda.gov/food-details/171009/measures\",\"title\":\"Salad dressing, mayonnaise, regular\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87758.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_171009_87759", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 220, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171009\",\"url\":\"https://fdc.nal.usda.gov/food-details/171009/measures\",\"title\":\"Salad dressing, mayonnaise, regular\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87759.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "melted_chocolate", + "schema_version": 2, + "name": "Melted Chocolate", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "michiu_wine", + "schema_version": 2, + "name": "michiu wine", + "status": "active", + "categories_json": "[\"alcohol\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"michiu_wine\",\"name\":\"COOKING RICE WINE\",\"status\":\"active\",\"categories\":[\"alcohol\"],\"aliases\":[{\"name\":\"michiu wine\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_michiu_wine_468381\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "michiu wine", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "milk", + "schema_version": 2, + "name": "milk, 2%", + "status": "active", + "categories_json": "[\"liquid\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"milk\",\"name\":\"Milk, reduced fat, fluid, 2% milkfat, with added vitamin A and vitamin D\",\"status\":\"active\",\"categories\":[\"liquid\"],\"aliases\":[{\"name\":\"2% milk\",\"kind\":\"common\"},{\"name\":\"milk, 2% reduced-fat\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_milk_746778\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "2% milk", + "kind": "common" + }, + { + "name": "milk, 2% reduced-fat", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "milk_chocolate_chips", + "schema_version": 2, + "name": "Milk Chocolate Chips", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "milk_powder", + "schema_version": 2, + "name": "Milk Powder", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "milk_powder_whole", + "schema_version": 2, + "name": "whole milk powder", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"milk_powder_whole\",\"name\":\"DRY WHOLE POWDERED MILK\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"milk powder, whole\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_milk_powder_whole_2491279\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "milk powder, whole", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "milk_whole", + "schema_version": 2, + "name": "Whole Milk", + "status": "active", + "categories_json": "[\"pantry\",\"baking\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "mini_chocolate_chips", + "schema_version": 2, + "name": "Mini Chocolate Chips", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "mint_dried", + "schema_version": 2, + "name": "dried mint", + "status": "active", + "categories_json": "[\"herb\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"mint_dried\",\"name\":\"Spearmint, dried\",\"status\":\"active\",\"categories\":[\"herb\"],\"aliases\":[{\"name\":\"dried spearmint\",\"kind\":\"common\"},{\"name\":\"mint, dried\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_mint_dried_172239\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_172239_90140\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":0.5,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"172239\",\"url\":\"https://fdc.nal.usda.gov/food-details/172239/measures\",\"title\":\"Spearmint, dried\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 90140.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_172239_90141\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":1.6,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"172239\",\"url\":\"https://fdc.nal.usda.gov/food-details/172239/measures\",\"title\":\"Spearmint, dried\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 90141.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "dried spearmint", + "kind": "common" + }, + { + "name": "mint, dried", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_172239_90140", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 0.5, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"172239\",\"url\":\"https://fdc.nal.usda.gov/food-details/172239/measures\",\"title\":\"Spearmint, dried\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 90140.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_172239_90141", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 1.6, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"172239\",\"url\":\"https://fdc.nal.usda.gov/food-details/172239/measures\",\"title\":\"Spearmint, dried\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 90141.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "mint_leaves", + "schema_version": 2, + "name": "Mint Leaves", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "mint_liqueur", + "schema_version": 2, + "name": "Mint Liqueur", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "mint_paste", + "schema_version": 2, + "name": "Mint Paste", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "mixed_nuts", + "schema_version": 2, + "name": "Mixed Nuts", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "molasses", + "schema_version": 2, + "name": "molasses", + "status": "active", + "categories_json": "[\"sweetener\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"molasses\",\"name\":\"Molasses\",\"status\":\"active\",\"categories\":[\"sweetener\"],\"aliases\":[],\"nutrition_mapping_ids\":[\"usda_fdc_molasses_168820\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_168820_83829\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":337,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"168820\",\"url\":\"https://fdc.nal.usda.gov/food-details/168820/measures\",\"title\":\"Molasses\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 83829.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_168820_83829", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 337, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"168820\",\"url\":\"https://fdc.nal.usda.gov/food-details/168820/measures\",\"title\":\"Molasses\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 83829.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "monterey_jack_cheese", + "schema_version": 2, + "name": "monterey jack cheese", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"monterey_jack_cheese\",\"name\":\"Cheese, monterey jack, solid\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"monterey jack cheese\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_monterey_jack_cheese_2647438\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "monterey jack cheese", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "mozzarella_cheese", + "schema_version": 2, + "name": "mozzarella cheese", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"mozzarella_cheese\",\"name\":\"Cheese, mozzarella, low moisture, part-skim\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"low-moisture part-skim mozzarella\",\"kind\":\"common\"},{\"name\":\"mozzarella cheese, low-moisture part-skim\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_mozzarella_cheese_329370\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "low-moisture part-skim mozzarella", + "kind": "common" + }, + { + "name": "mozzarella cheese, low-moisture part-skim", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "msg", + "schema_version": 2, + "name": "monosodium glutamate", + "status": "active", + "categories_json": "[\"seasoning\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"msg\",\"name\":\"MSG MONOSODIUM GLUTAMATE\",\"status\":\"active\",\"categories\":[\"seasoning\"],\"aliases\":[{\"name\":\"msg\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_msg_2449440\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "msg", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "muscovado_sugar", + "schema_version": 2, + "name": "Muscovado Sugar", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "mustard_dijon", + "schema_version": 2, + "name": "dijon mustard", + "status": "active", + "categories_json": "[\"condiment\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"mustard_dijon\",\"name\":\"DIJON MUSTARD\",\"status\":\"active\",\"categories\":[\"condiment\"],\"aliases\":[{\"name\":\"Dijon mustard, generic\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_mustard_dijon_2029577\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "Dijon mustard, generic", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "mustard_yellow", + "schema_version": 2, + "name": "yellow mustard", + "status": "active", + "categories_json": "[\"condiment\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"mustard_yellow\",\"name\":\"Mustard, prepared, yellow\",\"status\":\"active\",\"categories\":[\"condiment\"],\"aliases\":[{\"name\":\"yellow mustard\",\"kind\":\"search\"},{\"name\":\"mustard\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_mustard_yellow_326698\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "mustard", + "kind": "search" + }, + { + "name": "yellow mustard", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "neutral_glaze", + "schema_version": 2, + "name": "Neutral Glaze", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "non_fat_quark_cheese", + "schema_version": 2, + "name": "Non-Fat Quark Cheese", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "nonfat_milk_powder", + "schema_version": 2, + "name": "nonfat milk powder", + "status": "active", + "categories_json": "[\"liquid\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"nonfat_milk_powder\",\"name\":\"Milk, dry, nonfat, calcium reduced\",\"status\":\"active\",\"categories\":[\"liquid\"],\"aliases\":[{\"name\":\"nonfat milk powder\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_nonfat_milk_powder_171273\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "nonfat milk powder", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "nut_flour", + "schema_version": 2, + "name": "Nut Flour", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "nut_paste", + "schema_version": 2, + "name": "Nut Paste", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "nut_streusel", + "schema_version": 2, + "name": "Nut Streusel", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "nutmeg", + "schema_version": 2, + "name": "ground nutmeg", + "status": "active", + "categories_json": "[\"other\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"nutmeg\",\"name\":\"Spices, nutmeg, ground\",\"status\":\"active\",\"categories\":[\"other\"],\"aliases\":[{\"name\":\"nutmeg\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_nutmeg_171326\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_171326_88442\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":7,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171326\",\"url\":\"https://fdc.nal.usda.gov/food-details/171326/measures\",\"title\":\"Spices, nutmeg, ground\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88442.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_171326_88441\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":2.2,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171326\",\"url\":\"https://fdc.nal.usda.gov/food-details/171326/measures\",\"title\":\"Spices, nutmeg, ground\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88441.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "nutmeg", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_171326_88441", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 2.2, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171326\",\"url\":\"https://fdc.nal.usda.gov/food-details/171326/measures\",\"title\":\"Spices, nutmeg, ground\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88441.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_171326_88442", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 7, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171326\",\"url\":\"https://fdc.nal.usda.gov/food-details/171326/measures\",\"title\":\"Spices, nutmeg, ground\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88442.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "nuts", + "schema_version": 2, + "name": "Nuts", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "oats", + "schema_version": 2, + "name": "rolled oats", + "status": "active", + "categories_json": "[\"inclusion\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"oats\",\"name\":\"Oats, whole grain, rolled, old fashioned\",\"status\":\"active\",\"categories\":[\"inclusion\"],\"aliases\":[{\"name\":\"oats\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_oats_2346396\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "oats", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "oil_cured_black_olives", + "schema_version": 2, + "name": "Oil-Cured Black Olives", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "olive_oil", + "schema_version": 2, + "name": "extra-virgin olive oil", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"olive_oil\",\"name\":\"Oil, olive, extra virgin\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"EVOO\",\"kind\":\"common\"},{\"name\":\"extra-virgin olive oil\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_olive_oil_748608\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_748608_192355\",\"from\":{\"quantity\":100,\"unit_id\":\"milliliter\"},\"to\":{\"quantity\":90.7,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"748608\",\"url\":\"https://fdc.nal.usda.gov/food-details/748608/measures\",\"title\":\"Oil, olive, extra virgin\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 192355.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "EVOO", + "kind": "common" + }, + { + "name": "extra-virgin olive oil", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_748608_192355", + "from_quantity": 100, + "from_unit_id": "milliliter", + "to_quantity": 90.7, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"748608\",\"url\":\"https://fdc.nal.usda.gov/food-details/748608/measures\",\"title\":\"Oil, olive, extra virgin\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 192355.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "olive_oil_maple_granola", + "schema_version": 2, + "name": "Olive Oil & Maple Granola", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "onion", + "schema_version": 2, + "name": "Onion", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "onion_dehydrated_flake", + "schema_version": 2, + "name": "dehydrated onion flakes", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"onion_dehydrated_flake\",\"name\":\"Onions, dehydrated flakes\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"onion dehydrated flake\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_onion_dehydrated_flake_170002\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_170002_85873\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":5,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"170002\",\"url\":\"https://fdc.nal.usda.gov/food-details/170002/measures\",\"title\":\"Onions, dehydrated flakes\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85873.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_170002_85874\",\"from\":{\"quantity\":0.25,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":14,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"170002\",\"url\":\"https://fdc.nal.usda.gov/food-details/170002/measures\",\"title\":\"Onions, dehydrated flakes\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85874.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "onion dehydrated flake", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_170002_85873", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 5, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170002\",\"url\":\"https://fdc.nal.usda.gov/food-details/170002/measures\",\"title\":\"Onions, dehydrated flakes\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85873.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_170002_85874", + "from_quantity": 0.25, + "from_unit_id": "cup_us", + "to_quantity": 14, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170002\",\"url\":\"https://fdc.nal.usda.gov/food-details/170002/measures\",\"title\":\"Onions, dehydrated flakes\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85874.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "onion_dehydrated_powder", + "schema_version": 2, + "name": "onion powder", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"onion_dehydrated_powder\",\"name\":\"Spices, onion powder\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"onion, dehydrated, powder\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_onion_dehydrated_powder_171327\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_171327_88444\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":6.9,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171327\",\"url\":\"https://fdc.nal.usda.gov/food-details/171327/measures\",\"title\":\"Spices, onion powder\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88444.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_171327_88443\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":2.4,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171327\",\"url\":\"https://fdc.nal.usda.gov/food-details/171327/measures\",\"title\":\"Spices, onion powder\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88443.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "onion, dehydrated, powder", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_171327_88443", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 2.4, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171327\",\"url\":\"https://fdc.nal.usda.gov/food-details/171327/measures\",\"title\":\"Spices, onion powder\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88443.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_171327_88444", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 6.9, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171327\",\"url\":\"https://fdc.nal.usda.gov/food-details/171327/measures\",\"title\":\"Spices, onion powder\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88444.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "onion_powder", + "schema_version": 2, + "name": "onion powder", + "status": "active", + "categories_json": "[\"spice\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"onion_powder\",\"name\":\"Spices, onion powder\",\"status\":\"active\",\"categories\":[\"spice\"],\"aliases\":[{\"name\":\"onion powder\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_onion_powder_171327\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_171327_88444\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":6.9,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171327\",\"url\":\"https://fdc.nal.usda.gov/food-details/171327/measures\",\"title\":\"Spices, onion powder\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88444.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_171327_88443\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":2.4,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171327\",\"url\":\"https://fdc.nal.usda.gov/food-details/171327/measures\",\"title\":\"Spices, onion powder\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88443.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "onion powder", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_171327_88443", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 2.4, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171327\",\"url\":\"https://fdc.nal.usda.gov/food-details/171327/measures\",\"title\":\"Spices, onion powder\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88443.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_171327_88444", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 6.9, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171327\",\"url\":\"https://fdc.nal.usda.gov/food-details/171327/measures\",\"title\":\"Spices, onion powder\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88444.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "onion_yellow", + "schema_version": 2, + "name": "yellow onion", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"onion_yellow\",\"name\":\"Onions, yellow, raw\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"fresh yellow onion\",\"kind\":\"common\"},{\"name\":\"onion, yellow, fresh\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_onion_yellow_790646\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "fresh yellow onion", + "kind": "common" + }, + { + "name": "onion, yellow, fresh", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "orange_extract", + "schema_version": 2, + "name": "orange extract", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"orange_extract\",\"name\":\"orange extract\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[],\"nutrition_mapping_ids\":[],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "orange_flower_water", + "schema_version": 2, + "name": "Orange Flower Water", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "orange_juice", + "schema_version": 2, + "name": "orange juice", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"orange_juice\",\"name\":\"Orange juice, no pulp, not fortified, not from concentrate, refrigerated\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"orange juice\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_orange_juice_2003597\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "orange juice", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "orange_juice_concentrate", + "schema_version": 2, + "name": "orange juice concentrate", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"orange_juice_concentrate\",\"name\":\"Orange juice, frozen concentrate, unsweetened, undiluted\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"orange juice concentrate\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_orange_juice_concentrate_169923\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_169923_85687\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":262,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"169923\",\"url\":\"https://fdc.nal.usda.gov/food-details/169923/measures\",\"title\":\"Orange juice, frozen concentrate, unsweetened, undiluted\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85687.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_169923_85688\",\"from\":{\"quantity\":1,\"unit_id\":\"fluid_ounce_us\"},\"to\":{\"quantity\":33,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"169923\",\"url\":\"https://fdc.nal.usda.gov/food-details/169923/measures\",\"title\":\"Orange juice, frozen concentrate, unsweetened, undiluted\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85688.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "orange juice concentrate", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_169923_85687", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 262, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169923\",\"url\":\"https://fdc.nal.usda.gov/food-details/169923/measures\",\"title\":\"Orange juice, frozen concentrate, unsweetened, undiluted\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85687.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_169923_85688", + "from_quantity": 1, + "from_unit_id": "fluid_ounce_us", + "to_quantity": 33, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169923\",\"url\":\"https://fdc.nal.usda.gov/food-details/169923/measures\",\"title\":\"Orange juice, frozen concentrate, unsweetened, undiluted\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85688.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "orange_juice_saffron_reduction", + "schema_version": 2, + "name": "Orange Juice-Saffron Reduction", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "orange_liqueur", + "schema_version": 2, + "name": "Orange Liqueur", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "orange_oil", + "schema_version": 2, + "name": "Orange Oil", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "orange_streusel", + "schema_version": 2, + "name": "Orange Streusel", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "orange_zest", + "schema_version": 2, + "name": "orange zest", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"orange_zest\",\"name\":\"Orange peel, raw\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"orange zest\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_orange_zest_169103\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_169103_84243\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":6,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"169103\",\"url\":\"https://fdc.nal.usda.gov/food-details/169103/measures\",\"title\":\"Orange peel, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 84243.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_169103_84244\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":2,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"169103\",\"url\":\"https://fdc.nal.usda.gov/food-details/169103/measures\",\"title\":\"Orange peel, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 84244.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "orange zest", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_169103_84243", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 6, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169103\",\"url\":\"https://fdc.nal.usda.gov/food-details/169103/measures\",\"title\":\"Orange peel, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 84243.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_169103_84244", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 2, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169103\",\"url\":\"https://fdc.nal.usda.gov/food-details/169103/measures\",\"title\":\"Orange peel, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 84244.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "oranges", + "schema_version": 2, + "name": "Oranges", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "oregano", + "schema_version": 2, + "name": "dried oregano", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"oregano\",\"name\":\"Spices, oregano, dried\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"oregano\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_oregano_171328\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_171328_88445\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":1,\"unit_id\":\"gram\"},\"state\":\"leaves\",\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171328\",\"url\":\"https://fdc.nal.usda.gov/food-details/171328/measures\",\"title\":\"Spices, oregano, dried\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88445.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "oregano", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_171328_88445", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 1, + "to_unit_id": "gram", + "state": "leaves", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171328\",\"url\":\"https://fdc.nal.usda.gov/food-details/171328/measures\",\"title\":\"Spices, oregano, dried\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88445.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "organic_dried_rosebuds_petals", + "schema_version": 2, + "name": "Organic Dried Rosebuds & Petals", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "oyster_sauce", + "schema_version": 2, + "name": "oyster sauce", + "status": "active", + "categories_json": "[\"sauce\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"oyster_sauce\",\"name\":\"Sauce, oyster, ready-to-serve\",\"status\":\"active\",\"categories\":[\"sauce\"],\"aliases\":[{\"name\":\"oyster sauce\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_oyster_sauce_174529\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_174529_94524\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":18,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"174529\",\"url\":\"https://fdc.nal.usda.gov/food-details/174529/measures\",\"title\":\"Sauce, oyster, ready-to-serve\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 94524.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "oyster sauce", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_174529_94524", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 18, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"174529\",\"url\":\"https://fdc.nal.usda.gov/food-details/174529/measures\",\"title\":\"Sauce, oyster, ready-to-serve\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 94524.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "papaya_puree", + "schema_version": 2, + "name": "Papaya Puree", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "paprika", + "schema_version": 2, + "name": "paprika", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"paprika\",\"name\":\"Spices, paprika\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"paprika\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_paprika_171329\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_171329_88448\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":6.8,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171329\",\"url\":\"https://fdc.nal.usda.gov/food-details/171329/measures\",\"title\":\"Spices, paprika\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88448.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_171329_88447\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":2.3,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171329\",\"url\":\"https://fdc.nal.usda.gov/food-details/171329/measures\",\"title\":\"Spices, paprika\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88447.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "paprika", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_171329_88447", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 2.3, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171329\",\"url\":\"https://fdc.nal.usda.gov/food-details/171329/measures\",\"title\":\"Spices, paprika\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88447.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_171329_88448", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 6.8, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171329\",\"url\":\"https://fdc.nal.usda.gov/food-details/171329/measures\",\"title\":\"Spices, paprika\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88448.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "parmesan_cheese", + "schema_version": 2, + "name": "parmesan cheese", + "status": "active", + "categories_json": "[\"dairy\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"parmesan_cheese\",\"name\":\"Cheese, parmesan, grated\",\"status\":\"active\",\"categories\":[\"dairy\"],\"aliases\":[{\"name\":\"canned grated Parmesan\",\"kind\":\"common\"},{\"name\":\"Parmesan cheese, dry grated\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_parmesan_cheese_171247\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_171247_88261\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":100,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171247\",\"url\":\"https://fdc.nal.usda.gov/food-details/171247/measures\",\"title\":\"Cheese, parmesan, grated\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88261.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_171247_88262\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":5,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171247\",\"url\":\"https://fdc.nal.usda.gov/food-details/171247/measures\",\"title\":\"Cheese, parmesan, grated\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88262.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "Parmesan cheese, dry grated", + "kind": "search" + }, + { + "name": "canned grated Parmesan", + "kind": "common" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_171247_88261", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 100, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171247\",\"url\":\"https://fdc.nal.usda.gov/food-details/171247/measures\",\"title\":\"Cheese, parmesan, grated\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88261.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_171247_88262", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 5, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171247\",\"url\":\"https://fdc.nal.usda.gov/food-details/171247/measures\",\"title\":\"Cheese, parmesan, grated\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88262.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "parsley", + "schema_version": 2, + "name": "fresh parsley", + "status": "active", + "categories_json": "[\"herb\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"parsley\",\"name\":\"Parsley, fresh\",\"status\":\"active\",\"categories\":[\"herb\"],\"aliases\":[{\"name\":\"parsley\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_parsley_170416\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_170416_86607\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":60,\"unit_id\":\"gram\"},\"state\":\"chopped\",\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"170416\",\"url\":\"https://fdc.nal.usda.gov/food-details/170416/measures\",\"title\":\"Parsley, fresh\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 86607.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_170416_86608\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":3.8,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"170416\",\"url\":\"https://fdc.nal.usda.gov/food-details/170416/measures\",\"title\":\"Parsley, fresh\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 86608.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "parsley", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_170416_86607", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 60, + "to_unit_id": "gram", + "state": "chopped", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170416\",\"url\":\"https://fdc.nal.usda.gov/food-details/170416/measures\",\"title\":\"Parsley, fresh\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 86607.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_170416_86608", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 3.8, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170416\",\"url\":\"https://fdc.nal.usda.gov/food-details/170416/measures\",\"title\":\"Parsley, fresh\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 86608.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "passion_fruit_juice", + "schema_version": 2, + "name": "Passion Fruit Juice", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "passion_fruit_puree", + "schema_version": 2, + "name": "Passion Fruit Puree", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "pastry_cream", + "schema_version": 2, + "name": "Pastry Cream", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "pastry_cream_base", + "schema_version": 2, + "name": "Pastry Cream Base", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "peach_puree", + "schema_version": 2, + "name": "Peach Puree", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "peach_schnapps", + "schema_version": 2, + "name": "Peach Schnapps", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "peanut_butter", + "schema_version": 2, + "name": "peanut butter", + "status": "active", + "categories_json": "[\"fat\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"peanut_butter\",\"name\":\"Peanut butter, creamy\",\"status\":\"active\",\"categories\":[\"fat\"],\"aliases\":[{\"name\":\"peanut butter\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_peanut_butter_2262072\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "peanut butter", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "peanuts", + "schema_version": 2, + "name": "Peanuts", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "pear", + "schema_version": 2, + "name": "Pear", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "pear_liqueur", + "schema_version": 2, + "name": "Pear Liqueur", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "pear_puree", + "schema_version": 2, + "name": "Pear Puree", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "pecan", + "schema_version": 2, + "name": "Pecans", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "peeled_peaches", + "schema_version": 2, + "name": "Peeled Peaches", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "pickle_juice", + "schema_version": 2, + "name": "pickle juice", + "status": "active", + "categories_json": "[\"acid\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"pickle_juice\",\"name\":\"pickle juice\",\"status\":\"active\",\"categories\":[\"acid\"],\"aliases\":[],\"nutrition_mapping_ids\":[],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "pine_nuts", + "schema_version": 2, + "name": "Pine Nuts", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "pineapple", + "schema_version": 2, + "name": "Pineapple", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "pineapple_crushed_in_juice", + "schema_version": 2, + "name": "crushed pineapple in juice", + "status": "active", + "categories_json": "[\"produce\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"pineapple_crushed_in_juice\",\"name\":\"Pineapple, canned, juice pack, solids and liquids\",\"status\":\"active\",\"categories\":[\"produce\"],\"aliases\":[{\"name\":\"pineapple, crushed, in juice\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_pineapple_crushed_in_juice_169126\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_169126_84294\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":249,\"unit_id\":\"gram\"},\"state\":\"crushed, sliced, or chunks\",\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"169126\",\"url\":\"https://fdc.nal.usda.gov/food-details/169126/measures\",\"title\":\"Pineapple, canned, juice pack, solids and liquids\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 84294.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "pineapple, crushed, in juice", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_169126_84294", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 249, + "to_unit_id": "gram", + "state": "crushed, sliced, or chunks", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169126\",\"url\":\"https://fdc.nal.usda.gov/food-details/169126/measures\",\"title\":\"Pineapple, canned, juice pack, solids and liquids\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 84294.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "pink_grapefruit_juice", + "schema_version": 2, + "name": "Pink Grapefruit Juice", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "pinto_beans_dry_uncooked", + "schema_version": 2, + "name": "dried pinto beans", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"pinto_beans_dry_uncooked\",\"name\":\"Beans, Dry, Pinto (0% moisture)\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"pinto beans, dry, uncooked\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_pinto_beans_dry_uncooked_747445\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "pinto beans, dry, uncooked", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "pistachio", + "schema_version": 2, + "name": "Pistachios", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "pistachio_flour", + "schema_version": 2, + "name": "Pistachio Flour", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "pistachio_nuts", + "schema_version": 2, + "name": "pistachios", + "status": "active", + "categories_json": "[\"inclusion\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"pistachio_nuts\",\"name\":\"Nuts, pistachio nuts, raw\",\"status\":\"active\",\"categories\":[\"inclusion\"],\"aliases\":[{\"name\":\"pistachio nuts\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_pistachio_nuts_2515379\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "pistachio nuts", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "pistachio_paste", + "schema_version": 2, + "name": "Pistachio Paste", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "plum_brandy", + "schema_version": 2, + "name": "Plum Brandy", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "plum_jam", + "schema_version": 2, + "name": "Plum Jam", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "plum_puree", + "schema_version": 2, + "name": "Plum Puree", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "poolish", + "schema_version": 2, + "name": "Poolish", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "poppy_seeds", + "schema_version": 2, + "name": "Poppy Seeds", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "port_wine", + "schema_version": 2, + "name": "Port Wine", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "potato_russet", + "schema_version": 2, + "name": "russet potato", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"potato_russet\",\"name\":\"Potatoes, russet, flesh and skin, raw (Includes foods for USDA's Food Distribution Program)\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"russet potato\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_potato_russet_170027\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_170027_85921\",\"from\":{\"quantity\":0.5,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":75,\"unit_id\":\"gram\"},\"state\":\"diced\",\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"170027\",\"url\":\"https://fdc.nal.usda.gov/food-details/170027/measures\",\"title\":\"Potatoes, russet, flesh and skin, raw (Includes foods for USDA's Food Distribution Program)\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85921.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "russet potato", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_170027_85921", + "from_quantity": 0.5, + "from_unit_id": "cup_us", + "to_quantity": 75, + "to_unit_id": "gram", + "state": "diced", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170027\",\"url\":\"https://fdc.nal.usda.gov/food-details/170027/measures\",\"title\":\"Potatoes, russet, flesh and skin, raw (Includes foods for USDA's Food Distribution Program)\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85921.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "potato_starch", + "schema_version": 2, + "name": "Potato Starch", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "powdered_glucose", + "schema_version": 2, + "name": "Powdered Glucose", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "powered_glucose", + "schema_version": 2, + "name": "Powered Glucose", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "powered_sugar", + "schema_version": 2, + "name": "Powered Sugar", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "praline_paste", + "schema_version": 2, + "name": "Praline Paste", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "provolone_cheese", + "schema_version": 2, + "name": "provolone cheese", + "status": "active", + "categories_json": "[\"dairy\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"provolone_cheese\",\"name\":\"Cheese, provolone\",\"status\":\"active\",\"categories\":[\"dairy\"],\"aliases\":[{\"name\":\"provolone cheese\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_provolone_cheese_170850\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_170850_87396\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":132,\"unit_id\":\"gram\"},\"state\":\"diced\",\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"170850\",\"url\":\"https://fdc.nal.usda.gov/food-details/170850/measures\",\"title\":\"Cheese, provolone\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87396.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "provolone cheese", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_170850_87396", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 132, + "to_unit_id": "gram", + "state": "diced", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170850\",\"url\":\"https://fdc.nal.usda.gov/food-details/170850/measures\",\"title\":\"Cheese, provolone\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87396.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "prune_puree", + "schema_version": 2, + "name": "Prune Puree", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "prunes", + "schema_version": 2, + "name": "Prunes", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "puffed_rice", + "schema_version": 2, + "name": "Puffed Rice", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "pumpkin_puree", + "schema_version": 2, + "name": "pumpkin puree", + "status": "active", + "categories_json": "[\"other\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"pumpkin_puree\",\"name\":\"Pumpkin, canned, without salt\",\"status\":\"active\",\"categories\":[\"other\"],\"aliases\":[{\"name\":\"pumpkin puree\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_pumpkin_puree_168450\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_168450_83114\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":245,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"168450\",\"url\":\"https://fdc.nal.usda.gov/food-details/168450/measures\",\"title\":\"Pumpkin, canned, without salt\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 83114.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "pumpkin puree", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_168450_83114", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 245, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"168450\",\"url\":\"https://fdc.nal.usda.gov/food-details/168450/measures\",\"title\":\"Pumpkin, canned, without salt\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 83114.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "pure_maple_syrup", + "schema_version": 2, + "name": "Pure Maple Syrup", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "purple_gel_food_coloring", + "schema_version": 2, + "name": "Purple Gel Food Coloring", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "raisins", + "schema_version": 2, + "name": "raisins", + "status": "active", + "categories_json": "[\"inclusion\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"raisins\",\"name\":\"Raisins, dark, seedless\",\"status\":\"active\",\"categories\":[\"inclusion\"],\"aliases\":[{\"name\":\"raisins\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_raisins_2758980\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "raisins", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "ranch", + "schema_version": 2, + "name": "ranch dressing", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"ranch\",\"name\":\"Salad dressing, ranch dressing, regular\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"ranch\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_ranch_173592\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_173592_92892\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":15,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"173592\",\"url\":\"https://fdc.nal.usda.gov/food-details/173592/measures\",\"title\":\"Salad dressing, ranch dressing, regular\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 92892.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "ranch", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_173592_92892", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 15, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"173592\",\"url\":\"https://fdc.nal.usda.gov/food-details/173592/measures\",\"title\":\"Salad dressing, ranch dressing, regular\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 92892.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "raspberries", + "schema_version": 2, + "name": "Raspberries", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "raspberry", + "schema_version": 2, + "name": "raspberries", + "status": "active", + "categories_json": "[\"fruit\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"raspberry\",\"name\":\"Raspberries, raw\",\"status\":\"active\",\"categories\":[\"fruit\"],\"aliases\":[{\"name\":\"raspberry\",\"kind\":\"common\"},{\"name\":\"raspberries\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_raspberry_2346410\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "raspberries", + "kind": "search" + }, + { + "name": "raspberry", + "kind": "common" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "raspberry_liqueur", + "schema_version": 2, + "name": "Raspberry Liqueur", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "raspberry_puree", + "schema_version": 2, + "name": "Raspberry Puree", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "raspberry_vinegar", + "schema_version": 2, + "name": "Raspberry Vinegar", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "raw_broccoli", + "schema_version": 2, + "name": "Broccoli, raw", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"raw_broccoli\",\"name\":\"Broccoli, raw\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"raw broccoli\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_raw_broccoli_747447\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "raw broccoli", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "raw_cashews", + "schema_version": 2, + "name": "Raw Cashews", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "raw_pecans", + "schema_version": 2, + "name": "Raw Pecans", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "raw_pistachios", + "schema_version": 2, + "name": "Raw Pistachios", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "raw_sliced_almonds", + "schema_version": 2, + "name": "Raw Sliced Almonds", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "raw_sunflower_seeds", + "schema_version": 2, + "name": "Raw Sunflower Seeds", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "red_cocoa_butter_color", + "schema_version": 2, + "name": "Red Cocoa Butter Color", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "red_curry_paste", + "schema_version": 2, + "name": "red curry paste", + "status": "active", + "categories_json": "[\"condiment\",\"curry_paste\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"red_curry_paste\",\"name\":\"Thai Kitchen red curry paste\",\"status\":\"active\",\"categories\":[\"condiment\",\"curry_paste\"],\"aliases\":[{\"name\":\"Thai Kitchen gluten-free red curry paste\",\"kind\":\"trade\"},{\"name\":\"red curry paste\",\"kind\":\"common\"}],\"nutrition_mapping_ids\":[],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "Thai Kitchen gluten-free red curry paste", + "kind": "trade" + }, + { + "name": "red curry paste", + "kind": "common" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "red_gel_food_coloring", + "schema_version": 2, + "name": "Red Gel Food Coloring", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "red_wine", + "schema_version": 2, + "name": "Red Wine", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "redcurrant_puree", + "schema_version": 2, + "name": "Redcurrant Puree", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "reduced_apple_cider", + "schema_version": 2, + "name": "Reduced Apple Cider", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "rhubarb", + "schema_version": 2, + "name": "Rhubarb", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "rhubarb_puree", + "schema_version": 2, + "name": "Rhubarb Puree", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "rice", + "schema_version": 2, + "name": "white rice", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"rice\",\"name\":\"Rice, white, long grain, unenriched, raw\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"uncooked long-grain white rice\",\"kind\":\"common\"},{\"name\":\"white long-grain rice, dry\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_rice_2512381\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "uncooked long-grain white rice", + "kind": "common" + }, + { + "name": "white long-grain rice, dry", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "rice_chex", + "schema_version": 2, + "name": "rice chex", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"rice_chex\",\"name\":\"RICE SQUARES TOASTED CEREAL, RICE SQUARES\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"generic Rice Chex-style cereal\",\"kind\":\"search\"},{\"name\":\"crisp rice square cereal, generic\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_rice_chex_2311632\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "crisp rice square cereal, generic", + "kind": "search" + }, + { + "name": "generic Rice Chex-style cereal", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "rice_cooked", + "schema_version": 2, + "name": "cooked white rice", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"rice_cooked\",\"name\":\"Rice, white, long-grain, regular, enriched, cooked\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"rice, cooked\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_rice_cooked_168878\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_168878_83928\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":158,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"168878\",\"url\":\"https://fdc.nal.usda.gov/food-details/168878/measures\",\"title\":\"Rice, white, long-grain, regular, enriched, cooked\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"reviewed_at\":\"2026-08-12\",\"notes\":\"FoodData Central portion ID 83928.\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "rice, cooked", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_168878_83928", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 158, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"168878\",\"url\":\"https://fdc.nal.usda.gov/food-details/168878/measures\",\"title\":\"Rice, white, long-grain, regular, enriched, cooked\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"reviewed_at\":\"2026-08-12\",\"notes\":\"FoodData Central portion ID 83928.\"}" + } + ], + "density_measurements": [] + }, + { + "id": "rice_flour", + "schema_version": 2, + "name": "Rice Flour", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "ricotta_cheese", + "schema_version": 2, + "name": "Ricotta Cheese", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "rolled_oats", + "schema_version": 2, + "name": "Rolled Oats", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "roquefort_cheese", + "schema_version": 2, + "name": "Roquefort Cheese", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "rosemary", + "schema_version": 2, + "name": "Rosemary", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "rosewater_or_orange_blossom_water", + "schema_version": 2, + "name": "Rosewater Or Orange Blossom Water", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "ruby_port", + "schema_version": 2, + "name": "Ruby Port", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "rum", + "schema_version": 2, + "name": "Rum", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "rum_macerated_raisins", + "schema_version": 2, + "name": "Rum Macerated Raisins", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "rum_or_armagnac", + "schema_version": 2, + "name": "Rum Or Armagnac", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "saffron", + "schema_version": 2, + "name": "Saffron", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "sake", + "schema_version": 2, + "name": "Sake", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "salt", + "schema_version": 2, + "name": "salt", + "status": "active", + "categories_json": "[\"salt\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"salt\",\"name\":\"Salt, table\",\"status\":\"active\",\"categories\":[\"salt\"],\"aliases\":[{\"name\":\"salt\",\"kind\":\"search\"},{\"name\":\"kosher salt\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_salt_173468\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_173468_92596\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":292,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"173468\",\"url\":\"https://fdc.nal.usda.gov/food-details/173468/measures\",\"title\":\"Salt, table\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 92596.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_173468_92594\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":6,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"173468\",\"url\":\"https://fdc.nal.usda.gov/food-details/173468/measures\",\"title\":\"Salt, table\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 92594.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_173468_92595\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":18,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"173468\",\"url\":\"https://fdc.nal.usda.gov/food-details/173468/measures\",\"title\":\"Salt, table\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 92595.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "kosher salt", + "kind": "search" + }, + { + "name": "salt", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_173468_92594", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 6, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"173468\",\"url\":\"https://fdc.nal.usda.gov/food-details/173468/measures\",\"title\":\"Salt, table\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 92594.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_173468_92595", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 18, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"173468\",\"url\":\"https://fdc.nal.usda.gov/food-details/173468/measures\",\"title\":\"Salt, table\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 92595.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_173468_92596", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 292, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"173468\",\"url\":\"https://fdc.nal.usda.gov/food-details/173468/measures\",\"title\":\"Salt, table\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 92596.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "salted_peanuts", + "schema_version": 2, + "name": "Salted Peanuts", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "sambal_oelek", + "schema_version": 2, + "name": "sambal oelek", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"sambal_oelek\",\"name\":\"Huy Fong Foods sambal oelek\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"Huy Fong sambal oelek\",\"kind\":\"trade\"}],\"nutrition_mapping_ids\":[],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "Huy Fong sambal oelek", + "kind": "trade" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "seedless_grapes", + "schema_version": 2, + "name": "Seedless Grapes", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "semisweet_chocolate", + "schema_version": 2, + "name": "semisweet chocolate", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"semisweet_chocolate\",\"name\":\"Candies, semisweet chocolate\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"semisweet chocolate\",\"kind\":\"search\"},{\"name\":\"bittersweet chocolate\",\"kind\":\"search\"},{\"name\":\"semisweet chocolate chips\",\"kind\":\"search\"},{\"name\":\"chopped semisweet chocolate chunks\",\"kind\":\"search\"},{\"name\":\"chocolate chunks, semisweet, chopped\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_semisweet_chocolate_167976\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_167976_82317\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":173,\"unit_id\":\"gram\"},\"state\":\"mini chips\",\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"167976\",\"url\":\"https://fdc.nal.usda.gov/food-details/167976/measures\",\"title\":\"Candies, semisweet chocolate\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 82317.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "bittersweet chocolate", + "kind": "search" + }, + { + "name": "chocolate chunks, semisweet, chopped", + "kind": "search" + }, + { + "name": "chopped semisweet chocolate chunks", + "kind": "search" + }, + { + "name": "semisweet chocolate", + "kind": "search" + }, + { + "name": "semisweet chocolate chips", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_167976_82317", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 173, + "to_unit_id": "gram", + "state": "mini chips", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"167976\",\"url\":\"https://fdc.nal.usda.gov/food-details/167976/measures\",\"title\":\"Candies, semisweet chocolate\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 82317.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "semolina", + "schema_version": 2, + "name": "Semolina", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "sesame_oil", + "schema_version": 2, + "name": "sesame oil", + "status": "active", + "categories_json": "[\"fat\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"sesame_oil\",\"name\":\"Oil, sesame, salad or cooking\",\"status\":\"active\",\"categories\":[\"fat\"],\"aliases\":[{\"name\":\"sesame oil\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_sesame_oil_171016\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_171016_87777\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":13.6,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171016\",\"url\":\"https://fdc.nal.usda.gov/food-details/171016/measures\",\"title\":\"Oil, sesame, salad or cooking\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87777.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_171016_87779\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":4.5,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171016\",\"url\":\"https://fdc.nal.usda.gov/food-details/171016/measures\",\"title\":\"Oil, sesame, salad or cooking\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87779.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_171016_87778\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":218,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171016\",\"url\":\"https://fdc.nal.usda.gov/food-details/171016/measures\",\"title\":\"Oil, sesame, salad or cooking\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87778.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "sesame oil", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_171016_87777", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 13.6, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171016\",\"url\":\"https://fdc.nal.usda.gov/food-details/171016/measures\",\"title\":\"Oil, sesame, salad or cooking\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87777.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_171016_87778", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 218, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171016\",\"url\":\"https://fdc.nal.usda.gov/food-details/171016/measures\",\"title\":\"Oil, sesame, salad or cooking\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87778.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_171016_87779", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 4.5, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171016\",\"url\":\"https://fdc.nal.usda.gov/food-details/171016/measures\",\"title\":\"Oil, sesame, salad or cooking\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87779.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "sesame_seeds", + "schema_version": 2, + "name": "Sesame Seeds", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "shaoxing_wine", + "schema_version": 2, + "name": "shaoxing wine", + "status": "active", + "categories_json": "[\"alcohol\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"shaoxing_wine\",\"name\":\"SHAOHSING RICE COOKING WINE\",\"status\":\"active\",\"categories\":[\"alcohol\"],\"aliases\":[{\"name\":\"shaoxing wine\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_shaoxing_wine_2440010\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "shaoxing wine", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "sharp_cheddar_cheese", + "schema_version": 2, + "name": "sharp cheddar cheese", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"sharp_cheddar_cheese\",\"name\":\"Cheese, cheddar, sharp, sliced\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"sharp cheddar cheese\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_sharp_cheddar_cheese_170899\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "sharp cheddar cheese", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "shortening", + "schema_version": 2, + "name": "vegetable shortening", + "status": "active", + "categories_json": "[\"fat\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"shortening\",\"name\":\"Shortening, vegetable, household, composite\",\"status\":\"active\",\"categories\":[\"fat\"],\"aliases\":[{\"name\":\"shortening\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_shortening_173584\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_173584_92880\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":12.8,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"173584\",\"url\":\"https://fdc.nal.usda.gov/food-details/173584/measures\",\"title\":\"Shortening, vegetable, household, composite\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 92880.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_173584_92881\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":205,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"173584\",\"url\":\"https://fdc.nal.usda.gov/food-details/173584/measures\",\"title\":\"Shortening, vegetable, household, composite\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 92881.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "shortening", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_173584_92880", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 12.8, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"173584\",\"url\":\"https://fdc.nal.usda.gov/food-details/173584/measures\",\"title\":\"Shortening, vegetable, household, composite\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 92880.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_173584_92881", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 205, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"173584\",\"url\":\"https://fdc.nal.usda.gov/food-details/173584/measures\",\"title\":\"Shortening, vegetable, household, composite\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 92881.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "simple_syrup", + "schema_version": 2, + "name": "Simple Syrup", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "sliced_almonds", + "schema_version": 2, + "name": "Sliced Almonds", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "slivered_almonds", + "schema_version": 2, + "name": "Slivered Almonds", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "smoked_bacon", + "schema_version": 2, + "name": "Smoked Bacon", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "smoked_ham", + "schema_version": 2, + "name": "Smoked Ham", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "smoked_salmon", + "schema_version": 2, + "name": "Smoked Salmon", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "smoked_sea_salt", + "schema_version": 2, + "name": "Smoked Sea Salt", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "sodium_citrate", + "schema_version": 2, + "name": "sodium citrate", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"sodium_citrate\",\"name\":\"sodium citrate\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[],\"nutrition_mapping_ids\":[],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "soft_tofu", + "schema_version": 2, + "name": "Soft Tofu", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "sorbet_stabilizer", + "schema_version": 2, + "name": "Sorbet Stabilizer", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "sour_cherries", + "schema_version": 2, + "name": "Sour Cherries", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "sour_cherry_puree", + "schema_version": 2, + "name": "Sour Cherry Puree", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "sour_cream", + "schema_version": 2, + "name": "sour cream", + "status": "active", + "categories_json": "[\"liquid\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"sour_cream\",\"name\":\"Cream, sour, cultured\",\"status\":\"active\",\"categories\":[\"liquid\"],\"aliases\":[{\"name\":\"sour cream\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_sour_cream_171257\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_171257_88296\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":12,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171257\",\"url\":\"https://fdc.nal.usda.gov/food-details/171257/measures\",\"title\":\"Cream, sour, cultured\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88296.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_171257_88297\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":230,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171257\",\"url\":\"https://fdc.nal.usda.gov/food-details/171257/measures\",\"title\":\"Cream, sour, cultured\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88297.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "sour cream", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_171257_88296", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 12, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171257\",\"url\":\"https://fdc.nal.usda.gov/food-details/171257/measures\",\"title\":\"Cream, sour, cultured\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88296.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_171257_88297", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 230, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171257\",\"url\":\"https://fdc.nal.usda.gov/food-details/171257/measures\",\"title\":\"Cream, sour, cultured\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88297.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "soy_sauce_dark", + "schema_version": 2, + "name": "dark soy sauce", + "status": "active", + "categories_json": "[\"sauce\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"soy_sauce_dark\",\"name\":\"Lee Kum Kee Premium Dark Soy Sauce\",\"status\":\"active\",\"categories\":[\"sauce\"],\"aliases\":[{\"name\":\"Lee Kum Kee dark soy sauce\",\"kind\":\"trade\"},{\"name\":\"dark soy sauce\",\"kind\":\"common\"}],\"nutrition_mapping_ids\":[\"supplier_label_lee_kum_kee_premium_dark_soy_sauce_078895126389\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "Lee Kum Kee dark soy sauce", + "kind": "trade" + }, + { + "name": "dark soy sauce", + "kind": "common" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "soy_sauce_light", + "schema_version": 2, + "name": "soy sauce", + "status": "active", + "categories_json": "[\"sauce\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"soy_sauce_light\",\"name\":\"Soy sauce made from soy and wheat (shoyu)\",\"status\":\"active\",\"categories\":[\"sauce\"],\"aliases\":[{\"name\":\"soy sauce, light\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_soy_sauce_light_174277\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_174277_94068\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":16,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"174277\",\"url\":\"https://fdc.nal.usda.gov/food-details/174277/measures\",\"title\":\"Soy sauce made from soy and wheat (shoyu)\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 94068.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_174277_94069\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":5.3,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"174277\",\"url\":\"https://fdc.nal.usda.gov/food-details/174277/measures\",\"title\":\"Soy sauce made from soy and wheat (shoyu)\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 94069.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_174277_94070\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":255,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"174277\",\"url\":\"https://fdc.nal.usda.gov/food-details/174277/measures\",\"title\":\"Soy sauce made from soy and wheat (shoyu)\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 94070.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "soy sauce, light", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_174277_94068", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 16, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"174277\",\"url\":\"https://fdc.nal.usda.gov/food-details/174277/measures\",\"title\":\"Soy sauce made from soy and wheat (shoyu)\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 94068.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_174277_94069", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 5.3, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"174277\",\"url\":\"https://fdc.nal.usda.gov/food-details/174277/measures\",\"title\":\"Soy sauce made from soy and wheat (shoyu)\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 94069.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_174277_94070", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 255, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"174277\",\"url\":\"https://fdc.nal.usda.gov/food-details/174277/measures\",\"title\":\"Soy sauce made from soy and wheat (shoyu)\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 94070.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "soy_sauce_light_low_sodium", + "schema_version": 2, + "name": "low-sodium soy sauce", + "status": "active", + "categories_json": "[\"sauce\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"soy_sauce_light_low_sodium\",\"name\":\"Soy sauce made from soy and wheat (shoyu), low sodium\",\"status\":\"active\",\"categories\":[\"sauce\"],\"aliases\":[{\"name\":\"soy sauce, light, low sodium\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_soy_sauce_light_low_sodium_172473\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_172473_90678\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":4.5,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"172473\",\"url\":\"https://fdc.nal.usda.gov/food-details/172473/measures\",\"title\":\"Soy sauce made from soy and wheat (shoyu), low sodium\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 90678.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_172473_90677\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":14.2,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"172473\",\"url\":\"https://fdc.nal.usda.gov/food-details/172473/measures\",\"title\":\"Soy sauce made from soy and wheat (shoyu), low sodium\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 90677.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_172473_90679\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":255,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"172473\",\"url\":\"https://fdc.nal.usda.gov/food-details/172473/measures\",\"title\":\"Soy sauce made from soy and wheat (shoyu), low sodium\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 90679.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "soy sauce, light, low sodium", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_172473_90677", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 14.2, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"172473\",\"url\":\"https://fdc.nal.usda.gov/food-details/172473/measures\",\"title\":\"Soy sauce made from soy and wheat (shoyu), low sodium\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 90677.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_172473_90678", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 4.5, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"172473\",\"url\":\"https://fdc.nal.usda.gov/food-details/172473/measures\",\"title\":\"Soy sauce made from soy and wheat (shoyu), low sodium\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 90678.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_172473_90679", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 255, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"172473\",\"url\":\"https://fdc.nal.usda.gov/food-details/172473/measures\",\"title\":\"Soy sauce made from soy and wheat (shoyu), low sodium\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 90679.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "soybean_oil", + "schema_version": 2, + "name": "soybean oil", + "status": "active", + "categories_json": "[\"fat\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"soybean_oil\",\"name\":\"Oil, soybean\",\"status\":\"active\",\"categories\":[\"fat\"],\"aliases\":[{\"name\":\"soybean oil\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_soybean_oil_748366\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_748366_192348\",\"from\":{\"quantity\":100,\"unit_id\":\"milliliter\"},\"to\":{\"quantity\":91.3,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"748366\",\"url\":\"https://fdc.nal.usda.gov/food-details/748366/measures\",\"title\":\"Oil, soybean\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 192348.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "soybean oil", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_748366_192348", + "from_quantity": 100, + "from_unit_id": "milliliter", + "to_quantity": 91.3, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"748366\",\"url\":\"https://fdc.nal.usda.gov/food-details/748366/measures\",\"title\":\"Oil, soybean\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 192348.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "spice_blend", + "schema_version": 2, + "name": "spice blend", + "status": "active", + "categories_json": "[\"spice\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"spice_blend\",\"name\":\"spice blend\",\"status\":\"active\",\"categories\":[\"spice\"],\"aliases\":[],\"nutrition_mapping_ids\":[],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "sponge", + "schema_version": 2, + "name": "Sponge", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "sriracha", + "schema_version": 2, + "name": "sriracha", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"sriracha\",\"name\":\"Sauce, hot chile, sriracha\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"sriracha\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_sriracha_171186\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_171186_88133\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":6.5,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171186\",\"url\":\"https://fdc.nal.usda.gov/food-details/171186/measures\",\"title\":\"Sauce, hot chile, sriracha\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88133.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "sriracha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_171186_88133", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 6.5, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171186\",\"url\":\"https://fdc.nal.usda.gov/food-details/171186/measures\",\"title\":\"Sauce, hot chile, sriracha\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 88133.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "star_anise", + "schema_version": 2, + "name": "Star Anise", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "strawberries", + "schema_version": 2, + "name": "Strawberries", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "strawberry_puree", + "schema_version": 2, + "name": "Strawberry Puree", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "sugar", + "schema_version": 2, + "name": "granulated sugar", + "status": "active", + "categories_json": "[\"sweetener\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"sugar\",\"name\":\"Sugars, granulated\",\"status\":\"active\",\"categories\":[\"sweetener\"],\"aliases\":[{\"name\":\"sugar\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_sugar_746784\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_746784_187533\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":4,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"746784\",\"url\":\"https://fdc.nal.usda.gov/food-details/746784/measures\",\"title\":\"Sugars, granulated\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 187533.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_746784_187534\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":188,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"746784\",\"url\":\"https://fdc.nal.usda.gov/food-details/746784/measures\",\"title\":\"Sugars, granulated\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 187534.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "sugar", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_746784_187533", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 4, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"746784\",\"url\":\"https://fdc.nal.usda.gov/food-details/746784/measures\",\"title\":\"Sugars, granulated\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 187533.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_746784_187534", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 188, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"746784\",\"url\":\"https://fdc.nal.usda.gov/food-details/746784/measures\",\"title\":\"Sugars, granulated\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 187534.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "superfine_sugar", + "schema_version": 2, + "name": "Superfine Sugar", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "sweet_corn", + "schema_version": 2, + "name": "Sweet Corn", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "sweet_potato_cooked", + "schema_version": 2, + "name": "cooked sweet potato", + "status": "active", + "categories_json": "[\"produce\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"sweet_potato_cooked\",\"name\":\"Sweet potato, cooked, boiled, without skin\",\"status\":\"active\",\"categories\":[\"produce\"],\"aliases\":[{\"name\":\"sweet potato, cooked\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_sweet_potato_cooked_168484\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_168484_83172\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":328,\"unit_id\":\"gram\"},\"state\":\"mashed\",\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"168484\",\"url\":\"https://fdc.nal.usda.gov/food-details/168484/measures\",\"title\":\"Sweet potato, cooked, boiled, without skin\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 83172.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "sweet potato, cooked", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_168484_83172", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 328, + "to_unit_id": "gram", + "state": "mashed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"168484\",\"url\":\"https://fdc.nal.usda.gov/food-details/168484/measures\",\"title\":\"Sweet potato, cooked, boiled, without skin\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 83172.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "sweet_potato_puree", + "schema_version": 2, + "name": "Sweet Potato Puree", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "tahini", + "schema_version": 2, + "name": "tahini", + "status": "active", + "categories_json": "[\"seed_paste\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"tahini\",\"name\":\"Seeds, sesame butter, tahini, from roasted and toasted kernels (most common type)\",\"status\":\"active\",\"categories\":[\"seed_paste\"],\"aliases\":[{\"name\":\"tahini\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_tahini_170189\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_170189_86209\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":15,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"170189\",\"url\":\"https://fdc.nal.usda.gov/food-details/170189/measures\",\"title\":\"Seeds, sesame butter, tahini, from roasted and toasted kernels (most common type)\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 86209.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "tahini", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_170189_86209", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 15, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170189\",\"url\":\"https://fdc.nal.usda.gov/food-details/170189/measures\",\"title\":\"Seeds, sesame butter, tahini, from roasted and toasted kernels (most common type)\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 86209.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "tapioca_flour", + "schema_version": 2, + "name": "Tapioca Flour", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "tapioca_pearls", + "schema_version": 2, + "name": "Tapioca Pearls", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "tapioca_starch", + "schema_version": 2, + "name": "tapioca starch", + "status": "active", + "categories_json": "[\"starch\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"tapioca_starch\",\"name\":\"TAPIOCA STARCH\",\"status\":\"active\",\"categories\":[\"starch\"],\"aliases\":[],\"nutrition_mapping_ids\":[\"usda_fdc_tapioca_starch_2033785\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "tea_loose", + "schema_version": 2, + "name": "Loose Tea", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "tea_streusel", + "schema_version": 2, + "name": "Tea Streusel", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "tequila", + "schema_version": 2, + "name": "Tequila", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "test_matcha_powder", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-17 18:16:08", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_10", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-17 20:51:58", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_10", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_11", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-17 22:24:52", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_11", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_12", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-17 22:34:42", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_12", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_13", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-17 22:47:06", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_13", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_14", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-17 23:10:12", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_14", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_15", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 12:09:22", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_15", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_16", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 12:38:47", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_16", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_17", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 12:42:36", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_17", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_18", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 12:45:56", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_18", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_19", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 12:49:29", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_19", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_2", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-17 18:16:42", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_2", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_20", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 12:53:29", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_20", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_21", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 12:54:50", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_21", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_22", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 12:59:23", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_22", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_23", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 13:17:55", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_23", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_24", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 13:21:43", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_24", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_25", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 13:22:50", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_25", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_26", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 13:32:44", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_26", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_27", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 13:37:38", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_27", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_28", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 13:40:52", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_28", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_29", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 13:42:45", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_29", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_3", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-17 18:17:04", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_3", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_30", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 13:43:46", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_30", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_31", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 13:46:20", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_31", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_32", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 13:47:57", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_32", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_33", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 13:50:22", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_33", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_34", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 13:56:28", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_34", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_35", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 13:59:16", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_35", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_36", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 14:00:18", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_36", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_37", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 14:08:10", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_37", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_38", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 14:17:35", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_38", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_39", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 14:27:09", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_39", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_4", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-17 18:18:37", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_4", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_40", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 14:29:51", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_40", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_41", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 16:56:42", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_41", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_42", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 17:02:31", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_42", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_43", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 17:06:35", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_43", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_44", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 17:11:34", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_44", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_45", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 17:19:00", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_45", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_46", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 17:21:12", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_46", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_47", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 17:25:29", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_47", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_48", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 17:32:04", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_48", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_49", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 17:39:20", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_49", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_5", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-17 18:26:35", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_5", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_50", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 17:40:52", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_50", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_51", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 17:48:01", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_51", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_52", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 17:58:44", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_52", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_53", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 18:10:56", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_53", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_54", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 18:19:29", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_54", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_55", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 18:26:05", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_55", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_56", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 18:30:15", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_56", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_57", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 18:34:08", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_57", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_58", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 18:40:42", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_58", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_59", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 18:45:09", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_59", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_6", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-17 18:26:53", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_6", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_60", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 19:10:57", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_60", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_61", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 19:22:30", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_61", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_62", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 19:24:18", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_62", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_63", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 19:39:39", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_63", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_64", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 21:48:07", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_64", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_65", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 21:58:37", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_65", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_66", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 23:14:06", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_66", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_67", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-18 23:18:03", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_67", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_7", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-17 19:30:29", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_7", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_8", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-17 19:32:40", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_8", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "test_matcha_powder_9", + "schema_version": 2, + "name": "Test Matcha Powder Organic", + "status": "active", + "categories_json": "[\"tea\",\"flavoring\",\"organic\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": "2026-08-17 19:35:04", + "aliases": [ + { + "name": "Matcha", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "density_test_matcha_powder_9", + "mass_quantity": 60, + "mass_unit_id": "gram", + "volume_quantity": 0.25, + "volume_unit_id": "cup_us", + "temperature_c": null, + "state": null, + "source_json": "{}" + } + ] + }, + { + "id": "tomato_bouillon", + "schema_version": 2, + "name": "tomato bouillon", + "status": "active", + "categories_json": "[\"seasoning\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"tomato_bouillon\",\"name\":\"TOMATO BOUILLON WITH CHICKEN FLAVOR, TOMATO WITH CHICKEN\",\"status\":\"active\",\"categories\":[\"seasoning\"],\"aliases\":[{\"name\":\"Knorr Caldo de Tomate\",\"kind\":\"trade\"},{\"name\":\"Knorr tomato bouillon with chicken flavor\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_tomato_bouillon_2029306\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "Knorr Caldo de Tomate", + "kind": "trade" + }, + { + "name": "Knorr tomato bouillon with chicken flavor", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "tomato_crushed_in_juice", + "schema_version": 2, + "name": "crushed tomatoes in juice", + "status": "active", + "categories_json": "[\"produce\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"tomato_crushed_in_juice\",\"name\":\"Tomatoes, red, ripe, canned, packed in tomato juice\",\"status\":\"active\",\"categories\":[\"produce\"],\"aliases\":[{\"name\":\"tomato, crushed, in juice\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_tomato_crushed_in_juice_170051\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_170051_85963\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":240,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"170051\",\"url\":\"https://fdc.nal.usda.gov/food-details/170051/measures\",\"title\":\"Tomatoes, red, ripe, canned, packed in tomato juice\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85963.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_170051_85964\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":15,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"170051\",\"url\":\"https://fdc.nal.usda.gov/food-details/170051/measures\",\"title\":\"Tomatoes, red, ripe, canned, packed in tomato juice\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85964.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "tomato, crushed, in juice", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_170051_85963", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 240, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170051\",\"url\":\"https://fdc.nal.usda.gov/food-details/170051/measures\",\"title\":\"Tomatoes, red, ripe, canned, packed in tomato juice\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85963.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_170051_85964", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 15, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170051\",\"url\":\"https://fdc.nal.usda.gov/food-details/170051/measures\",\"title\":\"Tomatoes, red, ripe, canned, packed in tomato juice\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 85964.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "tomato_juice", + "schema_version": 2, + "name": "Tomato Juice", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "tomato_paste", + "schema_version": 2, + "name": "tomato paste", + "status": "active", + "categories_json": "[\"produce\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"tomato_paste\",\"name\":\"Tomato, paste, canned, without salt added\",\"status\":\"active\",\"categories\":[\"produce\"],\"aliases\":[{\"name\":\"tomato paste\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_tomato_paste_2685580\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "tomato paste", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "tomato_puree", + "schema_version": 2, + "name": "tomato puree", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"tomato_puree\",\"name\":\"Tomato, puree, canned\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"tomato puree\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_tomato_puree_2685582\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "tomato puree", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "total_croquant_weight", + "schema_version": 2, + "name": "Total Croquant Weight:", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "total_dough_weight", + "schema_version": 2, + "name": "Total Dough Weight:", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "total_parfait_weight", + "schema_version": 2, + "name": "Total Parfait Weight:", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "total_paton_weight", + "schema_version": 2, + "name": "Total Paton Weight:", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "unsalted_peanuts", + "schema_version": 2, + "name": "Unsalted Peanuts", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "unsweetened_chocolate", + "schema_version": 2, + "name": "Unsweetened Chocolate", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "unsweetened_coconut", + "schema_version": 2, + "name": "Unsweetened Coconut", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "valrhona_az_lia", + "schema_version": 2, + "name": "Valrhona Azélia", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "valrhona_dark_chocolate_baking_pearls", + "schema_version": 2, + "name": "Valrhona Dark Chocolate Baking Pearls", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "valrhona_extra_bitter_chocolate", + "schema_version": 2, + "name": "Valrhona Extra Bitter Chocolate", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "valrhona_guanaja", + "schema_version": 2, + "name": "Valrhona Guanaja", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "valrhona_hazelnut_pralin", + "schema_version": 2, + "name": "Valrhona Hazelnut Praliné", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "valrhona_ilanka", + "schema_version": 2, + "name": "Valrhona Ilanka", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "valrhona_manjari", + "schema_version": 2, + "name": "Valrhona Manjari", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "valrhona_tanariva", + "schema_version": 2, + "name": "Valrhona Tanariva", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "vanilla_bean", + "schema_version": 2, + "name": "Vanilla Bean", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "vanilla_cake_batter", + "schema_version": 2, + "name": "Vanilla Cake Batter", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "vanilla_extract", + "schema_version": 2, + "name": "vanilla extract", + "status": "active", + "categories_json": "[\"flavoring\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"vanilla_extract\",\"name\":\"Vanilla extract\",\"status\":\"active\",\"categories\":[\"flavoring\"],\"aliases\":[],\"nutrition_mapping_ids\":[\"usda_fdc_vanilla_extract_173471\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_173471_92603\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":4.2,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"173471\",\"url\":\"https://fdc.nal.usda.gov/food-details/173471/measures\",\"title\":\"Vanilla extract\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 92603.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_173471_92605\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":208,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"173471\",\"url\":\"https://fdc.nal.usda.gov/food-details/173471/measures\",\"title\":\"Vanilla extract\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 92605.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_173471_92604\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":13,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"173471\",\"url\":\"https://fdc.nal.usda.gov/food-details/173471/measures\",\"title\":\"Vanilla extract\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 92604.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_173471_92603", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 4.2, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"173471\",\"url\":\"https://fdc.nal.usda.gov/food-details/173471/measures\",\"title\":\"Vanilla extract\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 92603.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_173471_92604", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 13, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"173471\",\"url\":\"https://fdc.nal.usda.gov/food-details/173471/measures\",\"title\":\"Vanilla extract\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 92604.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_173471_92605", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 208, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"173471\",\"url\":\"https://fdc.nal.usda.gov/food-details/173471/measures\",\"title\":\"Vanilla extract\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 92605.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "vanilla_sugar", + "schema_version": 2, + "name": "Vanilla Sugar", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "vegetables_mixed", + "schema_version": 2, + "name": "stir-fry vegetables", + "status": "active", + "categories_json": "[\"vegetable\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"vegetables_mixed\",\"name\":\"Frozen stir-fry vegetable blend\",\"status\":\"active\",\"categories\":[\"vegetable\"],\"aliases\":[{\"name\":\"mixed vegetables\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "mixed vegetables", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "vinegar", + "schema_version": 2, + "name": "Vinegar", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "vinegar_5", + "schema_version": 2, + "name": "white vinegar", + "status": "active", + "categories_json": "[\"other\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"vinegar_5\",\"name\":\"Vinegar, distilled\",\"status\":\"active\",\"categories\":[\"other\"],\"aliases\":[{\"name\":\"vinegar 5%\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_vinegar_5_172237\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_172237_90136\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":14.9,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"172237\",\"url\":\"https://fdc.nal.usda.gov/food-details/172237/measures\",\"title\":\"Vinegar, distilled\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 90136.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_172237_90138\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":5,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"172237\",\"url\":\"https://fdc.nal.usda.gov/food-details/172237/measures\",\"title\":\"Vinegar, distilled\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 90138.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_172237_90137\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":238,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"172237\",\"url\":\"https://fdc.nal.usda.gov/food-details/172237/measures\",\"title\":\"Vinegar, distilled\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 90137.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "vinegar 5%", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_172237_90136", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 14.9, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"172237\",\"url\":\"https://fdc.nal.usda.gov/food-details/172237/measures\",\"title\":\"Vinegar, distilled\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 90136.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_172237_90137", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 238, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"172237\",\"url\":\"https://fdc.nal.usda.gov/food-details/172237/measures\",\"title\":\"Vinegar, distilled\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 90137.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_172237_90138", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 5, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"172237\",\"url\":\"https://fdc.nal.usda.gov/food-details/172237/measures\",\"title\":\"Vinegar, distilled\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 90138.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "vinegar_apple_cider", + "schema_version": 2, + "name": "apple cider vinegar", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"vinegar_apple_cider\",\"name\":\"Vinegar, cider\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"apple cider vinegar\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_vinegar_apple_cider_173469\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_173469_92600\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":5,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"173469\",\"url\":\"https://fdc.nal.usda.gov/food-details/173469/measures\",\"title\":\"Vinegar, cider\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 92600.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_173469_92598\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":14.9,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"173469\",\"url\":\"https://fdc.nal.usda.gov/food-details/173469/measures\",\"title\":\"Vinegar, cider\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 92598.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_173469_92599\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":239,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"173469\",\"url\":\"https://fdc.nal.usda.gov/food-details/173469/measures\",\"title\":\"Vinegar, cider\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 92599.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "apple cider vinegar", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_173469_92598", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 14.9, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"173469\",\"url\":\"https://fdc.nal.usda.gov/food-details/173469/measures\",\"title\":\"Vinegar, cider\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 92598.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_173469_92599", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 239, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"173469\",\"url\":\"https://fdc.nal.usda.gov/food-details/173469/measures\",\"title\":\"Vinegar, cider\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 92599.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_173469_92600", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 5, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"173469\",\"url\":\"https://fdc.nal.usda.gov/food-details/173469/measures\",\"title\":\"Vinegar, cider\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 92600.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "vinegar_balsamic", + "schema_version": 2, + "name": "balsamic vinegar", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"vinegar_balsamic\",\"name\":\"Vinegar, balsamic\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"balsamic vinegar\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_vinegar_balsamic_172241\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_172241_90145\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":16,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"172241\",\"url\":\"https://fdc.nal.usda.gov/food-details/172241/measures\",\"title\":\"Vinegar, balsamic\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 90145.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_172241_90147\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":5.3,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"172241\",\"url\":\"https://fdc.nal.usda.gov/food-details/172241/measures\",\"title\":\"Vinegar, balsamic\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 90147.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_172241_90146\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":255,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"172241\",\"url\":\"https://fdc.nal.usda.gov/food-details/172241/measures\",\"title\":\"Vinegar, balsamic\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 90146.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "balsamic vinegar", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_172241_90145", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 16, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"172241\",\"url\":\"https://fdc.nal.usda.gov/food-details/172241/measures\",\"title\":\"Vinegar, balsamic\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 90145.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_172241_90146", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 255, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"172241\",\"url\":\"https://fdc.nal.usda.gov/food-details/172241/measures\",\"title\":\"Vinegar, balsamic\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 90146.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_172241_90147", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 5.3, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"172241\",\"url\":\"https://fdc.nal.usda.gov/food-details/172241/measures\",\"title\":\"Vinegar, balsamic\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 90147.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "vinegar_rice", + "schema_version": 2, + "name": "rice vinegar", + "status": "active", + "categories_json": "[\"acid\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"vinegar_rice\",\"name\":\"MARUKAN, GENUINE BREWED RICE VINEGAR\",\"status\":\"active\",\"categories\":[\"acid\"],\"aliases\":[{\"name\":\"unseasoned rice vinegar\",\"kind\":\"common\"},{\"name\":\"rice vinegar, unseasoned\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_vinegar_rice_2085000\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "rice vinegar, unseasoned", + "kind": "search" + }, + { + "name": "unseasoned rice vinegar", + "kind": "common" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "vodka", + "schema_version": 2, + "name": "vodka", + "status": "active", + "categories_json": "[\"alcohol\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"vodka\",\"name\":\"Alcoholic beverage, distilled, vodka, 80 proof\",\"status\":\"active\",\"categories\":[\"alcohol\"],\"aliases\":[{\"name\":\"vodka\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_vodka_174818\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_174818_94950\",\"from\":{\"quantity\":1,\"unit_id\":\"fluid_ounce_us\"},\"to\":{\"quantity\":27.8,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"174818\",\"url\":\"https://fdc.nal.usda.gov/food-details/174818/measures\",\"title\":\"Alcoholic beverage, distilled, vodka, 80 proof\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 94950.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "vodka", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_174818_94950", + "from_quantity": 1, + "from_unit_id": "fluid_ounce_us", + "to_quantity": 27.8, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"174818\",\"url\":\"https://fdc.nal.usda.gov/food-details/174818/measures\",\"title\":\"Alcoholic beverage, distilled, vodka, 80 proof\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 94950.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "walnut", + "schema_version": 2, + "name": "walnuts", + "status": "active", + "categories_json": "[\"inclusion\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"walnut\",\"name\":\"Nuts, walnuts, English, halves, raw\",\"status\":\"active\",\"categories\":[\"inclusion\"],\"aliases\":[{\"name\":\"walnut\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_walnut_2346394\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "walnut", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "walnuts_or_pecans", + "schema_version": 2, + "name": "Walnuts Or Pecans", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "water", + "schema_version": 2, + "name": "water", + "status": "active", + "categories_json": "[\"liquid\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"water\",\"name\":\"water\",\"status\":\"active\",\"categories\":[\"liquid\"],\"aliases\":[],\"density_measurements\":[{\"id\":\"water_room_temperature\",\"mass\":{\"quantity\":100,\"unit_id\":\"gram\"},\"volume\":{\"quantity\":100,\"unit_id\":\"milliliter\"},\"temperature_c\":20,\"state\":\"liquid, room temperature; culinary approximation\",\"source\":{\"source_type\":\"manual\",\"title\":\"Culinary 1 g/mL approximation\",\"reviewed\":true,\"notes\":\"Rounded working conversion; not intended as a laboratory density measurement.\"}}],\"nutrition_mapping_ids\":[],\"allergen_mapping_ids\":[],\"measure_conversions\":[]}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [ + { + "id": "water_room_temperature", + "mass_quantity": 100, + "mass_unit_id": "gram", + "volume_quantity": 100, + "volume_unit_id": "milliliter", + "temperature_c": 20, + "state": "liquid, room temperature; culinary approximation", + "source_json": "{\"source_type\":\"manual\",\"title\":\"Culinary 1 g/mL approximation\",\"reviewed\":true,\"notes\":\"Rounded working conversion; not intended as a laboratory density measurement.\"}" + } + ] + }, + { + "id": "water_ice", + "schema_version": 2, + "name": "ice", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"water_ice\",\"name\":\"Water, bottled, generic\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"water ice\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_water_ice_174158\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_174158_93846\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":237,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"174158\",\"url\":\"https://fdc.nal.usda.gov/food-details/174158/measures\",\"title\":\"Water, bottled, generic\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 93846.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_174158_93845\",\"from\":{\"quantity\":1,\"unit_id\":\"fluid_ounce_us\"},\"to\":{\"quantity\":29.6,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"174158\",\"url\":\"https://fdc.nal.usda.gov/food-details/174158/measures\",\"title\":\"Water, bottled, generic\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 93845.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "water ice", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_174158_93845", + "from_quantity": 1, + "from_unit_id": "fluid_ounce_us", + "to_quantity": 29.6, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"174158\",\"url\":\"https://fdc.nal.usda.gov/food-details/174158/measures\",\"title\":\"Water, bottled, generic\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 93845.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_174158_93846", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 237, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"174158\",\"url\":\"https://fdc.nal.usda.gov/food-details/174158/measures\",\"title\":\"Water, bottled, generic\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 93846.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "watermelon_puree", + "schema_version": 2, + "name": "Watermelon Puree", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "wheat_germ", + "schema_version": 2, + "name": "Wheat Germ", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "wheat_gluten_70_80", + "schema_version": 2, + "name": "vital wheat gluten", + "status": "active", + "categories_json": "[\"other\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"wheat_gluten_70_80\",\"name\":\"Vital wheat gluten\",\"status\":\"active\",\"categories\":[\"other\"],\"aliases\":[{\"name\":\"wheat gluten 70-80%\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_wheat_gluten_70_80_168147\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "wheat gluten 70-80%", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "white_chocolate", + "schema_version": 2, + "name": "white chocolate", + "status": "active", + "categories_json": "[\"inclusion\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"white_chocolate\",\"name\":\"Candies, white chocolate\",\"status\":\"active\",\"categories\":[\"inclusion\"],\"aliases\":[{\"name\":\"white chocolate\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_white_chocolate_167571\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_167571_81661\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":14,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"167571\",\"url\":\"https://fdc.nal.usda.gov/food-details/167571/measures\",\"title\":\"Candies, white chocolate\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 81661.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_167571_81662\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":170,\"unit_id\":\"gram\"},\"state\":\"chips\",\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"167571\",\"url\":\"https://fdc.nal.usda.gov/food-details/167571/measures\",\"title\":\"Candies, white chocolate\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 81662.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "white chocolate", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_167571_81661", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 14, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"167571\",\"url\":\"https://fdc.nal.usda.gov/food-details/167571/measures\",\"title\":\"Candies, white chocolate\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 81661.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_167571_81662", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 170, + "to_unit_id": "gram", + "state": "chips", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"167571\",\"url\":\"https://fdc.nal.usda.gov/food-details/167571/measures\",\"title\":\"Candies, white chocolate\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 81662.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "white_chocolate_chips", + "schema_version": 2, + "name": "White Chocolate Chips", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "white_chocolate_p_te_glacer", + "schema_version": 2, + "name": "White Chocolate Pâte À Glacer", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "white_dessert_wine", + "schema_version": 2, + "name": "White Dessert Wine", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "white_pepper", + "schema_version": 2, + "name": "ground white pepper", + "status": "active", + "categories_json": "[\"spice\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"white_pepper\",\"name\":\"Spices, pepper, white\",\"status\":\"active\",\"categories\":[\"spice\"],\"aliases\":[{\"name\":\"white pepper\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_white_pepper_170933\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_170933_87567\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":7.1,\"unit_id\":\"gram\"},\"state\":\"ground\",\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"170933\",\"url\":\"https://fdc.nal.usda.gov/food-details/170933/measures\",\"title\":\"Spices, pepper, white\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87567.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_170933_87566\",\"from\":{\"quantity\":1,\"unit_id\":\"teaspoon_us\"},\"to\":{\"quantity\":2.4,\"unit_id\":\"gram\"},\"state\":\"ground\",\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"170933\",\"url\":\"https://fdc.nal.usda.gov/food-details/170933/measures\",\"title\":\"Spices, pepper, white\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87566.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "white pepper", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_170933_87566", + "from_quantity": 1, + "from_unit_id": "teaspoon_us", + "to_quantity": 2.4, + "to_unit_id": "gram", + "state": "ground", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170933\",\"url\":\"https://fdc.nal.usda.gov/food-details/170933/measures\",\"title\":\"Spices, pepper, white\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87566.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_170933_87567", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 7.1, + "to_unit_id": "gram", + "state": "ground", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170933\",\"url\":\"https://fdc.nal.usda.gov/food-details/170933/measures\",\"title\":\"Spices, pepper, white\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 87567.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "white_port", + "schema_version": 2, + "name": "White Port", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "white_rice_flour", + "schema_version": 2, + "name": "White Rice Flour", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "white_vinegar", + "schema_version": 2, + "name": "White Vinegar", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "whole_allspice", + "schema_version": 2, + "name": "Whole Allspice", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "whole_almonds", + "schema_version": 2, + "name": "Whole Almonds", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "whole_cloves", + "schema_version": 2, + "name": "Whole Cloves", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "whole_fat_yogurt", + "schema_version": 2, + "name": "Whole Fat Yogurt", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "whole_nutmeg", + "schema_version": 2, + "name": "Whole Nutmeg", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "whole_nuts", + "schema_version": 2, + "name": "Whole Nuts", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "whole_oranges", + "schema_version": 2, + "name": "Whole Oranges", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "whole_pecans", + "schema_version": 2, + "name": "Whole Pecans", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "whole_walnuts", + "schema_version": 2, + "name": "Whole Walnuts", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "worcestershire_sauce", + "schema_version": 2, + "name": "Worcestershire Sauce", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "worschestershire_sauce", + "schema_version": 2, + "name": "worcestershire sauce", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"worschestershire_sauce\",\"name\":\"Sauce, worcestershire\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"worschestershire sauce\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_worschestershire_sauce_171610\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[{\"id\":\"usda_171610_89071\",\"from\":{\"quantity\":1,\"unit_id\":\"cup_us\"},\"to\":{\"quantity\":275,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171610\",\"url\":\"https://fdc.nal.usda.gov/food-details/171610/measures\",\"title\":\"Sauce, worcestershire\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 89071.\",\"reviewed_at\":\"2026-08-12\"}},{\"id\":\"usda_171610_89070\",\"from\":{\"quantity\":1,\"unit_id\":\"tablespoon_us\"},\"to\":{\"quantity\":17,\"unit_id\":\"gram\"},\"source\":{\"source_type\":\"usda_fdc\",\"external_id\":\"171610\",\"url\":\"https://fdc.nal.usda.gov/food-details/171610/measures\",\"title\":\"Sauce, worcestershire\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 89070.\",\"reviewed_at\":\"2026-08-12\"}}]}", + "deleted_at": null, + "aliases": [ + { + "name": "worschestershire sauce", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [ + { + "id": "usda_171610_89070", + "from_quantity": 1, + "from_unit_id": "tablespoon_us", + "to_quantity": 17, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171610\",\"url\":\"https://fdc.nal.usda.gov/food-details/171610/measures\",\"title\":\"Sauce, worcestershire\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 89070.\",\"reviewed_at\":\"2026-08-12\"}" + }, + { + "id": "usda_171610_89071", + "from_quantity": 1, + "from_unit_id": "cup_us", + "to_quantity": 275, + "to_unit_id": "gram", + "state": null, + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171610\",\"url\":\"https://fdc.nal.usda.gov/food-details/171610/measures\",\"title\":\"Sauce, worcestershire\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"notes\":\"FoodData Central portion ID 89071.\",\"reviewed_at\":\"2026-08-12\"}" + } + ], + "density_measurements": [] + }, + { + "id": "xanthan_gum", + "schema_version": 2, + "name": "xanthan gum", + "status": "active", + "categories_json": "[\"stabilizer\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"xanthan_gum\",\"name\":\"XANTHAN GUM\",\"status\":\"active\",\"categories\":[\"stabilizer\"],\"aliases\":[],\"nutrition_mapping_ids\":[\"usda_fdc_xanthan_gum_1991838\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "yeast_fresh", + "schema_version": 2, + "name": "Fresh Yeast", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "yield_two_9_inch_loaf_pans", + "schema_version": 2, + "name": "Yield: Two 9-Inch Loaf Pans", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "yogurt", + "schema_version": 2, + "name": "plain whole-milk yogurt", + "status": "active", + "categories_json": "[\"unknown\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"yogurt\",\"name\":\"Yogurt, plain, whole milk\",\"status\":\"active\",\"categories\":[\"unknown\"],\"aliases\":[{\"name\":\"plain whole-milk yogurt\",\"kind\":\"common\"},{\"name\":\"yogurt, plain whole-milk\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_yogurt_2259793\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "plain whole-milk yogurt", + "kind": "common" + }, + { + "name": "yogurt, plain whole-milk", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "yuzu_juice", + "schema_version": 2, + "name": "Yuzu Juice", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "zaatar", + "schema_version": 2, + "name": "za'atar", + "status": "active", + "categories_json": "[\"spice\"]", + "tags_json": "[]", + "description": null, + "source_json": "{\"schema_version\":2,\"id\":\"zaatar\",\"name\":\"LEBANON ZAATAR THYME SEASONING\",\"status\":\"active\",\"categories\":[\"spice\"],\"aliases\":[{\"name\":\"za'atar seasoning blend, generic\",\"kind\":\"search\"}],\"nutrition_mapping_ids\":[\"usda_fdc_zaatar_2072928\"],\"allergen_mapping_ids\":[]}", + "deleted_at": null, + "aliases": [ + { + "name": "za'atar seasoning blend, generic", + "kind": "search" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "zest", + "schema_version": 2, + "name": "Zest", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, + { + "id": "zucchini", + "schema_version": 2, + "name": "Zucchini", + "status": "active", + "categories_json": "[\"pantry\",\"baking\",\"imported_stub\"]", + "tags_json": "[]", + "description": null, + "source_json": "{}", + "deleted_at": null, + "aliases": [], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + } + ], + "recipes": [ + { + "id": "0_recipe_test", + "schema_version": 2, + "save_version": 14, + "title": "0: Frozen Chicken Beans Rice Cheese", + "summary": null, + "categories_json": "[]", + "tags_json": "[]", + "yield_quantity": 1005, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": null, + "scaling_mode": "amount", + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{\"schema_version\":2,\"id\":\"0_recipe_test\",\"title\":\"0-recipe-test\",\"categories\":[],\"tags\":[],\"yield\":{\"amount\":{\"quantity\":1000,\"unit_id\":\"gram\"}},\"scaling\":{\"mode\":\"amount\"},\"components\":[{\"id\":\"component_74d895d5\",\"name\":\"main\",\"items\":[{\"id\":\"line_7ea18d07\",\"reference\":{\"ingredient_id\":\"basil\"},\"amount\":{\"quantity\":300,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true}]}],\"steps\":[{\"id\":\"step_1\",\"order\":1,\"instruction\":\"place it into the dog shed\"},{\"id\":\"step_3ef49eca\",\"order\":2,\"instruction\":\"assemble the lego set\"},{\"id\":\"step_4cd4eb90\",\"order\":3,\"instruction\":\"become sad\"}]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "component_74d895d5", + "position": 1, + "name": "main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "component_74d895d5", + "id": "line_cfdc1fbe", + "position": 1, + "ingredient_id": "chicken_breast", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "pound", + "percentage": 84.37477823578486, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "component_74d895d5", + "id": "line_79064997", + "position": 2, + "ingredient_id": "rice", + "subrecipe_id": null, + "quantity": 320, + "unit_id": "gram", + "percentage": 11.904930867973441, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "component_74d895d5", + "id": "line_4649d3de", + "position": 3, + "ingredient_id": "pinto_beans_dry_uncooked", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 3.7202908962417007, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "component_74d895d5", + "id": "line_31cca402", + "position": 4, + "ingredient_id": "mozzarella_cheese", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "component_74d895d5", + "id": "line_3d8f21ed", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "place it into the dog shed", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3ef49eca", + "position": 2, + "instruction": "assemble the lego set", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4cd4eb90", + "position": 3, + "instruction": "become sad", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "0_recipe_test_copy", + "schema_version": 2, + "save_version": 1, + "title": "0: Frozen Chicken Beans Rice Cheese Copy", + "summary": null, + "categories_json": "[]", + "tags_json": "[]", + "yield_quantity": 1005, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": null, + "scaling_mode": "amount", + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{\"schema_version\":2,\"id\":\"0_recipe_test\",\"title\":\"0-recipe-test\",\"categories\":[],\"tags\":[],\"yield\":{\"amount\":{\"quantity\":1000,\"unit_id\":\"gram\"}},\"scaling\":{\"mode\":\"amount\"},\"components\":[{\"id\":\"component_74d895d5\",\"name\":\"main\",\"items\":[{\"id\":\"line_7ea18d07\",\"reference\":{\"ingredient_id\":\"basil\"},\"amount\":{\"quantity\":300,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true}]}],\"steps\":[{\"id\":\"step_1\",\"order\":1,\"instruction\":\"place it into the dog shed\"},{\"id\":\"step_3ef49eca\",\"order\":2,\"instruction\":\"assemble the lego set\"},{\"id\":\"step_4cd4eb90\",\"order\":3,\"instruction\":\"become sad\"}]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "component_74d895d5", + "position": 1, + "name": "main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "component_74d895d5", + "id": "line_cfdc1fbe", + "position": 1, + "ingredient_id": "chicken_breast", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "pound", + "percentage": 84.37477823578486, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "component_74d895d5", + "id": "line_79064997", + "position": 2, + "ingredient_id": "rice", + "subrecipe_id": null, + "quantity": 320, + "unit_id": "gram", + "percentage": 11.904930867973441, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "component_74d895d5", + "id": "line_4649d3de", + "position": 3, + "ingredient_id": "pinto_beans_dry_uncooked", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 3.7202908962417007, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "component_74d895d5", + "id": "line_31cca402", + "position": 4, + "ingredient_id": "mozzarella_cheese", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "component_74d895d5", + "id": "line_3d8f21ed", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "place it into the dog shed", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3ef49eca", + "position": 2, + "instruction": "assemble the lego set", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4cd4eb90", + "position": 3, + "instruction": "become sad", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "alkaline_soy_meat_marinade", + "schema_version": 2, + "save_version": 1, + "title": "Alkaline Soy Meat Marinade", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"marinade\",\"chicken\"]", + "yield_quantity": 107.48, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"alkaline_soy_meat_marinade\",\"title\":\"Alkaline Soy Meat Marinade\",\"categories\":[\"sauce\"],\"tags\":[\"marinade\",\"chicken\"],\"yield\":{\"amount\":{\"quantity\":107.48,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_soy_sauce_light\",\"reference\":{\"ingredient_id\":\"soy_sauce_light\"},\"amount\":{\"quantity\":6.38,\"unit_id\":\"gram\"},\"percentage\":6.38},{\"id\":\"line_03_baking_soda\",\"reference\":{\"ingredient_id\":\"baking_soda\"},\"amount\":{\"quantity\":1.1,\"unit_id\":\"gram\"},\"percentage\":1.1}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Mix until dissolved.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_soy_sauce_light", + "position": 2, + "ingredient_id": "soy_sauce_light", + "subrecipe_id": null, + "quantity": 6.38, + "unit_id": "gram", + "percentage": 6.38, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_baking_soda", + "position": 3, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 1.1, + "unit_id": "gram", + "percentage": 1.1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Mix until dissolved.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "all_butter_pie_dough", + "schema_version": 2, + "save_version": 6, + "title": "All-Butter Pie Dough", + "summary": "Yield: one 9-inch double crust deep-dish pie", + "categories_json": "[\"doughs\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"doughs\",\"classic\"]", + "yield_quantity": 900, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one 9-inch double crust deep-dish pie\",\"To inhibit gluten development, keep all ingredients and mixing bowl as cold as possible.\",\"The exact amount of hydration needed can vary depending upon the humidity in the air and the type of flour used.\",\"The dough can be refrigerated for 3 days or frozen up to 2 months.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 425, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_salt", + "position": 2, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 1.41, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 28, + "unit_id": "gram", + "percentage": 6.59, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_butter", + "position": 4, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 338, + "unit_id": "gram", + "percentage": 79.53, + "basis_member": 0, + "optional": 0, + "notes": "¾-inch cubes, cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_water", + "position": 5, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": 21.18, + "basis_member": 0, + "optional": 0, + "notes": "ice cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_white_vinegar", + "position": 6, + "ingredient_id": "white_vinegar", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 3.53, + "basis_member": 0, + "optional": 0, + "notes": "white or cider", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix the flour, salt, sugar, and butter until the butter is ¼-inch, or \"pea sized.\"", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Combine the ice water and vinegar and add ½ the liquid to the dry ingredients and mix for 10 seconds on low speed to hydrate.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the remaining liquid and mix until the dough is shaggy but holds together when pressed between two fingers.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Turn the dough out onto a lightly floured work surface. Gently shape into desired sized rounds.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Wrap the dough in plastic wrap and refrigerate for a minimum of 1 hour, preferably overnight.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "almond_bavarian_cream", + "schema_version": 2, + "save_version": 6, + "title": "Almond Bavarian Cream", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 1655, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 650, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_amaretto", + "position": 4, + "ingredient_id": "amaretto", + "subrecipe_id": null, + "quantity": 65, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_almond_extract", + "position": 5, + "ingredient_id": "almond_extract", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_milk_whole", + "position": 6, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_heavy_cream", + "position": 7, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_almond_paste", + "position": 8, + "ingredient_id": "almond_paste", + "subrecipe_id": null, + "quantity": 95, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_sugar", + "position": 9, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_salt", + "position": 10, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_egg_yolk", + "position": 11, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks, add the amaretto and extract; set aside in the refrigerator.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a saucepan, combine the milk, cream, ½ of the sugar, and almond paste. Bring the mixture to a scald, whisking to dissolve the almond paste. Meanwhile, whisk the egg yolks, the other ½ of the sugar, and salt until light. Temper about ⅓ of the almond milk mixture into the yolk mixture. Return everything back to the saucepan and cook on medium-low heat until the mixture coats the back of a wooden spoon.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Once cooked, remove from heat, add the bloomed and drained gelatin, and whisk to dissolve.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Strain through a fine-mesh strainer and cool to about 65°F (18°C), or until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the whipped cream into the cooled almond crème anglaise.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "almond_cream_with_almond_flour", + "schema_version": 2, + "save_version": 6, + "title": "Almond Cream with Almond Flour", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1872, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_confectioners_sugar", + "position": 2, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_almond_flour", + "position": 3, + "ingredient_id": "almond_flour", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_whole", + "position": 5, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_vanilla_extract", + "position": 6, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix the butter, sugar, flour, and salt until light, fluffy and smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the eggs slowly, thoroughly incorporating each egg before adding the next, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the extract.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "almond_cream_with_almond_paste", + "schema_version": 2, + "save_version": 6, + "title": "Almond Cream with Almond Paste", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1870, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_almond_paste", + "position": 2, + "ingredient_id": "almond_paste", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_whole", + "position": 3, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_cornstarch", + "position": 4, + "ingredient_id": "cornstarch", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_vanilla_extract", + "position": 6, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix the butter and almond paste until light, fluffy, and smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the eggs slowly, thoroughly incorporating each egg before adding the next, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the cornstarch and salt, followed by the extract.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "almond_financier", + "schema_version": 2, + "save_version": 6, + "title": "Almond Financier", + "summary": null, + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 1070, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 260, + "unit_id": "gram", + "percentage": 216.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 260, + "unit_id": "gram", + "percentage": 216.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_flour_all_purpose", + "position": 3, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_almond_flour", + "position": 4, + "ingredient_id": "almond_flour", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 83.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 1.04, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whites", + "position": 6, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 260, + "unit_id": "gram", + "percentage": 216.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_vanilla_extract", + "position": 7, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 8.33, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_honey", + "position": 8, + "ingredient_id": "honey", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Make beurre noisette with the butter. Strain through a fine-mesh strainer and set aside to cool.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Blend the sugar, flours and salt in a bowl In a mixer fitted with a paddle attachment; then mix until well combined.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "mixing_bowl", + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Combine the egg whites and extract. Add to the dry ingredients gradually and mix until just combined; do not over mix.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the honey and mix just until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Add the beurre noisette in 3 additions and mix until incorporated.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Chill until firm.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Bake at 350°F (177ºC) until the cake springs back to the touch and a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "almond_milk_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Almond Milk Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 860, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "almond_milk", + "position": 1, + "name": "Almond Milk", + "notes_json": "[]" + }, + { + "id": "almond_milk_mousse", + "position": 2, + "name": "Almond Milk Mousse", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "almond_milk", + "id": "line_01_almond", + "position": 1, + "ingredient_id": "almond", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "sliced", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "almond_milk", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "almond_milk", + "id": "line_03_milk_whole", + "position": 3, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "almond_milk", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "almond_milk", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "almond_milk_mousse", + "id": "line_06_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 13, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "almond_milk_mousse", + "id": "line_07_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 65, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "almond_milk_mousse", + "id": "line_08_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "almond_milk_mousse", + "id": "line_09_amaretto", + "position": 4, + "ingredient_id": "amaretto", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "almond_milk_mousse", + "id": "line_10_almond_milk", + "position": 5, + "ingredient_id": "almond_milk", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "almond_milk_mousse", + "id": "line_11_egg_whites", + "position": 6, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "almond_milk_mousse", + "id": "line_12_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Almond Milk:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Toast the almonds. Allow to cool, then pulse in a food processor until finely ground.", + "critical_control_point": 0, + "equipment_ids": [ + "food_processor" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a saucepan, bring the water, milk, sugar, salt, and ground almonds to a boil. Set aside to steep until cool, then refrigerate overnight.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Strain the mixture through a fine-mesh strainer, pressing against the almonds to extract as much almond milk as possible.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Almond Milk Mousse:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Warm the almond milk to 110°F (43°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Melt the bloomed and drained gelatin with the amaretto and whisk into the warmed almond milk. Cool to about 65°F (18°C), or until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Make a Swiss meringue with the egg whites and sugar; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_11", + "position": 11, + "instruction": "Fold the cooled milk/gelatin mixture into the meringue, followed by the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "almond_pate_sable", + "schema_version": 2, + "save_version": 6, + "title": "Almond Pâte Sablé", + "summary": null, + "categories_json": "[\"doughs\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"doughs\",\"classic\"]", + "yield_quantity": 1208, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"This dough is good for tarts as well as cookies.\",\"The dough can be refrigerated for 3 days or frozen up to 2 months.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 350, + "unit_id": "gram", + "percentage": 70, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_confectioners_sugar", + "position": 2, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 188, + "unit_id": "gram", + "percentage": 37.6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_almond_flour", + "position": 3, + "ingredient_id": "almond_flour", + "subrecipe_id": null, + "quantity": 63, + "unit_id": "gram", + "percentage": 12.6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_whole", + "position": 5, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 20, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_almond_extract", + "position": 6, + "ingredient_id": "almond_extract", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.5, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_flour_cake", + "position": 7, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter, sugar, almond flour, and salt.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the eggs one at a time, followed by the extract, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the cake flour and mix just until combined.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "almond_pate_sucree", + "schema_version": 2, + "save_version": 6, + "title": "Almond Pâte Sucrée", + "summary": null, + "categories_json": "[\"doughs\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"doughs\",\"classic\"]", + "yield_quantity": 1057, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"The dough can be refrigerated for 3 days or frozen up to 2 months.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": 51.06, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_confectioners_sugar", + "position": 2, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 180, + "unit_id": "gram", + "percentage": 38.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.06, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_almond_flour", + "position": 4, + "ingredient_id": "almond_flour", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 12.77, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_whole", + "position": 5, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 21.28, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_almond_extract", + "position": 6, + "ingredient_id": "almond_extract", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.53, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_flour_cake", + "position": 7, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 470, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter, sugar, and salt.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the almond flour to combine.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the eggs one at a time, followed by the extract, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the cake flour, being careful not to over mix the dough.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Wrap the dough in plastic wrap and refrigerate for a minimum of 1 hour, preferably overnight.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "almond_toffee", + "schema_version": 2, + "save_version": 6, + "title": "Almond Toffee", + "summary": "Yield: One full size silicone baking mat", + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1342.5, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: One full size silicone baking mat\",\"The temperature in this recipe is meant to be a guideline only. You can cook the toffee more or less to taste just like any caramel.\",\"Be careful to avoid scraping the bottom of the pan while cooking, as to prevent incorporating any burnt pieces when adding the nuts to the toffee.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 340, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 680, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_light_corn_syrup", + "position": 3, + "ingredient_id": "light_corn_syrup", + "subrecipe_id": null, + "quantity": 115, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_vanilla_bean", + "position": 4, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "seeds (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sliced_almonds", + "position": 5, + "ingredient_id": "sliced_almonds", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "toasted", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, melt the butter over medium heat; whisk in the sugar to emulsify. Bring to a boil, then add the corn syrup.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Cook the mixture to 293°F (145°C), or until deep amber in color.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Stir in the vanilla bean seeds, toasted almonds, and salt. Mix quickly just until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Immediately pour the toffee onto a silicone baking mat and spread evenly to ¼-inch thick with an oiled spatula.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "american_buttercream", + "schema_version": 2, + "save_version": 6, + "title": "American Buttercream", + "summary": null, + "categories_json": "[\"frostings_glazes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frostings_glazes\",\"classic\"]", + "yield_quantity": 2700, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"American buttercream frostings are sweet, but its neutral flavor pairs well with almost any cake.\",\"Food coloring can be added as desired.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 908, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_salt", + "position": 2, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_confectioners_sugar", + "position": 3, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 1725, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "sifted", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_vanilla_extract", + "position": 4, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_heavy_cream", + "position": 5, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "optional", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter and salt.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add ½ of the powdered sugar and the extract and mix well.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the remaining sugar and mix for several minutes until the desired consistency is reached.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Adjust the consistency with the cream if necessary.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Flavor as desired.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Use the buttercream immediately.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "amorosos_roll", + "schema_version": 2, + "save_version": 1, + "title": "Amoroso's Roll", + "summary": null, + "categories_json": "[\"bread\"]", + "tags_json": "[\"roll\",\"copycat\",\"amorosos\"]", + "yield_quantity": 172.4, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"amorosos_roll\",\"title\":\"Amoroso's Roll\",\"categories\":[\"bread\"],\"tags\":[\"roll\",\"copycat\",\"amorosos\"],\"yield\":{\"amount\":{\"quantity\":172.4,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_bread\",\"reference\":{\"ingredient_id\":\"flour_bread\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":60,\"unit_id\":\"gram\"},\"percentage\":60},{\"id\":\"line_03_oil\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":4,\"unit_id\":\"gram\"},\"percentage\":4},{\"id\":\"line_04_wheat_gluten_70_80\",\"reference\":{\"ingredient_id\":\"wheat_gluten_70_80\"},\"amount\":{\"quantity\":3.1,\"unit_id\":\"gram\"},\"percentage\":3.1},{\"id\":\"line_05_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":2.3,\"unit_id\":\"gram\"},\"percentage\":2.3},{\"id\":\"line_06_instant_yeast\",\"reference\":{\"ingredient_id\":\"instant_yeast\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_07_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":1,\"unit_id\":\"gram\"},\"percentage\":1}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"TODO: Add complete preparation instructions for this recipe.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 60, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_oil", + "position": 3, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": 4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_wheat_gluten_70_80", + "position": 4, + "ingredient_id": "wheat_gluten_70_80", + "subrecipe_id": null, + "quantity": 3.1, + "unit_id": "gram", + "percentage": 3.1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.3, + "unit_id": "gram", + "percentage": 2.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_instant_yeast", + "position": 6, + "ingredient_id": "instant_yeast", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "TODO: Add complete preparation instructions for this recipe.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "anisette_biscotti", + "schema_version": 2, + "save_version": 6, + "title": "Anisette Biscotti", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 2016, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"600 g (21.2 oz) logs will yield approximately 3½-inch sized biscotti.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_cake", + "position": 1, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 704, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 575, + "unit_id": "gram", + "percentage": 81.68, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sliced_almonds", + "position": 3, + "ingredient_id": "sliced_almonds", + "subrecipe_id": null, + "quantity": 157, + "unit_id": "gram", + "percentage": 22.3, + "basis_member": 0, + "optional": 0, + "notes": "toasted", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_cornmeal", + "position": 4, + "ingredient_id": "cornmeal", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 5.68, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_anise_seeds", + "position": 5, + "ingredient_id": "anise_seeds", + "subrecipe_id": null, + "quantity": 23, + "unit_id": "gram", + "percentage": 3.27, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_baking_powder", + "position": 6, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 2.13, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 0.71, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_butter", + "position": 8, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 32.24, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_egg_whole", + "position": 9, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 28.41, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_anisette_liqueur", + "position": 10, + "ingredient_id": "anisette_liqueur", + "subrecipe_id": null, + "quantity": 70, + "unit_id": "gram", + "percentage": 9.94, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the dry ingredients with the softened butter until the butter is well incorporated.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the eggs and anisette and mix until combined, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Roll the dough into desired sized logs and refrigerate or freeze.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Brush the logs with egg whites and sprinkle with granulated sugar before baking.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 325°F (163°C) until evenly browned and firm to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Slice the biscotti into desired sized slices and place on sheet pans.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Bake a second time at 225°F (107°C) until dry.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "apple_blondies", + "schema_version": 2, + "save_version": 6, + "title": "Apple Blondies", + "summary": "Yield: one half sheet pan", + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 2340, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one half sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_brown_sugar", + "position": 1, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 450, + "unit_id": "gram", + "percentage": 95.95, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_invert_sugar", + "position": 2, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 10.66, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_apple_compote_puree", + "position": 3, + "ingredient_id": "apple_compote_puree", + "subrecipe_id": null, + "quantity": 313, + "unit_id": "gram", + "percentage": 66.74, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 53.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_apple_brandy", + "position": 5, + "ingredient_id": "apple_brandy", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 1.49, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_vanilla_extract", + "position": 6, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.53, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_lemon_zest", + "position": 7, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.53, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_butter", + "position": 8, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 284, + "unit_id": "gram", + "percentage": 60.55, + "basis_member": 0, + "optional": 0, + "notes": "melted", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_flour_cake", + "position": 9, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 469, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_baking_powder", + "position": 10, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": 5.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_salt", + "position": 11, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 2.13, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_cinnamon", + "position": 12, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": 0.85, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_nutmeg", + "position": 13, + "ingredient_id": "nutmeg", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 0.27, + "basis_member": 0, + "optional": 0, + "notes": "ground (¼ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_14_apples", + "position": 14, + "ingredient_id": "apples", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "each", + "percentage": 0.85, + "basis_member": 0, + "optional": 0, + "notes": "¼-inch dice", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_15_walnut", + "position": 15, + "ingredient_id": "walnut", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": 15.99, + "basis_member": 0, + "optional": 0, + "notes": "coarsely chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a whisk attachment, whisk the sugars, puree, eggs, brandy, extract, and zest until light and thick.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Gradually whisk in the warm butter until homogenous.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the sifted dry ingredients and mix until streaky.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Fold in the diced apples until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Spread evenly onto a half sheet pan and sprinkle the walnuts on top of the batter.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 325°F (163°C) until a skewer inserted comes out clean, or with a few crumbs.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "apple_cider_doughnuts", + "schema_version": 2, + "save_version": 6, + "title": "Apple Cider Doughnuts", + "summary": "Yield: thirty-two 50 g (1.8 oz) doughnuts", + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breakfast\",\"classic\"]", + "yield_quantity": 1960, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: thirty-two 50 g (1.8 oz) doughnuts\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + }, + { + "id": "glaze", + "position": 2, + "name": "Glaze", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "glaze", + "id": "line_13_confectioners_sugar", + "position": 1, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 230, + "unit_id": "gram", + "percentage": 27.06, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "glaze", + "id": "line_14_cinnamon", + "position": 2, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 0.15, + "basis_member": 0, + "optional": 0, + "notes": "ground (¼ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "glaze", + "id": "line_15_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": 0.07, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "glaze", + "id": "line_16_apple_cider", + "position": 4, + "ingredient_id": "apple_cider", + "subrecipe_id": null, + "quantity": 45, + "unit_id": "gram", + "percentage": 5.29, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "glaze", + "id": "line_17_apple_brandy", + "position": 5, + "ingredient_id": "apple_brandy", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 1.76, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_01_apple_cider", + "position": 1, + "ingredient_id": "apple_cider", + "subrecipe_id": null, + "quantity": 475, + "unit_id": "gram", + "percentage": 55.88, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_flour_all_purpose", + "position": 2, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 850, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_baking_powder", + "position": 3, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 18, + "unit_id": "gram", + "percentage": 2.12, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_baking_soda", + "position": 4, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 9, + "unit_id": "gram", + "percentage": 1.06, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 0.59, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_cinnamon", + "position": 6, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 0.59, + "basis_member": 0, + "optional": 0, + "notes": "ground (1 tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_nutmeg", + "position": 7, + "ingredient_id": "nutmeg", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 0.15, + "basis_member": 0, + "optional": 0, + "notes": "ground (¼ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_butter", + "position": 8, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 113, + "unit_id": "gram", + "percentage": 13.29, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_sugar", + "position": 9, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 47.06, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_egg_whole", + "position": 10, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 23.53, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_apple_cider_reduction", + "position": 11, + "ingredient_id": "apple_cider_reduction", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": 14.12, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_buttermilk", + "position": 12, + "ingredient_id": "buttermilk", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 26.71, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Doughnut:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Gently reduce the apple cider by 75% to 120 g (4.2 oz). Set aside to cool.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Sift the dry ingredients and set aside.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter and sugar until smooth and aerated.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Add the eggs one at a time, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Gradually add the reduced apple cider and the buttermilk, mixing until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Add the dry ingredients and mix just until the dough comes together.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Dust a parchment-lined sheet pan with flour and turn the dough out onto the pan. Flour the top of the dough and pat it down until it is ½-inch thick. Use more flour if the dough is sticky.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Transfer the dough to the freezer until firm (about 30 minutes).", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Cut into the doughnuts using a doughnut cutter or use two sizes of round cutters to create the hole.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_11", + "position": 11, + "instruction": "Refrigerate for 30 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_12", + "position": 12, + "instruction": "Add enough oil to a deep-sided pan to measure the depth of about 3-inches. Over medium heat, bring the temperature of the oil to 360°F (182°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_13", + "position": 13, + "instruction": "Carefully add a few doughnuts to the oil, being careful not to crowd the pan. Fry until golden brown. Turn the doughnuts over and fry until the other side is golden. Drain on paper towels.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_14", + "position": 14, + "instruction": "Glaze:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_15", + "position": 15, + "instruction": "Sift the powdered sugar, cinnamon, and salt.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_16", + "position": 16, + "instruction": "Whisk the cider and brandy into the powdered sugar mixture until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_17", + "position": 17, + "instruction": "The old fashioned way of glazing doughnuts is to dip them by hand. The trick is to have the glaze thick enough to coat the doughnut in one application. If either the glaze or the doughnuts are too warm, the glaze will run off.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "apple_cider_sabayon", + "schema_version": 2, + "save_version": 6, + "title": "Apple Cider Sabayon", + "summary": null, + "categories_json": "[\"sauces_liquids\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sauces_liquids\",\"classic\"]", + "yield_quantity": 690, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_egg_yolk", + "position": 2, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 160, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_apple_cider", + "position": 4, + "ingredient_id": "apple_cider", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_apple_brandy", + "position": 5, + "ingredient_id": "apple_brandy", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Whip the cream to soft peaks and set aside in the refrigerator.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the egg yolks, sugar, cider, and brandy over a water bath until thickened and a ribbon is achieved.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk the sabayon over an ice bath until cold.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Fold the whipped cream into the sabayon.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "apple_cider_sauce", + "schema_version": 2, + "save_version": 6, + "title": "Apple Cider Sauce", + "summary": null, + "categories_json": "[\"sauces_liquids\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sauces_liquids\",\"classic\"]", + "yield_quantity": 1150, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_apple_cider", + "position": 1, + "ingredient_id": "apple_cider", + "subrecipe_id": null, + "quantity": 1500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_vanilla_bean", + "position": 2, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "split & scraped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_cinnamon_sticks", + "position": 3, + "ingredient_id": "cinnamon_sticks", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_reduced_apple_cider", + "position": 4, + "ingredient_id": "reduced_apple_cider", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 130, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_apple_brandy", + "position": 6, + "ingredient_id": "apple_brandy", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_xanthan_gum", + "position": 7, + "ingredient_id": "xanthan_gum", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, reduce the cider, vanilla bean, and cinnamon sticks by ⅓ .", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Bring the reduced apple cider and sugar to a boil to dissolve the sugar.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Strain and chill until cold.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Place the cider mixture and brandy in a blender. With the blender on low speed, sprinkle in the xanthan gum then blend on high speed for 2 minutes.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Remove the bubbles in the sauce using a vacuum packaging machine.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "apple_muffins", + "schema_version": 2, + "save_version": 6, + "title": "Apple Muffins", + "summary": null, + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breakfast\",\"classic\"]", + "yield_quantity": 2070, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_baking_soda", + "position": 2, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 3.75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_cinnamon", + "position": 3, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 2.5, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 2.5, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_whole", + "position": 5, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_yolk", + "position": 6, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 10, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_canola_oil", + "position": 7, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 170, + "unit_id": "gram", + "percentage": 42.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_orange_juice", + "position": 8, + "ingredient_id": "orange_juice", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 15, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_vanilla_extract", + "position": 9, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 3.75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_sugar", + "position": 10, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 270, + "unit_id": "gram", + "percentage": 67.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_honey", + "position": 11, + "ingredient_id": "honey", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": 7.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_lemon_zest", + "position": 12, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": 0.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_apples", + "position": 13, + "ingredient_id": "apples", + "subrecipe_id": null, + "quantity": 650, + "unit_id": "gram", + "percentage": 162.5, + "basis_member": 0, + "optional": 0, + "notes": "peeled & ¼-inch dice", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_14_raisins", + "position": 14, + "ingredient_id": "raisins", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 37.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_15_walnut", + "position": 15, + "ingredient_id": "walnut", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 37.5, + "basis_member": 0, + "optional": 0, + "notes": "toasted & chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Sift the dry ingredients and set aside.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the wet ingredients until smooth and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Combine the sugar, honey, zest, apples, raisins, and walnuts.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the wet ingredients to the apple mixture and mix to combine.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold the sifted dry ingredients into the apple mixture until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 325°F (163°C) until a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "apple_paper_tuiles", + "schema_version": 2, + "save_version": 6, + "title": "Apple Paper Tuiles", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 905, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_apple_puree", + "position": 1, + "ingredient_id": "apple_puree", + "subrecipe_id": null, + "quantity": 520, + "unit_id": "gram", + "percentage": 406.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 64, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_apple_brandy", + "position": 3, + "ingredient_id": "apple_brandy", + "subrecipe_id": null, + "quantity": 64, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_flour_cake", + "position": 4, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 128, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_confectioners_sugar", + "position": 5, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 128, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_citric_acid", + "position": 6, + "ingredient_id": "citric_acid", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": 0.47, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Combine all of the ingredients over a water bath and blend using an immersion blender until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Chill before use.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Using a template, spread very thinly on a silicone baking mat lightly sprayed with pan spray.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Bake at 275°F (135°C).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Shape as desired and store in airtight containers.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "apple_pie_filling", + "schema_version": 2, + "save_version": 6, + "title": "Apple Pie Filling", + "summary": "Yield: one 9-inch pie. SS", + "categories_json": "[\"tart_pie_fillings\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"tart_pie_fillings\",\"classic\"]", + "yield_quantity": 1095, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one 9-inch pie\",\"For best results, use a blend of apples with contrasting flavor profiles and degrees of acidity.\",\"The apples should be sliced thin so they can lie close together. Thick slices have more air space between them. As they bake, the air space disappears and the apples sink lower in the pan leaving a gap between them and the top crust.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_apples", + "position": 1, + "ingredient_id": "apples", + "subrecipe_id": null, + "quantity": 908, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "thinly sliced", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_brown_sugar", + "position": 3, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_lemon_juice", + "position": 4, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 T", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lemon_zest", + "position": 5, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_vanilla_bean", + "position": 6, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "seeds (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_cinnamon", + "position": 7, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_nutmeg", + "position": 8, + "ingredient_id": "nutmeg", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground (¼ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_butter", + "position": 10, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 28, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_apple_brandy", + "position": 11, + "ingredient_id": "apple_brandy", + "subrecipe_id": null, + "quantity": 28, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_cornstarch", + "position": 12, + "ingredient_id": "cornstarch", + "subrecipe_id": null, + "quantity": 14, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a large bowl, mix together the apples, sugars, juice, zest, spices, and salt. Allow the apples to macerate at room temperature for 1-3 hours.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Strain the apples, reserving the liquid.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a small saucepan, reduce the liquid, butter, and brandy until syrupy.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Toss the apples with the cornstarch, followed by the reduced liquid.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fill a 9-inch pie crust with the apple pie filling.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Cover with the top crust and seal the edges. Cut several slits in the top crust.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Lightly cover the pie with plastic wrap and refrigerate for 30-60 minutes before baking.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Bake at 375°F (191°C) until golden brown.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "apple_strudel_filling", + "schema_version": 2, + "save_version": 6, + "title": "Apple Strudel Filling", + "summary": "Yield: two 20 to 24-inch strudels", + "categories_json": "[\"tart_pie_fillings\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"tart_pie_fillings\",\"classic\"]", + "yield_quantity": 1912.75, + "yield_unit_id": "gram", + "yield_servings": 2, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: two 20 to 24-inch strudels\",\"For best results, use a blend of apples with contrasting flavor profiles and degrees of acidity.\",\"If you mix the filling in advance, the sugar will cause the apples to leach liquid, which will make it messier to roll up the strudels.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "bread_crumb_mixture", + "position": 1, + "name": "Bread Crumb Mixture", + "notes_json": "[]" + }, + { + "id": "apple_filling", + "position": 2, + "name": "Apple Filling", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "apple_filling", + "id": "line_03_apples", + "position": 1, + "ingredient_id": "apples", + "subrecipe_id": null, + "quantity": 1375, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "thinly sliced", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "apple_filling", + "id": "line_04_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "apple_filling", + "id": "line_05_golden_raisins", + "position": 3, + "ingredient_id": "golden_raisins", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "apple_filling", + "id": "line_06_dark_rum", + "position": 4, + "ingredient_id": "dark_rum", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "apple_filling", + "id": "line_07_lemon_zest", + "position": 5, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "apple_filling", + "id": "line_08_lemon_juice", + "position": 6, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "apple_filling", + "id": "line_09_cinnamon", + "position": 7, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "apple_filling", + "id": "line_10_vanilla_bean", + "position": 8, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "seeds (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "apple_filling", + "id": "line_11_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "bread_crumb_mixture", + "id": "line_01_bread_crumbs", + "position": 1, + "ingredient_id": "bread_crumbs", + "subrecipe_id": null, + "quantity": 130, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "bread_crumb_mixture", + "id": "line_02_butter", + "position": 2, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 65, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bread Crumb:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Sauté the bread crumbs in butter until lightly toasted and set aside to cool.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Apple Filling:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Combine all of the ingredients just before assembly.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "apricot_glaze", + "schema_version": 2, + "save_version": 1, + "title": "Apricot Glaze", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"glaze\"]", + "yield_quantity": 304.1, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"apricot_glaze\",\"title\":\"Apricot Glaze\",\"categories\":[\"sauce\"],\"tags\":[\"glaze\"],\"yield\":{\"amount\":{\"quantity\":304.1,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_apricot_jam\",\"reference\":{\"ingredient_id\":\"apricot_jam\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_corn_syrup\",\"reference\":{\"ingredient_id\":\"corn_syrup_light\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100},{\"id\":\"line_03_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":68,\"unit_id\":\"gram\"},\"percentage\":68},{\"id\":\"line_04_lemon_juice\",\"reference\":{\"ingredient_id\":\"lemon_juice\"},\"amount\":{\"quantity\":32,\"unit_id\":\"gram\"},\"percentage\":32},{\"id\":\"line_05_gelatin_granulated\",\"reference\":{\"ingredient_id\":\"gelatin\"},\"amount\":{\"quantity\":4.1,\"unit_id\":\"gram\"},\"percentage\":4.1}]}],\"equipment_ids\":[\"saucepan\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Bloom gelatin in cold water, then melt.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Combine syrup, lemon juice, jam in saucepan and boil.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Blend in melted gelatin.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Cool glaze to 75 °F, strain and use immediately.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "saucepan" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_apricot_jam", + "position": 1, + "ingredient_id": "apricot_jam", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_corn_syrup", + "position": 2, + "ingredient_id": "corn_syrup_light", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_water", + "position": 3, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 68, + "unit_id": "gram", + "percentage": 68, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_lemon_juice", + "position": 4, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 32, + "unit_id": "gram", + "percentage": 32, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_gelatin_granulated", + "position": 5, + "ingredient_id": "gelatin", + "subrecipe_id": null, + "quantity": 4.1, + "unit_id": "gram", + "percentage": 4.1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Bloom gelatin in cold water, then melt.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Combine syrup, lemon juice, jam in saucepan and boil.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Blend in melted gelatin.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Cool glaze to 75 °F, strain and use immediately.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "apricot_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Apricot Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 2177, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 27, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 135, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_apricot_puree", + "position": 4, + "ingredient_id": "apricot_puree", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "10% sugar", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lemon_juice", + "position": 5, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whites", + "position": 6, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 220, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Warm ⅓ of the puree and melt the bloomed and drained gelatin into it. Whisk that warm mixture back into the rest of the puree and add the juice. Cool to about 65°F (18°C), or until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make an Italian meringue with the sugar and egg whites; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold ½ of the puree into the meringue. Fold the other ½ into the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the two mixtures together.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "apricot_passion_fruit_bavarian_cream", + "schema_version": 2, + "save_version": 6, + "title": "Apricot- Passion Fruit Bavarian Cream", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 1720, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_lime_zest", + "position": 4, + "ingredient_id": "lime_zest", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "finely chopped (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_cr_me_fra_che", + "position": 5, + "ingredient_id": "cr_me_fra_che", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_heavy_cream", + "position": 6, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 175, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_apricot_puree", + "position": 7, + "ingredient_id": "apricot_puree", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "10% sugar", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_passion_fruit_puree", + "position": 8, + "ingredient_id": "passion_fruit_puree", + "subrecipe_id": null, + "quantity": 175, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "10% sugar", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_vanilla_bean", + "position": 9, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "split & scraped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_sugar", + "position": 10, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_egg_yolk", + "position": 11, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 180, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_sugar", + "position": 12, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream and zest to soft peaks; set aside in the refrigerator.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a saucepan, bring the crème fraîche, cream, purees, vanilla bean, and first weight of sugar to a boil. Meanwhile, whisk the egg yolks and the second weight of sugar until light and thick. Temper about ⅓ of the fruit mixture into the yolk mixture. Return everything back to the saucepan and cook on medium-low heat until the mixture coats the back of a wooden spoon.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "saucepan", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Once cooked, remove from heat, add the bloomed and drained gelatin, and whisk to dissolve.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Strain through a fine-mesh strainer and cool to about 65°F (18°C), or until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the whipped cream into the cooled apricot-passion fruit crème anglaise.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "arborio_rice_pudding", + "schema_version": 2, + "save_version": 6, + "title": "Arborio Rice Pudding", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 2000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"The amount of milk left unabsorbed after the rice is cooked tender will dictate the final consistency of the rice pudding.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_arborio_rice", + "position": 1, + "ingredient_id": "arborio_rice", + "subrecipe_id": null, + "quantity": 235, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_milk_whole", + "position": 2, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 1920, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "2 qt", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 190, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_cinnamon_stick", + "position": 4, + "ingredient_id": "cinnamon_stick", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vanilla_bean", + "position": 5, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "split & scraped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_orange_zest", + "position": 6, + "ingredient_id": "orange_zest", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_heavy_cream", + "position": 7, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_rum_macerated_raisins", + "position": 8, + "ingredient_id": "rum_macerated_raisins", + "subrecipe_id": null, + "quantity": 115, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Blanch the rice in lightly salted water and drain well.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, bring the rice, milk, sugar, cinnamon, and vanilla bean to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Lower to a simmer, stirring regularly until the rice is tender and most (but not all) of the milk is absorbed. Stir in the zest.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Chill the rice pudding over an ice bath, then remove the cinnamon stick and vanilla bean.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Whip the cream to soft peaks and fold into the cooled rice pudding to lighten, followed by the drained rum macerated raisins.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "armagnac_prune_ice_cream", + "schema_version": 2, + "save_version": 6, + "title": "Armagnac-Prune Ice Cream", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"The prune puree can be refrigerated for up to 1 month.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "ice_cream_base", + "position": 1, + "name": "Ice Cream Base", + "notes_json": "[]" + }, + { + "id": "prune_puree", + "position": 2, + "name": "Prune Puree", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "ice_cream_base", + "id": "line_01_milk_whole", + "position": 1, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 595, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "ice_cream_base", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 130, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "ice_cream_base", + "id": "line_03_milk_powder", + "position": 3, + "ingredient_id": "milk_powder", + "subrecipe_id": null, + "quantity": 81, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "ice_cream_base", + "id": "line_04_powdered_glucose", + "position": 4, + "ingredient_id": "powdered_glucose", + "subrecipe_id": null, + "quantity": 135, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "ice_cream_base", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 189, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "ice_cream_base", + "id": "line_06_egg_yolk", + "position": 6, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 140, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "ice_cream_base", + "id": "line_07_armagnac", + "position": 7, + "ingredient_id": "armagnac", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "ice_cream_base", + "id": "line_08_prune_puree", + "position": 8, + "ingredient_id": "prune_puree", + "subrecipe_id": null, + "quantity": 140, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "prune_puree", + "id": "line_09_prunes", + "position": 1, + "ingredient_id": "prunes", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "prune_puree", + "id": "line_10_burgundy", + "position": 2, + "ingredient_id": "burgundy", + "subrecipe_id": null, + "quantity": 667, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "prune_puree", + "id": "line_11_maderia", + "position": 3, + "ingredient_id": "maderia", + "subrecipe_id": null, + "quantity": 333, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "prune_puree", + "id": "line_12_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 333, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "prune_puree", + "id": "line_13_vanilla_bean", + "position": 5, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "seeds", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "prune_puree", + "id": "line_14_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Ice Cream:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan large enough to accommodate the entire recipe, combine the milk and cream. With an immersion blender, blend in the milk power and glucose to dissolve.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Heat until warm, 105°F (40°C); whisk in the sugar and egg yolks that have been previously whisked together until light.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir with a whisk and heat to 185°F (85°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Chill immediately and allow to mature for 6 to 12 hours.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Blend with an immersion blender before spinning.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Whisk together the armagnac and puree previously chilled in the refrigerator and pour into the the ice cream machine at the beginning of the spinning process.", + "critical_control_point": 0, + "equipment_ids": [ + "food_processor", + "whisk" + ] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Prune Puree:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_9", + "position": 9, + "instruction": "In a saucepan, combine all of the ingredients and bring to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Lower to a simmer and reduce until the prunes are very soft.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_11", + "position": 11, + "instruction": "Puree the cooked prunes in a food processor to the desired level of smoothness.", + "critical_control_point": 0, + "equipment_ids": [ + "food_processor" + ] + }, + { + "id": "step_12", + "position": 12, + "instruction": "Store in the refrigerator.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "auntie_annes_pretzels", + "schema_version": 2, + "save_version": 1, + "title": "Auntie Anne's Pretzels", + "summary": null, + "categories_json": "[\"bread\"]", + "tags_json": "[\"pretzel\",\"copycat\",\"auntie-annes\"]", + "yield_quantity": 170, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"auntie_annes_pretzels\",\"title\":\"Auntie Anne's Pretzels\",\"categories\":[\"bread\"],\"tags\":[\"pretzel\",\"copycat\",\"auntie-annes\"],\"yield\":{\"amount\":{\"quantity\":170,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_bread\",\"reference\":{\"ingredient_id\":\"flour_bread\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":55,\"unit_id\":\"gram\"},\"percentage\":55},{\"id\":\"line_03_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":11,\"unit_id\":\"gram\"},\"percentage\":11},{\"id\":\"line_04_instant_yeast\",\"reference\":{\"ingredient_id\":\"instant_yeast\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_05_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2}]}],\"equipment_ids\":[\"mixing_bowl\",\"sheet_pan\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine all and mix to full gluten development.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Press dough into 13 in x 9 in x 2 in pan.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Turn out onto parchment, covered.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Proof 30 min at 70 °F.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Cut into 16 strips, each 9 in long (achieved by halving 4 times).\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Submerge dough strips in alkaline bath for about 10 s.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Drain on wire mesh for about 10 s.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Transfer dough strip to parchment-lined sheet pan (handling should naturally elongate dough to fit a half size sheet pan lengthwise).\",\"component_ids\":[\"main\"]},{\"id\":\"step_09\",\"order\":9,\"instruction\":\"Apply salt.\",\"component_ids\":[\"main\"]},{\"id\":\"step_10\",\"order\":10,\"instruction\":\"Cut into 1 in pieces.\",\"component_ids\":[\"main\"]},{\"id\":\"step_11\",\"order\":11,\"instruction\":\"Bake 8 min at 500 °F.\",\"component_ids\":[\"main\"]},{\"id\":\"step_12\",\"order\":12,\"instruction\":\"Separate nuggets.\",\"component_ids\":[\"main\"]},{\"id\":\"step_13\",\"order\":13,\"instruction\":\"Combine nuggets and melted butter in bowl, toss until coated.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "mixing_bowl", + "sheet_pan" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 55, + "unit_id": "gram", + "percentage": 55, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 11, + "unit_id": "gram", + "percentage": 11, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_instant_yeast", + "position": 4, + "ingredient_id": "instant_yeast", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine all and mix to full gluten development.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Press dough into 13 in x 9 in x 2 in pan.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Turn out onto parchment, covered.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Proof 30 min at 70 °F.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Cut into 16 strips, each 9 in long (achieved by halving 4 times).", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Submerge dough strips in alkaline bath for about 10 s.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Drain on wire mesh for about 10 s.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Transfer dough strip to parchment-lined sheet pan (handling should naturally elongate dough to fit a half size sheet pan lengthwise).", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_09", + "position": 9, + "instruction": "Apply salt.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Cut into 1 in pieces.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_11", + "position": 11, + "instruction": "Bake 8 min at 500 °F.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_12", + "position": 12, + "instruction": "Separate nuggets.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_13", + "position": 13, + "instruction": "Combine nuggets and melted butter in bowl, toss until coated.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "bacon_maple_bonbon_ganache", + "schema_version": 2, + "save_version": 6, + "title": "Bacon-Maple Bonbon Ganache", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1350, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_smoked_bacon", + "position": 1, + "ingredient_id": "smoked_bacon", + "subrecipe_id": null, + "quantity": 175, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_milk_whole", + "position": 3, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_smoked_sea_salt", + "position": 4, + "ingredient_id": "smoked_sea_salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_black_pepper", + "position": 5, + "ingredient_id": "black_pepper", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground (⅛ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_pure_maple_syrup", + "position": 6, + "ingredient_id": "pure_maple_syrup", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_chocolate_milk", + "position": 7, + "ingredient_id": "chocolate_milk", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_cocoa_butter", + "position": 8, + "ingredient_id": "cocoa_butter", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_honey", + "position": 9, + "ingredient_id": "honey", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Cut the bacon into lardons and render in a saucepan over medium-low heat.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the cream and milk into the rendered bacon and fat in several additions and bring to a rapid boil. Set aside to infuse for one hour. Season with the salt and pepper.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a deep saucepan, bring the maple syrup to a boil and cook to 250°F (121°C).", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "thermometer" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stream the bacon-infused cream mixture into the cooked maple syrup while whisking. Bring the mixture back to a boil while whisking continuously.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Combine the chocolate, cocoa butter, and honey in a bowl large enough to accommodate the entire recipe. Strain the hot bacon-maple cream over the chocolate mixture. Allow to stand for one minute, then emulsify until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Cover the surface of the ganache with plastic wrap. Allow to rest at room temperature until it reaches 78°F (26°C). The cooled ganache should have a thick, yet fluid consistency to properly fill bonbon shells.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "bagel", + "schema_version": 2, + "save_version": 1, + "title": "Bagel", + "summary": null, + "categories_json": "[\"bread\"]", + "tags_json": "[\"bagel\"]", + "yield_quantity": 160.6, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"bagel\",\"title\":\"Bagel\",\"categories\":[\"bread\"],\"tags\":[\"bagel\"],\"yield\":{\"amount\":{\"quantity\":160.6,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_bread\",\"reference\":{\"ingredient_id\":\"flour_bread\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":56,\"unit_id\":\"gram\"},\"percentage\":56},{\"id\":\"line_03_instant_yeast\",\"reference\":{\"ingredient_id\":\"instant_yeast\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_04_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_05_barley_malt_powder\",\"reference\":{\"ingredient_id\":\"barley_malt_powder\"},\"amount\":{\"quantity\":0.6,\"unit_id\":\"gram\"},\"percentage\":0.6}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"TODO: Add complete preparation instructions for this recipe.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 56, + "unit_id": "gram", + "percentage": 56, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_instant_yeast", + "position": 3, + "ingredient_id": "instant_yeast", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_barley_malt_powder", + "position": 5, + "ingredient_id": "barley_malt_powder", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": 0.6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "TODO: Add complete preparation instructions for this recipe.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "bagels", + "schema_version": 2, + "save_version": 6, + "title": "Bagels", + "summary": "Yield: twelve 120 g (4.2 oz) bagels", + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breakfast\",\"classic\"]", + "yield_quantity": 1472, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: twelve 120 g (4.2 oz) bagels\",\"The toppings will stick better if you brush the top of each bagel with an egg white wash made by whisking 1 egg white with 1 tablespoon of water.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 908, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 510, + "unit_id": "gram", + "percentage": 56.17, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_yeast_fresh", + "position": 3, + "ingredient_id": "yeast_fresh", + "subrecipe_id": null, + "quantity": 18, + "unit_id": "gram", + "percentage": 1.98, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_malt_powder", + "position": 4, + "ingredient_id": "malt_powder", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 1.65, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 21, + "unit_id": "gram", + "percentage": 2.31, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a hook attachment, combine all of the ingredients and mix on low speed until a dough forms.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Increase the speed to medium and mix until gluten is developed and a \"window\" is achieved.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Shape the dough into a ball and place in an oiled bowl. Cover and bulk ferment for 1 hour.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Divide the dough into 120 g (4.2 oz) pieces.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Pre-shape, then cover and bench rest for 15 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Final shape, then refrigerate for at least 1 hour, or up to 24 hours.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Boil the bagels for 30 seconds on each side in malted water then press into desired toppings before baking.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Bake at 450°F (232°C) until golden brown (about 12-18 minutes).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "baileys_sourdough", + "schema_version": 2, + "save_version": 1, + "title": "Bailey's Sourdough", + "summary": null, + "categories_json": "[\"bread\"]", + "tags_json": "[\"sourdough\",\"loaf\"]", + "yield_quantity": 197, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"baileys_sourdough\",\"title\":\"Bailey's Sourdough\",\"categories\":[\"bread\"],\"tags\":[\"sourdough\",\"loaf\"],\"yield\":{\"amount\":{\"quantity\":197,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_bread\",\"reference\":{\"ingredient_id\":\"flour_bread\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":75,\"unit_id\":\"gram\"},\"percentage\":75},{\"id\":\"line_03_sourdough_starter\",\"reference\":{\"recipe_id\":\"sourdough_starter\"},\"amount\":{\"quantity\":20,\"unit_id\":\"gram\"},\"percentage\":20},{\"id\":\"line_04_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2}]}],\"equipment_ids\":[\"oven\",\"whisk\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Mix water and starter, whisk.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Add bread flour and salt.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Mix into shaggy dough.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Cover dough with damp towel and sit for 30 min.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Fold dough and rest for 30 min.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Repeat previous step 3 more times.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Place dough in straight sided vessel and allow to double in size, 8-10 hr.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"After dough doubles in size, shape the dough.\",\"component_ids\":[\"main\"]},{\"id\":\"step_09\",\"order\":9,\"instruction\":\"Pull dough into rectangle, fold over both vertical sides and roll dough up from bottom to top.\",\"component_ids\":[\"main\"]},{\"id\":\"step_10\",\"order\":10,\"instruction\":\"Work the dough into a ball, adding tension as you move the dough back and forth.\",\"component_ids\":[\"main\"]},{\"id\":\"step_11\",\"order\":11,\"instruction\":\"Allow dough to rest for 30 min.\",\"component_ids\":[\"main\"]},{\"id\":\"step_12\",\"order\":12,\"instruction\":\"Work the dough one more time into a ball with a smooth top.\",\"component_ids\":[\"main\"]},{\"id\":\"step_13\",\"order\":13,\"instruction\":\"Line banneton with cloth and sprinkle with corn meal, flour, and rice flour.\",\"component_ids\":[\"main\"]},{\"id\":\"step_14\",\"order\":14,\"instruction\":\"Place dough in banneton, seam side up.\",\"component_ids\":[\"main\"]},{\"id\":\"step_15\",\"order\":15,\"instruction\":\"Place banneton in plastic grocery bag and place in refrigerator for 1-24 hr.\",\"component_ids\":[\"main\"]},{\"id\":\"step_16\",\"order\":16,\"instruction\":\"Set oven to 550 °F and preheat dutch oven.\",\"component_ids\":[\"main\"]},{\"id\":\"step_17\",\"order\":17,\"instruction\":\"Once oven is preheated, take out dough, place on strip of parchment, and mark with ×.\",\"component_ids\":[\"main\"]},{\"id\":\"step_18\",\"order\":18,\"instruction\":\"Put dough in preheated dutch oven, reduce oven temp to 450 °F, and bake dough in dutch oven for 30 min.\",\"component_ids\":[\"main\"]},{\"id\":\"step_19\",\"order\":19,\"instruction\":\"After 30 min, take bread out of dutch oven, place on rack of oven, and reduce temp to 425 °F.\",\"component_ids\":[\"main\"]},{\"id\":\"step_20\",\"order\":20,\"instruction\":\"Bake for additional 10-15 min.\",\"component_ids\":[\"main\"]},{\"id\":\"step_21\",\"order\":21,\"instruction\":\"Take bread out of oven and place on cooling rack.\",\"component_ids\":[\"main\"]},{\"id\":\"step_22\",\"order\":22,\"instruction\":\"Do not cut until fully cooled / room temp.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "oven", + "whisk" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": 75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sourdough_starter", + "position": 3, + "ingredient_id": null, + "subrecipe_id": "sourdough_starter", + "quantity": 20, + "unit_id": "gram", + "percentage": 20, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Mix water and starter, whisk.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Add bread flour and salt.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Mix into shaggy dough.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Cover dough with damp towel and sit for 30 min.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Fold dough and rest for 30 min.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Repeat previous step 3 more times.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Place dough in straight sided vessel and allow to double in size, 8-10 hr.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "After dough doubles in size, shape the dough.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_09", + "position": 9, + "instruction": "Pull dough into rectangle, fold over both vertical sides and roll dough up from bottom to top.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Work the dough into a ball, adding tension as you move the dough back and forth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_11", + "position": 11, + "instruction": "Allow dough to rest for 30 min.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_12", + "position": 12, + "instruction": "Work the dough one more time into a ball with a smooth top.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_13", + "position": 13, + "instruction": "Line banneton with cloth and sprinkle with corn meal, flour, and rice flour.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_14", + "position": 14, + "instruction": "Place dough in banneton, seam side up.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_15", + "position": 15, + "instruction": "Place banneton in plastic grocery bag and place in refrigerator for 1-24 hr.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_16", + "position": 16, + "instruction": "Set oven to 550 °F and preheat dutch oven.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_17", + "position": 17, + "instruction": "Once oven is preheated, take out dough, place on strip of parchment, and mark with ×.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_18", + "position": 18, + "instruction": "Put dough in preheated dutch oven, reduce oven temp to 450 °F, and bake dough in dutch oven for 30 min.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_19", + "position": 19, + "instruction": "After 30 min, take bread out of dutch oven, place on rack of oven, and reduce temp to 425 °F.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_20", + "position": 20, + "instruction": "Bake for additional 10-15 min.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_21", + "position": 21, + "instruction": "Take bread out of oven and place on cooling rack.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_22", + "position": 22, + "instruction": "Do not cut until fully cooled / room temp.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "banana", + "schema_version": 2, + "save_version": 6, + "title": "Banana", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1435, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Diced brioche or challah work well with this recipe. Be sure the bread is slightly dried out prior to thoroughly saturating it with the warm custard. Stud with fresh banana chunks before baking.\",\"Bread pudding can be refrigerated for up to 3 days and reheated to order.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_milk_whole", + "position": 1, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 165, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_brown_sugar", + "position": 3, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_vanilla_bean", + "position": 6, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "split & scraped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_whole", + "position": 7, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_egg_yolk", + "position": 8, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_bananas", + "position": 9, + "ingredient_id": "bananas", + "subrecipe_id": null, + "quantity": 245, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "very ripe", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_dark_rum", + "position": 10, + "ingredient_id": "dark_rum", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the milk, cream, sugars, salt, and vanilla bean to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Meanwhile, whisk the whole eggs and yolks together until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Temper ½ of the hot milk mixture into the egg mixture. Use a rubber spatula to scrape all of the tempered egg mixture back into the saucepan. Strain through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Puree the bananas and rum in a blender until smooth. Whisk the puree into the custard.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 300°F (149°C), covered, just until set.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "banana_bread", + "schema_version": 2, + "save_version": 15, + "title": "Banana Bread", + "summary": "Yield: two 9-inch loaf pans", + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breakfast\",\"classic\"]", + "yield_quantity": 2000, + "yield_unit_id": "gram", + "yield_servings": 2, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Yield: two 9-inch loaf pans\",\"Using very ripe bananas will yield the best flavor.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"banana_bread\",\"title\":\"Banana Bread\",\"categories\":[\"dessert\"],\"tags\":[\"quick-bread\",\"banana\"],\"yield\":{\"amount\":{\"quantity\":369.85,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_cake\",\"reference\":{\"ingredient_id\":\"flour_cake\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_fat\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100},{\"id\":\"line_03_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":58,\"unit_id\":\"gram\"},\"percentage\":58},{\"id\":\"line_04_banana\",\"reference\":{\"ingredient_id\":\"banana\"},\"amount\":{\"quantity\":40,\"unit_id\":\"gram\"},\"percentage\":40},{\"id\":\"line_05_egg_whole\",\"reference\":{\"ingredient_id\":\"egg_whole\"},\"amount\":{\"quantity\":40,\"unit_id\":\"gram\"},\"percentage\":40},{\"id\":\"line_06_walnut\",\"reference\":{\"ingredient_id\":\"walnut\"},\"amount\":{\"quantity\":25,\"unit_id\":\"gram\"},\"percentage\":25},{\"id\":\"line_07_baking_powder\",\"reference\":{\"ingredient_id\":\"baking_powder\"},\"amount\":{\"quantity\":5,\"unit_id\":\"gram\"},\"percentage\":5},{\"id\":\"line_08_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1.25,\"unit_id\":\"gram\"},\"percentage\":1.25},{\"id\":\"line_09_baking_soda\",\"reference\":{\"ingredient_id\":\"baking_soda\"},\"amount\":{\"quantity\":0.6,\"unit_id\":\"gram\"},\"percentage\":0.6}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine, mix dry.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Combine, mix wet.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Add liquid to dry.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Mix only until flour just moistened.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Bake immediately, 50 min at 375 °F.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 55.56, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 88.89, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_vanilla_bean", + "position": 3, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": 0.22, + "basis_member": 0, + "optional": 0, + "notes": "seeds", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 44.44, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_bananas", + "position": 5, + "ingredient_id": "bananas", + "subrecipe_id": null, + "quantity": 700, + "unit_id": "gram", + "percentage": 155.56, + "basis_member": 0, + "optional": 0, + "notes": "mashed", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_flour_all_purpose", + "position": 6, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 450, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_baking_soda", + "position": 7, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 2.22, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 2.22, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter, sugar, and vanialla bean seeds.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the eggs one at a time, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the mashed bananas, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the sifted dry ingredients and mix just until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 325°F (163°C) until a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "banana_peanut_butter_semifreddo", + "schema_version": 2, + "save_version": 6, + "title": "Banana-Peanut Butter Semifreddo", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1055, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 350, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_heavy_cream", + "position": 4, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_bananas", + "position": 6, + "ingredient_id": "bananas", + "subrecipe_id": null, + "quantity": 175, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "diced", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_peanut_butter", + "position": 7, + "ingredient_id": "peanut_butter", + "subrecipe_id": null, + "quantity": 175, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_egg_whites", + "position": 8, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_sugar", + "position": 9, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the first weight of cream to soft peaks; set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a saucepan, bring the second weight of cream, sugar, and bananas to a boil. Puree until smooth and pour over the peanut butter and bloomed gelatin. With an immersion blender, blend the mixture until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "kitchen_scale", + "saucepan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make a Swiss meringue with the egg whites and sugar; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold ⅓ of the whipped cream into the puree to lighten, followed by the meringue.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold in the remaining whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Mold as desired and freeze immediately.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "banana_sheet_cake", + "schema_version": 2, + "save_version": 6, + "title": "Banana Sheet Cake", + "summary": "Yield: one full sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 1315, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one full sheet pan\",\"Using very ripe bananas will yield the best flavor.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_bananas", + "position": 1, + "ingredient_id": "bananas", + "subrecipe_id": null, + "quantity": 480, + "unit_id": "gram", + "percentage": 192, + "basis_member": 0, + "optional": 0, + "notes": "mashed", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 80, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_brown_sugar", + "position": 3, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 60, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 40, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vanilla_bean", + "position": 5, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "each", + "percentage": 0.8, + "basis_member": 0, + "optional": 0, + "notes": "seeds", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_canola_oil", + "position": 6, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": 48, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_flour_cake", + "position": 7, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_baking_soda", + "position": 8, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 4, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a whisk attachment, whisk the bananas, eggs, sugars, and vanilla bean seeds until it forms a puree.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the oil, followed by the sifted dry ingredients.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Mix just until combined, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Bake at 350°F (177°C) until the cake is browned and springs back to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "basic_creme_mousseline", + "schema_version": 2, + "save_version": 6, + "title": "Basic Crème Mousseline", + "summary": "Crème mousseline is also known as German buttercream and makes a lovely filling for the classic French strawberry cake Fraisier.", + "categories_json": "[\"frostings_glazes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frostings_glazes\",\"classic\"]", + "yield_quantity": 2093, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"The butter should not be added if the pastry cream is still hot or it can melt and separate. If this happens, finish beating, then refrigerate the mousseline until well chilled and mix again with the paddle attachment to emulsify.\",\"If the pastry cream or butter are too cold, the butter will not incorporate properly. If this happens, warm the pastry cream and mix with the paddle attachment to emulsify.\",\"Cold pastry cream may be used, but you must mix the pastry cream until smooth and tepid, then blend in softened butter.\",\"Once chilled, crème mousseline becomes firm. This makes for an excellent choice as a filling for cakes that must be left unrefrigerated for a long time or that are to be served in a warm environment.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_pastry_cream", + "position": 1, + "ingredient_id": "pastry_cream", + "subrecipe_id": null, + "quantity": 1610, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_butter", + "position": 2, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 483, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cubed", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Prepare the pastry cream on page 218.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a paddle attachment, beat the hot pastry cream until slightly warm, about 110°F (43°C).", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "thermometer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "When the pastry cream is slightly warm, add the butter in several additions, beating until completely incorporated and the mixture is light and fluffy.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "basic_ice_cream_base", + "schema_version": 2, + "save_version": 6, + "title": "Basic Ice Cream Base", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_milk_whole", + "position": 1, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 820, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 130, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_milk_powder", + "position": 3, + "ingredient_id": "milk_powder", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_dextrose", + "position": 4, + "ingredient_id": "dextrose", + "subrecipe_id": null, + "quantity": 225, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_yolk", + "position": 5, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 140, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_invert_sugar", + "position": 7, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_sugar", + "position": 8, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_ice_cream_stabilizer", + "position": 9, + "ingredient_id": "ice_cream_stabilizer", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_salt", + "position": 10, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan large enough to accommodate the entire recipe, combine the milk and cream. With an immersion blender, blend in the milk powder and dextrose to dissolve.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Heat until warm, 105°F (40°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Meanwhile, whisk together the egg yolks and the first weight of granulated sugar. Add to the warm milk mixture along with the invert sugar, second weight of sugar, stabilizer, and salt.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir with a whisk and heat to 185°F (85°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Chill immediately and allow to mature for 6 to 12 hours.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Blend with an immersion blender before spinning.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "baumkuchen_torte", + "schema_version": 2, + "save_version": 6, + "title": "Baumkuchen Torte", + "summary": "Yield: one half hotel pan. In German, \"baumkuchen\" means \"tree cake.\" These cakes are traditionally made by brushing layers of batter onto a rotating spit, allowing one layer to cook fully before brushing on the next, which gives the final cake the appearance of concentric tree rings. In this version, the method of broiling each layer gives the cake those same golden striations, but with the layers stacked on top of each other rather than around each other in rings. Baumkuchen prepared in this manner is often used to line terrine molds for both sweet and savory applications, or can be simply sliced and served like any other cake.", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 2625, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one half hotel pan\",\"For added flavor and moisture, during the baking process brush a light coating of apricot jam thinned with rum on top of every other cooked layer.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_almond_paste", + "position": 1, + "ingredient_id": "almond_paste", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_butter", + "position": 3, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 200, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_rum", + "position": 4, + "ingredient_id": "rum", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 30, + "basis_member": 0, + "optional": 0, + "notes": "dark", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lemon_zest", + "position": 5, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "each", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_cardamom", + "position": 6, + "ingredient_id": "cardamom", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 1.25, + "basis_member": 0, + "optional": 0, + "notes": "ground (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_nutmeg", + "position": 7, + "ingredient_id": "nutmeg", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 1.25, + "basis_member": 0, + "optional": 0, + "notes": "ground (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_vanilla_bean", + "position": 8, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "each", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": "seeds", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_heavy_cream", + "position": 9, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 140, + "unit_id": "gram", + "percentage": 70, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_egg_yolk", + "position": 10, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 200, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_egg_whites", + "position": 11, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": 300, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_sugar", + "position": 12, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 150, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_cream_of_tartar", + "position": 13, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 3, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_14_flour_cake", + "position": 14, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_15_almond_flour", + "position": 15, + "ingredient_id": "almond_flour", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_16_salt", + "position": 16, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 2.5, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix the almond paste and sugar until crumbs form. Add the butter and then cream until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the rum, zest, spices, and cream, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Gradually add the egg yolks, scraping down the bowl again.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make a stiff peak French meringue with the egg whites, sugar, and cream of tartar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold the meringue into the almond paste mixture until streaky, followed by the dry ingredients until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Line a half hotel pan with pan spray and parchment paper.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Spoon a small amount of batter onto the parchment paper. With an off-set spatula, spread the batter to approximately ⅛-inch thick. You want to cover the paper completely with a thin, even layer.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Place under a broiler and cook until light brown; this should take about 1-2 minutes and often requires that you rotate the hotel pan to ensure even baking. Spread another layer of batter over the cake and place under the broiler. Continue on in this way until all of the batter is used.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "beer_cheese", + "schema_version": 2, + "save_version": 1, + "title": "Beer Cheese", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"dip\",\"cheese\"]", + "yield_quantity": 281.09, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"beer_cheese\",\"title\":\"Beer Cheese\",\"categories\":[\"sauce\"],\"tags\":[\"dip\",\"cheese\"],\"yield\":{\"amount\":{\"quantity\":281.09,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_white_cheddar_parmesan_blend\",\"reference\":{\"recipe_id\":\"white_cheddar_parmesan_blend\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100},{\"id\":\"line_03_beer\",\"reference\":{\"ingredient_id\":\"beer\"},\"amount\":{\"quantity\":50,\"unit_id\":\"gram\"},\"percentage\":50},{\"id\":\"line_04_fat\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":13,\"unit_id\":\"gram\"},\"percentage\":13},{\"id\":\"line_05_nonfat_milk_powder\",\"reference\":{\"ingredient_id\":\"nonfat_milk_powder\"},\"amount\":{\"quantity\":12.5,\"unit_id\":\"gram\"},\"percentage\":12.5},{\"id\":\"line_06_cornstarch\",\"reference\":{\"ingredient_id\":\"cornstarch\"},\"amount\":{\"quantity\":2.2,\"unit_id\":\"gram\"},\"percentage\":2.2},{\"id\":\"line_07_sodium_citrate\",\"reference\":{\"ingredient_id\":\"sodium_citrate\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_08_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1,\"unit_id\":\"gram\"},\"percentage\":1},{\"id\":\"line_09_onion_powder\",\"reference\":{\"ingredient_id\":\"onion_powder\"},\"amount\":{\"quantity\":0.13,\"unit_id\":\"gram\"},\"percentage\":0.13},{\"id\":\"line_10_garlic_powder\",\"reference\":{\"ingredient_id\":\"garlic_powder\"},\"amount\":{\"quantity\":0.13,\"unit_id\":\"gram\"},\"percentage\":0.13},{\"id\":\"line_11_black_pepper_ground\",\"reference\":{\"ingredient_id\":\"black_pepper_ground\"},\"amount\":{\"quantity\":0.13,\"unit_id\":\"gram\"},\"percentage\":0.13}]}],\"equipment_ids\":[\"whisk\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine, dissolve cold! water, beer, milk powder, corn starch, sodium citrate.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Heat to simmer (205+ °F).\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Remove from heat.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Mix in cheese, in small pieces, one at a time.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Add oil, whisk smooth.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "whisk" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_white_cheddar_parmesan_blend", + "position": 1, + "ingredient_id": null, + "subrecipe_id": "white_cheddar_parmesan_blend", + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_beer", + "position": 3, + "ingredient_id": "beer", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_fat", + "position": 4, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 13, + "unit_id": "gram", + "percentage": 13, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_nonfat_milk_powder", + "position": 5, + "ingredient_id": "nonfat_milk_powder", + "subrecipe_id": null, + "quantity": 12.5, + "unit_id": "gram", + "percentage": 12.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_cornstarch", + "position": 6, + "ingredient_id": "cornstarch", + "subrecipe_id": null, + "quantity": 2.2, + "unit_id": "gram", + "percentage": 2.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sodium_citrate", + "position": 7, + "ingredient_id": "sodium_citrate", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_onion_powder", + "position": 9, + "ingredient_id": "onion_powder", + "subrecipe_id": null, + "quantity": 0.13, + "unit_id": "gram", + "percentage": 0.13, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_garlic_powder", + "position": 10, + "ingredient_id": "garlic_powder", + "subrecipe_id": null, + "quantity": 0.13, + "unit_id": "gram", + "percentage": 0.13, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_black_pepper_ground", + "position": 11, + "ingredient_id": "black_pepper_ground", + "subrecipe_id": null, + "quantity": 0.13, + "unit_id": "gram", + "percentage": 0.13, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine, dissolve cold! water, beer, milk powder, corn starch, sodium citrate.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Heat to simmer (205+ °F).", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Remove from heat.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Mix in cheese, in small pieces, one at a time.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Add oil, whisk smooth.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "beet_tart_filling", + "schema_version": 2, + "save_version": 6, + "title": "Beet Tart Filling", + "summary": null, + "categories_json": "[\"tart_pie_fillings\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"tart_pie_fillings\",\"classic\"]", + "yield_quantity": 2000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_egg_whole", + "position": 1, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_egg_yolk", + "position": 2, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_beet_puree", + "position": 3, + "ingredient_id": "beet_puree", + "subrecipe_id": null, + "quantity": 900, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_orange_juice", + "position": 4, + "ingredient_id": "orange_juice", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 213, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_brown_sugar", + "position": 6, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_vanilla_bean", + "position": 8, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "seeds (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_cinnamon", + "position": 9, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_ginger", + "position": 10, + "ingredient_id": "ginger", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground (¼ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_coriander", + "position": 11, + "ingredient_id": "coriander", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground (¼ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_milk_whole", + "position": 12, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_heavy_cream", + "position": 13, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, lightly mix the whole eggs and yolks to blend. Add the puree and juice and mix to combine.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the sugars and spices, followed by the milk and cream.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Bake at 300ºF (149ºC) in blind baked tart shells until set.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "benihana_yum_yum_sauce", + "schema_version": 2, + "save_version": 1, + "title": "Benihana Yum Yum Sauce", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"copycat\",\"benihana\"]", + "yield_quantity": 204.49, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"benihana_yum_yum_sauce\",\"title\":\"Benihana Yum Yum Sauce\",\"categories\":[\"sauce\"],\"tags\":[\"copycat\",\"benihana\"],\"yield\":{\"amount\":{\"quantity\":204.49,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_mayonnaise\",\"reference\":{\"ingredient_id\":\"mayonnaise\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_heavy_cream\",\"reference\":{\"ingredient_id\":\"heavy_cream\"},\"amount\":{\"quantity\":57,\"unit_id\":\"gram\"},\"percentage\":57},{\"id\":\"line_03_butter_flavored_shortening\",\"reference\":{\"ingredient_id\":\"butter_flavored_shortening\"},\"amount\":{\"quantity\":25,\"unit_id\":\"gram\"},\"percentage\":25},{\"id\":\"line_04_ketchup\",\"reference\":{\"ingredient_id\":\"ketchup\"},\"amount\":{\"quantity\":11,\"unit_id\":\"gram\"},\"percentage\":11},{\"id\":\"line_05_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":9,\"unit_id\":\"gram\"},\"percentage\":9},{\"id\":\"line_06_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1,\"unit_id\":\"gram\"},\"percentage\":1},{\"id\":\"line_07_paprika\",\"reference\":{\"ingredient_id\":\"paprika\"},\"amount\":{\"quantity\":0.66,\"unit_id\":\"gram\"},\"percentage\":0.66},{\"id\":\"line_08_garlic_powder\",\"reference\":{\"ingredient_id\":\"garlic_powder\"},\"amount\":{\"quantity\":0.5,\"unit_id\":\"gram\"},\"percentage\":0.5},{\"id\":\"line_09_black_pepper_ground\",\"reference\":{\"ingredient_id\":\"black_pepper_ground\"},\"amount\":{\"quantity\":0.33,\"unit_id\":\"gram\"},\"percentage\":0.33}]}],\"equipment_ids\":[\"mixing_bowl\",\"whisk\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine mayonnaise, whipping cream, ketchup.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Combine spices.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Melt shortening in bowl.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Add all to shortening bowl.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Whisk until smooth.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Refridgerate overnight.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "mixing_bowl", + "whisk" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_mayonnaise", + "position": 1, + "ingredient_id": "mayonnaise", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 57, + "unit_id": "gram", + "percentage": 57, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_butter_flavored_shortening", + "position": 3, + "ingredient_id": "butter_flavored_shortening", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": 25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_ketchup", + "position": 4, + "ingredient_id": "ketchup", + "subrecipe_id": null, + "quantity": 11, + "unit_id": "gram", + "percentage": 11, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 9, + "unit_id": "gram", + "percentage": 9, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_paprika", + "position": 7, + "ingredient_id": "paprika", + "subrecipe_id": null, + "quantity": 0.66, + "unit_id": "gram", + "percentage": 0.66, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_garlic_powder", + "position": 8, + "ingredient_id": "garlic_powder", + "subrecipe_id": null, + "quantity": 0.5, + "unit_id": "gram", + "percentage": 0.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_black_pepper_ground", + "position": 9, + "ingredient_id": "black_pepper_ground", + "subrecipe_id": null, + "quantity": 0.33, + "unit_id": "gram", + "percentage": 0.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine mayonnaise, whipping cream, ketchup.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Combine spices.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Melt shortening in bowl.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Add all to shortening bowl.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Whisk until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Refridgerate overnight.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "berry_bagel", + "schema_version": 2, + "save_version": 1, + "title": "Berry Bagel", + "summary": null, + "categories_json": "[\"bread\"]", + "tags_json": "[\"bagel\"]", + "yield_quantity": 173.1, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"berry_bagel\",\"title\":\"Berry Bagel\",\"categories\":[\"bread\"],\"tags\":[\"bagel\"],\"yield\":{\"amount\":{\"quantity\":173.1,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_bread\",\"reference\":{\"ingredient_id\":\"flour_bread\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":44,\"unit_id\":\"gram\"},\"percentage\":44},{\"id\":\"line_03_berries\",\"reference\":{\"recipe_id\":\"blueberry_raspberry_blend\"},\"amount\":{\"quantity\":15,\"unit_id\":\"gram\"},\"percentage\":15},{\"id\":\"line_04_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":3,\"unit_id\":\"gram\"},\"percentage\":3},{\"id\":\"line_05_oil\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":3,\"unit_id\":\"gram\"},\"percentage\":3},{\"id\":\"line_06_barley_malt_syrup\",\"reference\":{\"ingredient_id\":\"barley_malt_syrup\"},\"amount\":{\"quantity\":3,\"unit_id\":\"gram\"},\"percentage\":3},{\"id\":\"line_07_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_08_nonfat_milk_powder\",\"reference\":{\"ingredient_id\":\"nonfat_milk_powder\"},\"amount\":{\"quantity\":1.85,\"unit_id\":\"gram\"},\"percentage\":1.85},{\"id\":\"line_09_instant_yeast\",\"reference\":{\"ingredient_id\":\"instant_yeast\"},\"amount\":{\"quantity\":1.25,\"unit_id\":\"gram\"},\"percentage\":1.25}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine ingredients (minus berries and oil) and mix until dough comes together.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Add oil and continue mixing until smooth dough forms.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Add frozen blueberries and mix roughly for 1 min until combined.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Proof until almost double.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Divide into 5 portions and roll in tight balls.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Rest for 15 min.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Shape into bagels.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Proof until double.\",\"component_ids\":[\"main\"]},{\"id\":\"step_09\",\"order\":9,\"instruction\":\"Boil pot of water with 1 tbsp malted barley syrup.\",\"component_ids\":[\"main\"]},{\"id\":\"step_10\",\"order\":10,\"instruction\":\"Boil each bagel for 10-20 seconds on both sides.\",\"component_ids\":[\"main\"]},{\"id\":\"step_11\",\"order\":11,\"instruction\":\"Drain bagels and place on parchment paper.\",\"component_ids\":[\"main\"]},{\"id\":\"step_12\",\"order\":12,\"instruction\":\"Bake at 410 °F for 15-20 min.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 44, + "unit_id": "gram", + "percentage": 44, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_berries", + "position": 3, + "ingredient_id": null, + "subrecipe_id": "blueberry_raspberry_blend", + "quantity": 15, + "unit_id": "gram", + "percentage": 15, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_oil", + "position": 5, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_barley_malt_syrup", + "position": 6, + "ingredient_id": "barley_malt_syrup", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_nonfat_milk_powder", + "position": 8, + "ingredient_id": "nonfat_milk_powder", + "subrecipe_id": null, + "quantity": 1.85, + "unit_id": "gram", + "percentage": 1.85, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_instant_yeast", + "position": 9, + "ingredient_id": "instant_yeast", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 1.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine ingredients (minus berries and oil) and mix until dough comes together.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Add oil and continue mixing until smooth dough forms.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Add frozen blueberries and mix roughly for 1 min until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Proof until almost double.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Divide into 5 portions and roll in tight balls.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Rest for 15 min.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Shape into bagels.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Proof until double.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_09", + "position": 9, + "instruction": "Boil pot of water with 1 tbsp malted barley syrup.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Boil each bagel for 10-20 seconds on both sides.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_11", + "position": 11, + "instruction": "Drain bagels and place on parchment paper.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_12", + "position": 12, + "instruction": "Bake at 410 °F for 15-20 min.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "berry_muffin", + "schema_version": 2, + "save_version": 1, + "title": "Berry Muffin", + "summary": null, + "categories_json": "[\"dessert\"]", + "tags_json": "[\"muffin\"]", + "yield_quantity": 362, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"berry_muffin\",\"title\":\"Berry Muffin\",\"categories\":[\"dessert\"],\"tags\":[\"muffin\"],\"yield\":{\"amount\":{\"quantity\":362,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_cake\",\"reference\":{\"ingredient_id\":\"flour_cake\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":70,\"unit_id\":\"gram\"},\"percentage\":70},{\"id\":\"line_03_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":63,\"unit_id\":\"gram\"},\"percentage\":63},{\"id\":\"line_04_shortening\",\"reference\":{\"ingredient_id\":\"shortening\"},\"amount\":{\"quantity\":40,\"unit_id\":\"gram\"},\"percentage\":40},{\"id\":\"line_05_frozen_berries\",\"reference\":{\"recipe_id\":\"blueberry_raspberry_blend\"},\"amount\":{\"quantity\":40,\"unit_id\":\"gram\"},\"percentage\":40},{\"id\":\"line_06_egg_whole\",\"reference\":{\"ingredient_id\":\"egg_whole\"},\"amount\":{\"quantity\":30,\"unit_id\":\"gram\"},\"percentage\":30},{\"id\":\"line_07_nonfat_milk_powder\",\"reference\":{\"ingredient_id\":\"nonfat_milk_powder\"},\"amount\":{\"quantity\":7,\"unit_id\":\"gram\"},\"percentage\":7},{\"id\":\"line_08_baking_powder\",\"reference\":{\"ingredient_id\":\"baking_powder\"},\"amount\":{\"quantity\":6,\"unit_id\":\"gram\"},\"percentage\":6},{\"id\":\"line_09_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":3.5,\"unit_id\":\"gram\"},\"percentage\":3.5},{\"id\":\"line_10_vanilla_extract\",\"reference\":{\"ingredient_id\":\"vanilla_extract\"},\"amount\":{\"quantity\":2.5,\"unit_id\":\"gram\"},\"percentage\":2.5}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Sift together dry.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Combine all liquid.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Add liquid to dry.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Mix until just moistened, lumpy.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Pan and bake immediately.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_cake", + "position": 1, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 70, + "unit_id": "gram", + "percentage": 70, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_water", + "position": 3, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 63, + "unit_id": "gram", + "percentage": 63, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_shortening", + "position": 4, + "ingredient_id": "shortening", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 40, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_frozen_berries", + "position": 5, + "ingredient_id": null, + "subrecipe_id": "blueberry_raspberry_blend", + "quantity": 40, + "unit_id": "gram", + "percentage": 40, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whole", + "position": 6, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": 30, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_nonfat_milk_powder", + "position": 7, + "ingredient_id": "nonfat_milk_powder", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 7, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_baking_powder", + "position": 8, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 3.5, + "unit_id": "gram", + "percentage": 3.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_vanilla_extract", + "position": 10, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 2.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Sift together dry.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Combine all liquid.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Add liquid to dry.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Mix until just moistened, lumpy.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Pan and bake immediately.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "biscuit_a_la_cuillere", + "schema_version": 2, + "save_version": 6, + "title": "Biscuit a la Cuillère", + "summary": "Yield: one full sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 1214, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one full sheet pan\",\"This cake batter can also be piped into traditional \\\"lady fingers.\\\"\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_egg_whites", + "position": 1, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 360, + "unit_id": "gram", + "percentage": 120, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_confectioners_sugar", + "position": 2, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_cream_of_tartar", + "position": 3, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": 80, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vanilla_extract", + "position": 5, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.67, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_flour_cake", + "position": 6, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.83, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Prepare a stiff peak French meringue with the egg whites, sugar, and cream of tartar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the egg yolks and extract, then fold into the meringue until streaky.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Fold the sifted dry ingredients into the meringue just until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Spread onto a parchment-lined sheet pan.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Sift additional powdered sugar on top of the cake before baking.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 350°F (177°C) until the cake springs back to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "biscuit_a_la_cuillere_au_chocolat", + "schema_version": 2, + "save_version": 6, + "title": "Biscuit a la Cuillère au Chocolat", + "summary": "Yield: one full sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 1215, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one full sheet pan\",\"This cake batter can also be piped into traditional \\\"lady fingers.\\\"\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_egg_whites", + "position": 1, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 360, + "unit_id": "gram", + "percentage": 163.64, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": 36.36, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_cream_of_tartar", + "position": 3, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 1.36, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 245, + "unit_id": "gram", + "percentage": 111.36, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_confectioners_sugar", + "position": 5, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 190, + "unit_id": "gram", + "percentage": 86.36, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_flour_cake", + "position": 6, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 220, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_cornstarch", + "position": 7, + "ingredient_id": "cornstarch", + "subrecipe_id": null, + "quantity": 57, + "unit_id": "gram", + "percentage": 25.91, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_cocoa_powder", + "position": 8, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 57, + "unit_id": "gram", + "percentage": 25.91, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 1.14, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Prepare a stiff peak French meringue with the egg whites, granulated sugar, and cream of tartar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the egg yolks and powdered sugar, then fold i nto the meringue until streaky.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Fold the sifted dry ingredients into the meringue just until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Spread onto a parchment-lined sheet pan.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Sift additional powdered sugar on top of the cake before baking.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 350°F (177°C) until the cake springs back to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "bittersweet_chocolate_custard_tart_filling", + "schema_version": 2, + "save_version": 6, + "title": "Bittersweet Chocolate Custard Tart Filling", + "summary": null, + "categories_json": "[\"tart_pie_fillings\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"tart_pie_fillings\",\"classic\"]", + "yield_quantity": 1020, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"This recipe can be infused with coffee, spices, tea, ginger, citrus, etc.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_milk_whole", + "position": 2, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_chocolate_dark", + "position": 5, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "58-66%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_yolk", + "position": 6, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 220, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the cream, milk, sugar, and salt to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Pour over the chocolate, allow to stand for a few minutes, then whisk until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk the egg yolks into the chocolate mixture.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Strain the filling through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 250°F (121ºC) in blind baked tart shells just until set.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "bittersweet_chocolate_ganache_tart_filling", + "schema_version": 2, + "save_version": 6, + "title": "Bittersweet Chocolate Ganache Tart Filling", + "summary": "Yield: two 9-inch tarts", + "categories_json": "[\"tart_pie_fillings\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"tart_pie_fillings\",\"classic\"]", + "yield_quantity": 900, + "yield_unit_id": "gram", + "yield_servings": 2, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: two 9-inch tarts\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_chocolate_dark", + "position": 1, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 344, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "61%, chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_butter", + "position": 2, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 136, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_invert_sugar", + "position": 3, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 44, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_heavy_cream", + "position": 5, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 376, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Combine the chocolate, butter, sugar, and salt in a bowl large enough to accommodate the entire recipe.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Bring the cream to a boil and pour over the chocolate mixture.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Allow the mixture to stand for a few minutes, then emulsify gently to avoid creating air bubbles.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Pour the ganache into blind baked tart shells and allow to cool and set at room temperature.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "bittersweet_chocolate_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Bittersweet Chocolate Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 2185, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"This recipe can also be prepared by folding warm melted chocolate into warm pâte à bombe, then folding the whipped cream into that.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_chocolate_dark", + "position": 1, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 665, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "58-72%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 940, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 qt", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_yolk", + "position": 3, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 280, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the chocolate over a water bath in a bowl large enough to accommodate the entire recipe; keep very warm.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Make a pâte à bombe with the egg yolks, sugar, and salt.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Fold the whipped cream into the very warm chocolate quickly and deliberately.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold the pâte à bombe into the chocolate/cream mixture.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "black_cherry_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Black Cherry Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 1940, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_black_cherry_puree", + "position": 4, + "ingredient_id": "black_cherry_puree", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "10% sugar", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lemon_juice", + "position": 5, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_kirschwasser", + "position": 6, + "ingredient_id": "kirschwasser", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_whites", + "position": 7, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_sugar", + "position": 8, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Warm ⅓ of the puree and melt the bloomed and drained gelatin into it. Whisk that warm mixture back into the rest of the puree and add the juice and Kirschwasser. Cool to about 65°F (18°C), or until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make an Italian meringue with the sugar and egg whites; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold ½ of the puree into the meringue. Fold the other ½ into the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the two mixtures together.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "black_forest_chocolate_cake", + "schema_version": 2, + "save_version": 6, + "title": "Black Forest Chocolate Cake", + "summary": "Yield: two 6-inch cake pans", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 1093, + "yield_unit_id": "gram", + "yield_servings": 2, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: two 6-inch cake pans\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 130, + "unit_id": "gram", + "percentage": 65, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_powered_sugar", + "position": 2, + "ingredient_id": "powered_sugar", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": 45, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_invert_sugar", + "position": 3, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_yolk", + "position": 5, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": 45, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_vanilla_extract", + "position": 6, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 2.5, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_whites", + "position": 7, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 270, + "unit_id": "gram", + "percentage": 135, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_sugar", + "position": 8, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 190, + "unit_id": "gram", + "percentage": 95, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_cream_of_tartar", + "position": 9, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 1.5, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_flour_cake", + "position": 10, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_cocoa_powder", + "position": 11, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_salt", + "position": 12, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 2.5, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter and sugars.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Combine the whole egg, yolks, and extract. Add to the mixer in 3 additions, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a separate mixing bowl fitted with a whisk attachment, make a stiff peak French meringue with the egg whites, sugar, and cream of tartar. Gently fold into the butter mixture until streaky.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Gently fold the sifted dry ingredients into the meringue mixture until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 350°F (177ºC) until the cake springs back to the touch and a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "black_olive_parmesan_sable_cookies", + "schema_version": 2, + "save_version": 6, + "title": "Black Olive-Parmesan Sablé Cookies", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1781, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"The dough can be refrigerated for 3 days or frozen up to 2 months.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_parmesan_cheese", + "position": 1, + "ingredient_id": "parmesan_cheese", + "subrecipe_id": null, + "quantity": 535, + "unit_id": "gram", + "percentage": 118.89, + "basis_member": 0, + "optional": 0, + "notes": "grated", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_butter", + "position": 2, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 375, + "unit_id": "gram", + "percentage": 83.33, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_flour_all_purpose", + "position": 3, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 225, + "unit_id": "gram", + "percentage": 50, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_flour_cake", + "position": 4, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 225, + "unit_id": "gram", + "percentage": 50, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.11, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_black_pepper", + "position": 6, + "ingredient_id": "black_pepper", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 0.44, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_herbes_de_provence", + "position": 7, + "ingredient_id": "herbes_de_provence", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.11, + "basis_member": 0, + "optional": 0, + "notes": "1 tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_oil_cured_black_olives", + "position": 8, + "ingredient_id": "oil_cured_black_olives", + "subrecipe_id": null, + "quantity": 263, + "unit_id": "gram", + "percentage": 58.44, + "basis_member": 0, + "optional": 0, + "notes": "minced", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_olive_oil", + "position": 9, + "ingredient_id": "olive_oil", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 33.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix the cheese, butter, flours, and seasonings until well blended.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the olives and oil and mix just until combined, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Wrap the dough in plastic wrap and refrigerate until firm.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Roll to ⅜-inch thick, cut into desired size and place on parchment-lined sheet pans.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 325°F (163°C) until light golden brown and just baked through.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "black_sesame_ice_cream", + "schema_version": 2, + "save_version": 6, + "title": "Black Sesame Ice Cream", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_milk_whole", + "position": 1, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 882, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 88, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_milk_powder", + "position": 3, + "ingredient_id": "milk_powder", + "subrecipe_id": null, + "quantity": 44, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 185, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_dextrose", + "position": 5, + "ingredient_id": "dextrose", + "subrecipe_id": null, + "quantity": 35, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_ice_cream_stabilizer", + "position": 6, + "ingredient_id": "ice_cream_stabilizer", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_egg_yolk", + "position": 8, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 140, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_invert_sugar", + "position": 9, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 45, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_black_sesame_tahini_paste", + "position": 10, + "ingredient_id": "black_sesame_tahini_paste", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan large enough to accommodate the entire recipe, combine the milk and cream. With an immersion blender, blend in the milk powder to dissolve.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Heat until warm, 105°F (40°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "When the mixture is warm, add the blended sugar, dextrose, stabilizer, and salt, followed by the egg yolks and invert sugar.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir with a whisk and heat to 185°F (85°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "When heated, blend in the tahini paste with an immersion blender until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Chill immediately and allow to mature for 6 to 12 hours.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Blend with an immersion blender before spinning.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "blackberry_almond_sheet_cake", + "schema_version": 2, + "save_version": 6, + "title": "Blackberry-Almond Sheet Cake", + "summary": "Yield: one full sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 1370, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one full sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_egg_whites", + "position": 1, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 450, + "unit_id": "gram", + "percentage": 600, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 220, + "unit_id": "gram", + "percentage": 293.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_cream_of_tartar", + "position": 3, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 4, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_almond_flour", + "position": 4, + "ingredient_id": "almond_flour", + "subrecipe_id": null, + "quantity": 375, + "unit_id": "gram", + "percentage": 500, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_confectioners_sugar", + "position": 5, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 140, + "unit_id": "gram", + "percentage": 186.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_flour_cake", + "position": 6, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 3.33, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_blackberry_puree", + "position": 8, + "ingredient_id": "blackberry_puree", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 133.33, + "basis_member": 0, + "optional": 0, + "notes": "10% sugar", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_lime_zest", + "position": 9, + "ingredient_id": "lime_zest", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 3.33, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Prepare a medium peak French meringue with the egg whites, granulated sugar, and cream of tartar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Fold the sifted dry ingredients into the meringue until streaky.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Combine the puree and zest. Sacrifice some of the batter to lighten the puree mixture, then fold into the rest of the batter just until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Bake at 350ºF (177ºC) until the cake springs back to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "blackberry_granite", + "schema_version": 2, + "save_version": 6, + "title": "Blackberry Granité", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1600, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"This recipe is also nice infused with chili peppers, black or red peppercorns, tea, fresh ginger, lemongrass, or vanilla beans.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 550, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_blackberries", + "position": 3, + "ingredient_id": "blackberries", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_gelatin_sheet", + "position": 4, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_water", + "position": 5, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_blackberry_puree", + "position": 6, + "ingredient_id": "blackberry_puree", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_lemon_juice", + "position": 7, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the water and sugar to a boil. Add the blackberries and simmer on low heat until they break down.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Set aside the cooked blackberries and allow to infuse for 30 minutes, then strain through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water. Drain and gently melt with 2 tablespoons of the strained blackberry syrup.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Whisk the melted gelatin, blackberry syrup, puree, and juice to combine.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Measure and adjust the °Brix between 15°-20° depending on the sweetness of the blackberries and your taste.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Pour into a shallow pan and begin to freeze, stirring every 15 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "blackberry_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Blackberry Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 1980, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_blackberry_puree", + "position": 4, + "ingredient_id": "blackberry_puree", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lemon_juice", + "position": 5, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_blackberry_brandy", + "position": 6, + "ingredient_id": "blackberry_brandy", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_whites", + "position": 7, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 130, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_sugar", + "position": 8, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Warm ⅓ of the puree and melt the bloomed and drained gelatin into it. Whisk that warm mixture back into the rest of the puree and add the juice and brandy. Cool to about 65°F (18°C), or until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make an Italian meringue with the sugar and egg whites; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold ½ of the puree into the meringue. Fold the other ½ into the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the two mixtures together.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "blackout_sheet_cake", + "schema_version": 2, + "save_version": 6, + "title": "Blackout Sheet Cake", + "summary": "Yield: one full sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 1688, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one full sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sugar", + "position": 1, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 200, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_flour_all_purpose", + "position": 2, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_cocoa_powder", + "position": 3, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_baking_soda", + "position": 4, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 9, + "unit_id": "gram", + "percentage": 4.5, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_baking_powder", + "position": 5, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 2.5, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 1.25, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_buttermilk", + "position": 7, + "ingredient_id": "buttermilk", + "subrecipe_id": null, + "quantity": 225, + "unit_id": "gram", + "percentage": 112.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_coffee", + "position": 8, + "ingredient_id": "coffee", + "subrecipe_id": null, + "quantity": 225, + "unit_id": "gram", + "percentage": 112.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_egg_whole", + "position": 9, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_butter", + "position": 10, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 113, + "unit_id": "gram", + "percentage": 56.5, + "basis_member": 0, + "optional": 0, + "notes": "melted", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_vanilla_extract", + "position": 11, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 2.5, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_egg_whites", + "position": 12, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_sugar", + "position": 13, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_14_cream_of_tartar", + "position": 14, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 1.5, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Sift the dry ingredients and place in a bowl large enough to accommodate the entire recipe.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the buttermilk, coffee, whole eggs, butter, and extract until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk the wet ingredients into the sifted dry ingredients until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Prepare a stiff peak French meringue with the egg whites, sugar, and cream of tartar. Fold the meringue into the batter.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 350°F (177°C) until the cake springs back to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "blood_orange_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Blood Orange Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 2160, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_blood_orange_puree", + "position": 4, + "ingredient_id": "blood_orange_puree", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "10% sugar", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_yolk", + "position": 5, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 280, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Warm ⅓ of the puree and melt the bloomed and drained gelatin into it. Whisk that warm mixture back into the rest of the puree. Cool to about 65°F (18°C), or until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make a pâte à bombe with the sugar and egg yolks; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold ½ of the puree into the pâte à bombe. Fold the other ½ into the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the two mixtures together.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "blueberry_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Blueberry Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 2130, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_blueberry_puree", + "position": 4, + "ingredient_id": "blueberry_puree", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "10% sugar", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lemon_juice", + "position": 5, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_cr_me_de_cassis", + "position": 6, + "ingredient_id": "cr_me_de_cassis", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "optional", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_whites", + "position": 7, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 130, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_sugar", + "position": 8, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Warm ⅓ of the puree and melt the bloomed and drained gelatin into it. Whisk that warm mixture back into the rest of the puree and add the juice and alcohol, if using. Cool to about 65°F (18°C), or until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make an Italian meringue with the sugar and egg whites; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold ½ of the puree into the meringue. Fold the other ½ into the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the two mixtures together.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "blueberry_muffins", + "schema_version": 2, + "save_version": 6, + "title": "Blueberry Muffins", + "summary": null, + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breakfast\",\"classic\"]", + "yield_quantity": 1845, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 338, + "unit_id": "gram", + "percentage": 84.5, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 62.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_invert_sugar", + "position": 3, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 12.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_lemon_zest", + "position": 4, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": 0.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_whole", + "position": 5, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 62.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_vanilla_extract", + "position": 6, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 1.75, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_flour_cake", + "position": 7, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_semolina", + "position": 8, + "ingredient_id": "semolina", + "subrecipe_id": null, + "quantity": 12, + "unit_id": "gram", + "percentage": 3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_baking_powder", + "position": 9, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 12, + "unit_id": "gram", + "percentage": 3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_milk_whole", + "position": 10, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": 31.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_sour_cream", + "position": 11, + "ingredient_id": "sour_cream", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": 31.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_blueberries", + "position": 12, + "ingredient_id": "blueberries", + "subrecipe_id": null, + "quantity": 275, + "unit_id": "gram", + "percentage": 68.75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter, sugars, and zest.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the eggs one at a time, followed by the extract, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Alternately fold in the sifted dry and wet ingredients, beginning and ending with the dry.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Gently fold in the blueberries.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 350°F (177°C) until a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "blueberry_raspberry_blend", + "schema_version": 2, + "save_version": 1, + "title": "Blueberry–Raspberry Blend", + "summary": null, + "categories_json": "[\"component\"]", + "tags_json": "[\"fruit\",\"berry\"]", + "yield_quantity": 100, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[]", + "source_json": "{\"schema_version\":2,\"id\":\"blueberry_raspberry_blend\",\"title\":\"Blueberry–Raspberry Blend\",\"categories\":[\"component\"],\"tags\":[\"fruit\",\"berry\"],\"yield\":{\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_blueberry\",\"reference\":{\"ingredient_id\":\"blueberry\"},\"amount\":{\"quantity\":50,\"unit_id\":\"gram\"},\"percentage\":50,\"basis_member\":true},{\"id\":\"line_02_raspberry\",\"reference\":{\"ingredient_id\":\"raspberry\"},\"amount\":{\"quantity\":50,\"unit_id\":\"gram\"},\"percentage\":50}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine equal weights of blueberries and raspberries.\",\"component_ids\":[\"main\"]}]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_blueberry", + "position": 1, + "ingredient_id": "blueberry", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 50, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_raspberry", + "position": 2, + "ingredient_id": "raspberry", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine equal weights of blueberries and raspberries.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "bran_muffins", + "schema_version": 2, + "save_version": 6, + "title": "Bran Muffins", + "summary": null, + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breakfast\",\"classic\"]", + "yield_quantity": 1507, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_egg_whole", + "position": 1, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 11.14, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_brown_sugar", + "position": 2, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 266, + "unit_id": "gram", + "percentage": 59.24, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_canola_oil", + "position": 3, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 178, + "unit_id": "gram", + "percentage": 39.64, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_flour_cake", + "position": 4, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 342, + "unit_id": "gram", + "percentage": 76.17, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_bran_flour", + "position": 5, + "ingredient_id": "bran_flour", + "subrecipe_id": null, + "quantity": 107, + "unit_id": "gram", + "percentage": 23.83, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_baking_soda", + "position": 6, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 2.23, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 8, + "unit_id": "gram", + "percentage": 1.78, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_milk_whole", + "position": 8, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 270, + "unit_id": "gram", + "percentage": 60.13, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_molasses", + "position": 9, + "ingredient_id": "molasses", + "subrecipe_id": null, + "quantity": 85, + "unit_id": "gram", + "percentage": 18.93, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_carrots", + "position": 10, + "ingredient_id": "carrots", + "subrecipe_id": null, + "quantity": 85, + "unit_id": "gram", + "percentage": 18.93, + "basis_member": 0, + "optional": 0, + "notes": "peeled & grated", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_pineapple", + "position": 11, + "ingredient_id": "pineapple", + "subrecipe_id": null, + "quantity": 63, + "unit_id": "gram", + "percentage": 14.03, + "basis_member": 0, + "optional": 0, + "notes": "finely chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_golden_raisins", + "position": 12, + "ingredient_id": "golden_raisins", + "subrecipe_id": null, + "quantity": 43, + "unit_id": "gram", + "percentage": 9.58, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a whisk attachment, whisk the egg and sugar until light and thick.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Gradually add the oil.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Alternately fold the sifted dry and wet ingredients into the whipped egg.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Fold in the carrots, pineapple, and raisins.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 350°F (177°C) until a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "brie_cheese_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Brie Cheese Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 1278, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_brie_cheese", + "position": 4, + "ingredient_id": "brie_cheese", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "rind removed", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_milk_whole", + "position": 5, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 113, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to medium peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Melt the brie, milk, and sugar together over a water bath. Stir until the mixture is smooth and the sugar has dissolved.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the bloomed and drained gelatin to the warm brie mixture and stir to dissolve the gelatin.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Cool the melted brie mixture to about 65°F (18°C), or until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the whipped cream into the cooled brie mixture.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Brie is a soft cow's milk cheese named after Brie, the French region from which it originates.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "brioche", + "schema_version": 2, + "save_version": 6, + "title": "Brioche", + "summary": null, + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breakfast\",\"classic\"]", + "yield_quantity": 1160, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "sponge", + "position": 1, + "name": "Sponge", + "notes_json": "[]" + }, + { + "id": "dough", + "position": 2, + "name": "Dough", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "dough", + "id": "line_04_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 450, + "unit_id": "gram", + "percentage": 90, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_05_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 70, + "unit_id": "gram", + "percentage": 14, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_06_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_07_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_08_butter", + "position": 5, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "sponge", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 10, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "sponge", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 10, + "basis_member": 0, + "optional": 0, + "notes": "110°F/43°C", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "sponge", + "id": "line_03_yeast_fresh", + "position": 3, + "ingredient_id": "yeast_fresh", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": 5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Make a sponge with the flour, water, and yeast. Cover and let proof in a warm place for about 30 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Once the sponge is ready, mix everything together- except the butter- with a dough hook for about 5 minutes, or until gluten is developed and a \"window\" is achieved.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the butter in several additions and mix until silky and all of the butter has been absorbed into the dough.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Slow proof the dough in the refrigerator overnight. Alternatively, bulk proof for 2 hours at room temperature, chill until firm, then use.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "brioche_frangipane", + "schema_version": 2, + "save_version": 6, + "title": "Brioche Frangipane", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1460, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 375, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 375, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_brandy", + "position": 5, + "ingredient_id": "brandy", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_lemon_juice", + "position": 6, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_vanilla_extract", + "position": 7, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_almond_flour", + "position": 8, + "ingredient_id": "almond_flour", + "subrecipe_id": null, + "quantity": 188, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_brioche_crumbs", + "position": 9, + "ingredient_id": "brioche_crumbs", + "subrecipe_id": null, + "quantity": 188, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "crust removed", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter, sugar and salt, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the eggs one at a time.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Mix in the brandy, juice, and extract, scraping down the bowl again.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the flour and brioche crumbs; mix until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "brioche_ice_cream", + "schema_version": 2, + "save_version": 6, + "title": "Brioche Ice Cream", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "brioche_milk", + "position": 1, + "name": "Brioche Milk", + "notes_json": "[]" + }, + { + "id": "brioche_ice_cream", + "position": 2, + "name": "Brioche Ice Cream", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "brioche_ice_cream", + "id": "line_03_brioche_milk", + "position": 1, + "ingredient_id": "brioche_milk", + "subrecipe_id": null, + "quantity": 1043, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "brioche_ice_cream", + "id": "line_04_brown_butter", + "position": 2, + "ingredient_id": "brown_butter", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "brioche_ice_cream", + "id": "line_05_milk_powder", + "position": 3, + "ingredient_id": "milk_powder", + "subrecipe_id": null, + "quantity": 32, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "brioche_ice_cream", + "id": "line_06_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "brioche_ice_cream", + "id": "line_07_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 105, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "brioche_ice_cream", + "id": "line_08_egg_yolk", + "position": 6, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "brioche_ice_cream", + "id": "line_09_invert_sugar", + "position": 7, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "brioche_ice_cream", + "id": "line_10_sugar", + "position": 8, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 105, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "brioche_ice_cream", + "id": "line_11_ice_cream_stabilizer", + "position": 9, + "ingredient_id": "ice_cream_stabilizer", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "brioche_milk", + "id": "line_01_milk_whole", + "position": 1, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 1650, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "brioche_milk", + "id": "line_02_brioche", + "position": 2, + "ingredient_id": "brioche", + "subrecipe_id": null, + "quantity": 263, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "toasted", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Brioche Milk:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Place the toasted brioche in a saucepan with the milk. Bring to a scald and set aside to infuse for 1 hour.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Strain the infused milk through a fine-mesh strainer, pressing the soaked brioche to extract as much of the liquid as possible.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Brioche Ice Cream:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "In a saucepan large enough to accommodate the entire recipe, combine the brioche milk, butter, milk powder, and salt. Blend with an immersion blender to dissolve.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "saucepan" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Heat until warm, 105°F (40°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Meanwhile, whisk together the egg yolks and the first weight of granulated sugar until light. Add the yolk mixture and invert sugar to the warm milk mixture.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "whisk" + ] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Combine the second weight of sugar with the stabilizer and whisk into the warm milk mixture.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "whisk" + ] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Stir with a whisk and heat to 185°F (85°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Chill immediately and allow to mature for 6 to 12 hours.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_11", + "position": 11, + "instruction": "Blend with an immersion blender before spinning.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "broccoli_cheddar_soup", + "schema_version": 2, + "save_version": 1, + "title": "Broccoli Cheddar Soup", + "summary": null, + "categories_json": "[\"soup\"]", + "tags_json": "[\"cheese\"]", + "yield_quantity": 100, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"broccoli_cheddar_soup\",\"title\":\"Broccoli Cheddar Soup\",\"categories\":[\"soup\"],\"tags\":[\"cheese\"],\"yield\":{\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":20,\"unit_id\":\"gram\"},\"percentage\":20,\"basis_member\":true},{\"id\":\"line_02_onion\",\"reference\":{\"ingredient_id\":\"onion_yellow\"},\"amount\":{\"quantity\":10,\"unit_id\":\"gram\"},\"percentage\":10,\"basis_member\":true},{\"id\":\"line_03_carrot\",\"reference\":{\"ingredient_id\":\"carrot\"},\"amount\":{\"quantity\":10,\"unit_id\":\"gram\"},\"percentage\":10,\"basis_member\":true},{\"id\":\"line_04_butter\",\"reference\":{\"ingredient_id\":\"butter\"},\"amount\":{\"quantity\":1.2,\"unit_id\":\"gram\"},\"percentage\":1.2,\"basis_member\":true},{\"id\":\"line_05_flour_all_purpose\",\"reference\":{\"ingredient_id\":\"flour_all_purpose\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2,\"basis_member\":true},{\"id\":\"line_06_chicken_base\",\"reference\":{\"ingredient_id\":\"chicken_base\"},\"amount\":{\"quantity\":1,\"unit_id\":\"gram\"},\"percentage\":1,\"basis_member\":true},{\"id\":\"line_07_sharp_cheddar_cheese\",\"reference\":{\"ingredient_id\":\"sharp_cheddar_cheese\"},\"amount\":{\"quantity\":11,\"unit_id\":\"gram\"},\"percentage\":11,\"basis_member\":true},{\"id\":\"line_08_raw_broccoli\",\"reference\":{\"ingredient_id\":\"raw_broccoli\"},\"amount\":{\"quantity\":20,\"unit_id\":\"gram\"},\"percentage\":20,\"basis_member\":true},{\"id\":\"line_09_heavy_cream\",\"reference\":{\"ingredient_id\":\"heavy_cream\"},\"amount\":{\"quantity\":12,\"unit_id\":\"gram\"},\"percentage\":12,\"basis_member\":true},{\"id\":\"line_10_paprika\",\"reference\":{\"ingredient_id\":\"paprika\"},\"amount\":{\"quantity\":0.225,\"unit_id\":\"gram\"},\"percentage\":0.225,\"basis_member\":true},{\"id\":\"line_11_cayenne\",\"reference\":{\"ingredient_id\":\"cayenne\"},\"amount\":{\"quantity\":0.05,\"unit_id\":\"gram\"},\"percentage\":0.05,\"basis_member\":true},{\"id\":\"line_12_garlic_dehydrated_minced\",\"reference\":{\"ingredient_id\":\"garlic_dehydrated_minced\"},\"amount\":{\"quantity\":0.25,\"unit_id\":\"gram\"},\"percentage\":0.25,\"basis_member\":true},{\"id\":\"line_13_black_pepper_ground\",\"reference\":{\"ingredient_id\":\"black_pepper_ground\"},\"amount\":{\"quantity\":0.25,\"unit_id\":\"gram\"},\"percentage\":0.25,\"basis_member\":true},{\"id\":\"line_14_nutmeg\",\"reference\":{\"ingredient_id\":\"nutmeg\"},\"amount\":{\"quantity\":0.025,\"unit_id\":\"gram\"},\"percentage\":0.025,\"basis_member\":true},{\"id\":\"line_15_bacon\",\"reference\":{\"ingredient_id\":\"bacon\"},\"amount\":{\"quantity\":12,\"unit_id\":\"gram\"},\"percentage\":12,\"basis_member\":true}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Dice the bacon.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Cook the bacon in a pot.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Drain and reserve the bacon.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Return the bacon fat to the pot.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Add the butter, diced onion, paprika, cayenne, garlic, and black pepper.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Cook until the onion softens.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Add the flour.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Cook the flour mixture briefly.\",\"component_ids\":[\"main\"]},{\"id\":\"step_09\",\"order\":9,\"instruction\":\"Add the water and chicken base.\",\"component_ids\":[\"main\"]},{\"id\":\"step_10\",\"order\":10,\"instruction\":\"Add the broccoli and carrot.\",\"component_ids\":[\"main\"]},{\"id\":\"step_11\",\"order\":11,\"instruction\":\"Cook for about 20 min, or until the vegetables are tender.\",\"component_ids\":[\"main\"]},{\"id\":\"step_12\",\"order\":12,\"instruction\":\"Add the bacon and heavy cream.\",\"component_ids\":[\"main\"]},{\"id\":\"step_13\",\"order\":13,\"instruction\":\"Add the cheddar a little at a time.\",\"component_ids\":[\"main\"]},{\"id\":\"step_14\",\"order\":14,\"instruction\":\"Stir until the cheese melts.\",\"component_ids\":[\"main\"]},{\"id\":\"step_15\",\"order\":15,\"instruction\":\"Add the nutmeg.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 20, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_onion", + "position": 2, + "ingredient_id": "onion_yellow", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 10, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_carrot", + "position": 3, + "ingredient_id": "carrot", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 10, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_butter", + "position": 4, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 1.2, + "unit_id": "gram", + "percentage": 1.2, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_flour_all_purpose", + "position": 5, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_chicken_base", + "position": 6, + "ingredient_id": "chicken_base", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 1, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sharp_cheddar_cheese", + "position": 7, + "ingredient_id": "sharp_cheddar_cheese", + "subrecipe_id": null, + "quantity": 11, + "unit_id": "gram", + "percentage": 11, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_raw_broccoli", + "position": 8, + "ingredient_id": "raw_broccoli", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 20, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_heavy_cream", + "position": 9, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 12, + "unit_id": "gram", + "percentage": 12, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_paprika", + "position": 10, + "ingredient_id": "paprika", + "subrecipe_id": null, + "quantity": 0.225, + "unit_id": "gram", + "percentage": 0.225, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_cayenne", + "position": 11, + "ingredient_id": "cayenne", + "subrecipe_id": null, + "quantity": 0.05, + "unit_id": "gram", + "percentage": 0.05, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_garlic_dehydrated_minced", + "position": 12, + "ingredient_id": "garlic_dehydrated_minced", + "subrecipe_id": null, + "quantity": 0.25, + "unit_id": "gram", + "percentage": 0.25, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_black_pepper_ground", + "position": 13, + "ingredient_id": "black_pepper_ground", + "subrecipe_id": null, + "quantity": 0.25, + "unit_id": "gram", + "percentage": 0.25, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_14_nutmeg", + "position": 14, + "ingredient_id": "nutmeg", + "subrecipe_id": null, + "quantity": 0.025, + "unit_id": "gram", + "percentage": 0.025, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_15_bacon", + "position": 15, + "ingredient_id": "bacon", + "subrecipe_id": null, + "quantity": 12, + "unit_id": "gram", + "percentage": 12, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Dice the bacon.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Cook the bacon in a pot.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Drain and reserve the bacon.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Return the bacon fat to the pot.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Add the butter, diced onion, paprika, cayenne, garlic, and black pepper.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Cook until the onion softens.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Add the flour.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Cook the flour mixture briefly.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_09", + "position": 9, + "instruction": "Add the water and chicken base.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Add the broccoli and carrot.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_11", + "position": 11, + "instruction": "Cook for about 20 min, or until the vegetables are tender.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_12", + "position": 12, + "instruction": "Add the bacon and heavy cream.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_13", + "position": 13, + "instruction": "Add the cheddar a little at a time.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_14", + "position": 14, + "instruction": "Stir until the cheese melts.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_15", + "position": 15, + "instruction": "Add the nutmeg.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "brownie_sheet_cake", + "schema_version": 2, + "save_version": 6, + "title": "Brownie Sheet Cake", + "summary": "Yield: one full sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 2490, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one full sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_chocolate_dark", + "position": 1, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": 400, + "basis_member": 0, + "optional": 0, + "notes": "61-66%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_butter", + "position": 2, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 625, + "unit_id": "gram", + "percentage": 500, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_yolk", + "position": 3, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 200, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 120, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_whites", + "position": 5, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 375, + "unit_id": "gram", + "percentage": 300, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 200, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_cream_of_tartar", + "position": 7, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 4.8, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_flour_cake", + "position": 8, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 4, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_nuts", + "position": 10, + "ingredient_id": "nuts", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 160, + "basis_member": 0, + "optional": 0, + "notes": "toasted & chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the chocolate and butter over a water bath in a bowl large enough to accommodate the entire recipe. Set aside to cool until warm.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a whisk attachment, whisk the egg yolks and sugar until a thick ribbon is achieved.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Prepare a medium peak French meringue with the egg whites, sugar, and cream of tartar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Fold the egg yolk mixture into the ganache.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Gently fold the meringue into the ganache mixture until streaky.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Sift the dry ingredients over the streaky meringue and fold in along with the nuts.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Bake at 350°F (177°C) until a skewer inserted comes out with moist crumbs.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_8", + "position": 8, + "instruction": "This recipe has the flavor and texture of a brownie without the thickness of traditional brownies.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "buttercream", + "schema_version": 2, + "save_version": 1, + "title": "Buttercream", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"icing\"]", + "yield_quantity": 168.5, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"buttercream\",\"title\":\"Buttercream\",\"categories\":[\"sauce\"],\"tags\":[\"icing\"],\"yield\":{\"amount\":{\"quantity\":168.5,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_confectioners_sugar\",\"reference\":{\"ingredient_id\":\"confectioners_sugar\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_butter\",\"reference\":{\"ingredient_id\":\"butter\"},\"amount\":{\"quantity\":40,\"unit_id\":\"gram\"},\"percentage\":40},{\"id\":\"line_03_shortening\",\"reference\":{\"ingredient_id\":\"shortening\"},\"amount\":{\"quantity\":20,\"unit_id\":\"gram\"},\"percentage\":20},{\"id\":\"line_04_egg_whole\",\"reference\":{\"ingredient_id\":\"egg_whole\"},\"amount\":{\"quantity\":7.5,\"unit_id\":\"gram\"},\"percentage\":7.5},{\"id\":\"line_05_vanilla_extract\",\"reference\":{\"ingredient_id\":\"vanilla_extract\"},\"amount\":{\"quantity\":0.6,\"unit_id\":\"gram\"},\"percentage\":0.6},{\"id\":\"line_06_lemon_juice\",\"reference\":{\"ingredient_id\":\"lemon_juice\"},\"amount\":{\"quantity\":0.4,\"unit_id\":\"gram\"},\"percentage\":0.4}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Using paddle attachment, cream together butter, shortening, sugar until well-blended.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Add liquids, blend on medium.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Blend in more liquid for softer buttercream.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_confectioners_sugar", + "position": 1, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_butter", + "position": 2, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 40, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_shortening", + "position": 3, + "ingredient_id": "shortening", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 20, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 7.5, + "unit_id": "gram", + "percentage": 7.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vanilla_extract", + "position": 5, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": 0.6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_lemon_juice", + "position": 6, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 0.4, + "unit_id": "gram", + "percentage": 0.4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Using paddle attachment, cream together butter, shortening, sugar until well-blended.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Add liquids, blend on medium.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Blend in more liquid for softer buttercream.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "buttered_soft_pretzels", + "schema_version": 2, + "save_version": 6, + "title": "Buttered Soft Pretzels", + "summary": "Yield: nineteen 100 g (3.5 oz) pretzels. Flexible Chocolate Ganache, 208 Almond Cream with Almond Flour, 201 Almond Milk Mousse, 274 Almond Pâte Sablé, 16 Almond Pâte Sucrée, 21 Almond Toffee, 411 Anisette Biscotti, 300 Blackberry-Almond Sheet Cake, 127 Brioche Frangipane, 214 Caramelized Nuts, 413 Chocolate Babka, 482 Chocolate Macarons, 318 Coconut Frangipane, 216 Crispy Hazelnut Semifreddo, 466 Financier, Almond, 78 Financier, Chocolate, 79 Fruit & Nut Granola, 497 Gluten-Free Butter-Almond Sheet Cake, 150 Individual Gluten-Free Chocolate Cakes, 121 Joconde Sheet Cake, 152 Lavender-Honey Almond Bars, 316 Light Almond Sheet Cake, 154 Linzer Dough, 12 Macarons, 317 Nougat de Montélimar, 418 Nougat Semifreddo, 468 Olive Oil & Maple Granola, 498 Orange Tea Cake, 93 Orange Tuiles, 347 Pain de Gênes, 88 Petits Fours Glacé Sheet Cake, 158 Pistachio-Almond Cream, 219 Poppy Seed Sheet Cake, 159 Sacher Torte Sheet Cake, 163 Soft Coconut Dacquoise, 141 Soft Lime-Almond Dacquoise, 143 Soft Pistachio Dacquoise, 144 Speculoos, 334 Stollen, 514 Vanilla Crescents, 337 Almond Bavarian Cream, 289 Almond Cream with Almond Paste, 202 Baumkuchen Torte, 66 Chocolate Sheet Cake w/Almond Paste, 138 Frangipane Sheet Cake, 145 Pain de Gênes, 88 Petits Fours Glacé Sheet Cake, 158 Scandinavian Butter Cookies, 330 Almond Bavarian Cream, 289 Almond Milk Mousse, 274 Tiramisu Cream, 222 Apple Blondies, 298 Apple Cider Doughnuts, 490 Apple Cider Sabayon, 370 Apple Cider Sauce, 352 Apple Muffins, 502 Apple Paper Tuiles, 338 Apple Pie Filling, 52 Apple Strudel Filling, 62 Candied Apple Caramel, 412 Green Apple Mousse, 255 Soft Apple Cider Caramels, 422 Swiss Muesli, 516 Vegan Tofu Muffins, 508 Chocolate-Apricot Mousse, 251 Apricot-Passion Fruit Bavarian Cream, 290 Apricot Mousse, 246 B Cabbage-Bacon Strudel Filling, 63 Bacon-Maple Bonbon Ganache, 382 Bagels, 474 Bagels, Whole Wheat, 475 Banana Bread, 476 Banana Bread Pudding Custard, 231 Banana Sheet Cake, 124 Banana-Peanut Butter Semifreddo, 462 Chocolate-Banana Sheet Cake, 136 Fresh Banana Mousse, 254 Milk Chocolate-Banana Bonbon Ganache, 391 Strawberry-Passion Fruit Sauce, 368 Strawberry-Passion Fruit Sorbet, 452 Almond Bavarian Cream, 289 Apricot-Passion Fruit Bavarian Cream, 290 Chocolate Bavarian Cream, 291 Coconut Bavarian Cream, 292 Fruit Bavarian Cream, 293 Honey Bavarian Cream, 294 Milk Chocolate Bavarian Cream, 295 Pistachio Bavarian Cream, 296 Anisette Biscotti, 300 Chocolate Pistachio Cherry Biscotti, 301 Buttermilk Biscuits, 518 Gluten-Free Ham & Cheese Buttermilk Biscuits, 519 Blackberry-Almond Sheet Cake, 127 Blackberry Granité, 455 Blackberry Mousse, 248 Blueberry Mousse, 250 Blueberry Muffins, 503 Fresh Blueberry Pie Filling, 54 Swiss Museli, 516 Bacon-Maple Bonbon Ganache, 382 Caramel-Ginger Bonbon Ganache, 383 Caramel-Milk Chocolate Bonbon Ganache, 384 Caramel-Olive Oil & Pine Nut Bonbon Ganache, 385 Cherry-Vanilla Bonbon Ganache, 386 Chocolate-Raspberry Bonbon Ganache, 387 Coconut Bonbon Ganache, 388 Espresso Bonbon Ganache, 389 Lime Bonbon Ganache, 390 Milk Chocolate-Banana Bonbon Ganache, 391 Milk Chocolate-Lemon Bonbon Ganache, 392 Milk Chocolate-Raspberry Bonbon Ganache, 393 Mint Bonbon Ganache, 394 Passion Fruit Bonbon Ganache, 395 Pistachio Bonbon Ganache, 396 Spice Bonbon Ganache, 397 Sweet Potato-Caramel Bonbon Ganache, 398 Tea Infused Chocolate Bonbon Ganache, 399 Tequila-Lime Bonbon Ganache, 400 Valrhona Azélia-Praliné Bonbon Ganache, 401 Vanilla-Rum Bonbon Ganache, 402 Moist Honey Cake, 86 Pecan Pie Filling, 58 Sweet Potato-Caramel Bonbon Ganache, 398 Toffee Sauce, 369 Vanilla Bourbon Caramel Sauce, 356 Wet Nut Topping, 472 Peanut Brittle, 420 Sesame-Ginger Brittle, 421 Banana Bread Pudding Custard, 231 Chocolate Bread Pudding Custard, 232 Focaccia, 523 Focaccia, Cheese, 524 Fougasse, 525 Kaiser Rolls, 527 Kalamata Olive Bread, 528 Naan (Indian Flatbread), 530 Oatmeal Walnut Bread, 531 Pain De Mie, 532 Pain Viennois, 533 Potato Rolls, 535 Soft Dinner Rolls, 536 Babka, Chocolate, 482 Bagels, 474 Bagels, Whole Wheat, 475 Banana Bread, 476 Challah, Raisin, 512 Churros, 484 Coffee Cake, 485 Corn Bread, 477 Croissant Dough, 486 Danish Pastry Dough, 488 Doughnuts, Apple Cider, 490", + "categories_json": "[\"breads\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breads\",\"classic\"]", + "yield_quantity": 1920, + "yield_unit_id": "gram", + "yield_servings": 9, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: nineteen 100 g (3.5 oz) pretzels\",\"Pretzels also bake well on oiled black steel sheet pans.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 1150, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 640, + "unit_id": "gram", + "percentage": 55.65, + "basis_member": 0, + "optional": 0, + "notes": "110°F/43°C", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 45, + "unit_id": "gram", + "percentage": 3.91, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_butter", + "position": 4, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 29, + "unit_id": "gram", + "percentage": 2.52, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_honey", + "position": 5, + "ingredient_id": "honey", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": 2.17, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_yeast_fresh", + "position": 6, + "ingredient_id": "yeast_fresh", + "subrecipe_id": null, + "quantity": 17, + "unit_id": "gram", + "percentage": 1.48, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 1.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a hook attachment, combine all of the ingredients and mix on low speed until a dough forms.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Increase the speed to medium and mix until the dough is smooth and elastic.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Bulk ferment until doubled in size.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Divide into 100 g (3.5 oz) pieces and pre-shape. Cover and bench rest for 10 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Complete final shape.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Refrigerate for at least 30 minutes, or up to 24 hours.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Using gloves, carefully dip into a 4% lye solution for 30 seconds or boil for 5 seconds on each side in a solution of baking soda and water (20 g baking soda per liter of water).", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Place the pretzels on oiled, parchment-lined sheet pans or silicone baking mats and top with with Maldon sea salt.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Bake at 425°F (218°C) until deep golden brown (about 10-12 minutes).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Brush the pretzels with melted butter while hot from the oven.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "buttermilk_biscuits", + "schema_version": 2, + "save_version": 7, + "title": "Buttermilk Biscuits", + "summary": "Yield: thirty-two 2½-inch biscuits", + "categories_json": "[\"breads\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breads\",\"classic\"]", + "yield_quantity": 1845, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Yield: thirty-two 2½-inch biscuits\"]", + "source_json": "{\"schema_version\":2,\"id\":\"buttermilk_biscuits\",\"title\":\"Buttermilk Biscuits\",\"categories\":[\"bread\"],\"tags\":[\"biscuit\"],\"yield\":{\"amount\":{\"quantity\":213,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_all_purpose\",\"reference\":{\"ingredient_id\":\"flour_all_purpose\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_buttermilk\",\"reference\":{\"ingredient_id\":\"buttermilk\"},\"amount\":{\"quantity\":65,\"unit_id\":\"gram\"},\"percentage\":65},{\"id\":\"line_03_shortening\",\"reference\":{\"ingredient_id\":\"shortening\"},\"amount\":{\"quantity\":35,\"unit_id\":\"gram\"},\"percentage\":35},{\"id\":\"line_04_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":5,\"unit_id\":\"gram\"},\"percentage\":5},{\"id\":\"line_05_baking_powder\",\"reference\":{\"ingredient_id\":\"baking_powder\"},\"amount\":{\"quantity\":5,\"unit_id\":\"gram\"},\"percentage\":5},{\"id\":\"line_06_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_07_baking_soda\",\"reference\":{\"ingredient_id\":\"baking_soda\"},\"amount\":{\"quantity\":1,\"unit_id\":\"gram\"},\"percentage\":1}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Scale.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Sift, combine dry.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Combine liquid.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Paddle in shortening into dry until coarse cornmeal.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Add liquid to dry.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Mix until just combined, soft dough.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Fold 6x.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Roll out 1/2 in thick.\",\"component_ids\":[\"main\"]},{\"id\":\"step_09\",\"order\":9,\"instruction\":\"Cut into shapes.\",\"component_ids\":[\"main\"]},{\"id\":\"step_10\",\"order\":10,\"instruction\":\"Place 1/2 in apart parchment paper.\",\"component_ids\":[\"main\"]},{\"id\":\"step_11\",\"order\":11,\"instruction\":\"Egg wash (optional).\",\"component_ids\":[\"main\"]},{\"id\":\"step_12\",\"order\":12,\"instruction\":\"Bake immediately, 15-20 min at 400 °F.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 908, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_salt", + "position": 2, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 2.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_baking_powder", + "position": 3, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 1.65, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_baking_soda", + "position": 4, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 0.55, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_butter", + "position": 5, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 340, + "unit_id": "gram", + "percentage": 37.44, + "basis_member": 0, + "optional": 0, + "notes": "½-inch cubes, cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_buttermilk", + "position": 6, + "ingredient_id": "buttermilk", + "subrecipe_id": null, + "quantity": 560, + "unit_id": "gram", + "percentage": 61.67, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix the sifted dry ingredients and butter until the mixture resembles coarse cornmeal.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the buttermilk and mix just until barely combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Turn the dough out onto a lightly floured work surface and gently knead until the dough comes together.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Pat or roll the dough to 1-inch thickness.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "With a cutter or knife, portion the dough into biscuits.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 375°F (191°C) until golden brown. Do not over bake.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Brush with melted butter while hot from the oven.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "buttermilk_panna_cotta", + "schema_version": 2, + "save_version": 6, + "title": "Buttermilk Panna Cotta", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1630, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 540, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_buttermilk", + "position": 5, + "ingredient_id": "buttermilk", + "subrecipe_id": null, + "quantity": 800, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, bring the cream and sugar to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Off the heat, add the bloomed and drained gelatin to the mixture and gently whisk to minimize air bubbles.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir the buttermilk into the cream mixture.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Strain through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Stir over an ice bath until slightly thickened and pour into desired molds.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "cabbage_bacon_strudel_filling", + "schema_version": 2, + "save_version": 6, + "title": "Cabbage-Bacon Strudel Filling", + "summary": "Yield: one 20 to 24-inch strudel", + "categories_json": "[\"tart_pie_fillings\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"tart_pie_fillings\",\"classic\"]", + "yield_quantity": 1246, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one 20 to 24-inch strudel\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_cabbage", + "position": 1, + "ingredient_id": "cabbage", + "subrecipe_id": null, + "quantity": 850, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_bacon", + "position": 2, + "ingredient_id": "bacon", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼-inch strips", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_onion", + "position": 3, + "ingredient_id": "onion", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cut in half, sliced", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_caraway_seeds", + "position": 4, + "ingredient_id": "caraway_seeds", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_black_pepper", + "position": 7, + "ingredient_id": "black_pepper", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "freshly ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_fresh_dill", + "position": 8, + "ingredient_id": "fresh_dill", + "subrecipe_id": null, + "quantity": 12, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_fresh_parsley", + "position": 9, + "ingredient_id": "fresh_parsley", + "subrecipe_id": null, + "quantity": 12, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Quarter the cabbage vertically and remove any tough outer leaves and the center core. Slice the cabbage into thin strips and set aside.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a frying pan, fry the bacon on medium-low heat until crisp and golden brown. Remove the bacon with a slotted spoon and drain on paper towels.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the cabbage, onions, caraway seeds, sugar, salt, and pepper to the pan and cook until tender, but not browned.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir in the bacon and herbs. Adjust the seasoning to taste.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "campari_sorbet", + "schema_version": 2, + "save_version": 6, + "title": "Campari Sorbet", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 590, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_powdered_glucose", + "position": 2, + "ingredient_id": "powdered_glucose", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_dextrose", + "position": 3, + "ingredient_id": "dextrose", + "subrecipe_id": null, + "quantity": 113, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 135, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "divided", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_orange_zest", + "position": 5, + "ingredient_id": "orange_zest", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sorbet_stabilizer", + "position": 6, + "ingredient_id": "sorbet_stabilizer", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_orange_juice", + "position": 7, + "ingredient_id": "orange_juice", + "subrecipe_id": null, + "quantity": 375, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_lemon_juice", + "position": 8, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 38, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_campari", + "position": 9, + "ingredient_id": "campari", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Place the water in a saucepan large enough to accommodate the entire recipe. With an immersion blender, blend in the glucose and dextrose to dissolve.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Rub the zest with ½ of the sugar until fragrant. Combine the remaining sugar with the stabilizer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Heat the mixture until warm, 105°F (40°C); whisk in the orange zest sugar and the sugar that has been blended with the stabilizer.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir with a whisk and heat to 185°F (85°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Chill immediately. Once cool, whisk in the juices and allow to mature for 6 to 12 hours.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Blend with an immersion blender, then strain through a fine-mesh strainer before spinning.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Weigh the liquor, previously chilled in the refrigerator, and pour into the ice cream machine at the beginning of the spinning process.", + "critical_control_point": 0, + "equipment_ids": [ + "food_processor", + "kitchen_scale" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "candied_apple_caramel", + "schema_version": 2, + "save_version": 6, + "title": "Candied Apple Caramel", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 2000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"If the caramel is too warm, it will run off the apples without coating properly.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 482, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 614, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_light_corn_syrup", + "position": 3, + "ingredient_id": "light_corn_syrup", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_butter", + "position": 4, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vanilla_extract", + "position": 5, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_apple_brandy", + "position": 6, + "ingredient_id": "apple_brandy", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, cook the cream, sugar, corn syrup, and butter until amber in color, approximately 320°F (160°C).", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "thermometer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Off the heat, whisk in the extract, brandy, and salt.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Stir the caramel over an ice bath until thickened enough to coat the back of a spoon before dipping.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "cannoli_cream", + "schema_version": 2, + "save_version": 6, + "title": "Cannoli Cream", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1430, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Diced candied orange peel may substituted for some of the weight of the chocolate if desired.\",\"Mini chocolate chips can be used instead of the chopped chocolate pieces.\",\"Cannoli filling can be frozen for up to 2 months.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_ricotta_cheese", + "position": 1, + "ingredient_id": "ricotta_cheese", + "subrecipe_id": null, + "quantity": 908, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "drained", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_confectioners_sugar", + "position": 2, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 220, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_vanilla_extract", + "position": 3, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_cinnamon", + "position": 4, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_chocolate_dark", + "position": 5, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "58%, 1/8-inch pieces", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix the ricotta until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the sugar, extract, and cinnamon and mix until creamy.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Fold the chocolate into the ricotta mixture.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "caramel_custard_tart_filling", + "schema_version": 2, + "save_version": 6, + "title": "Caramel Custard Tart Filling", + "summary": null, + "categories_json": "[\"tart_pie_fillings\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"tart_pie_fillings\",\"classic\"]", + "yield_quantity": 2100, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "caramel", + "position": 1, + "name": "Caramel", + "notes_json": "[]" + }, + { + "id": "custard", + "position": 2, + "name": "Custard", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "caramel", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 129, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cubed", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "caramel", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 188, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "caramel", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 484, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "caramel", + "id": "line_04_water", + "position": 4, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 160, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "caramel", + "id": "line_05_glucose_syrup", + "position": 5, + "ingredient_id": "glucose_syrup", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "custard", + "id": "line_06_caramel", + "position": 1, + "ingredient_id": "caramel", + "subrecipe_id": null, + "quantity": 880, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "custard", + "id": "line_07_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 890, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "custard", + "id": "line_08_egg_whole", + "position": 3, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "custard", + "id": "line_09_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 180, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "custard", + "id": "line_10_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¾ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Caramel:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, bring the butter and cream to a boil and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a separate saucepan, bring the sugar and water to a boil. Add the glucose and cook to a deep amber caramel.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Deglaze with the melted butter/cream mixture and emulsify until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Custard:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "In a saucepan, bring the caramel and cream to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Whisk the whole eggs, yolks, and salt. Temper with the caramel/cream mixture.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Remove excess air bubbles from the top of the custard by placing a piece of plastic wrap or paper towel on the surface and then removing.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Bake at 200°F (93ºC) in blind baked tart shells just until set.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "caramel_gastrique", + "schema_version": 2, + "save_version": 6, + "title": "Caramel Gastrique", + "summary": null, + "categories_json": "[\"sauces_liquids\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sauces_liquids\",\"classic\"]", + "yield_quantity": 1000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"The final consistency of the gastrique will be dependent upon how much the mixture reduced.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sugar", + "position": 1, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 480, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 160, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_raspberry_vinegar", + "position": 3, + "ingredient_id": "raspberry_vinegar", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_champagne_vinegar", + "position": 4, + "ingredient_id": "champagne_vinegar", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_black_pepper", + "position": 6, + "ingredient_id": "black_pepper", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_butter", + "position": 7, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 340, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold & cubed", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Make a caramel with the sugar and water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Separately, warm the vinegars while the caramel is cooking.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Deglaze the caramel with the warm vinegars, salt, and pepper.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Reduce the mixture by ½ .", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Emulsify the reduction with the cold butter.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Serve warm.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "caramel_ginger_bonbon_ganache", + "schema_version": 2, + "save_version": 6, + "title": "Caramel-Ginger Bonbon Ganache", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 330, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_fresh_ginger", + "position": 2, + "ingredient_id": "fresh_ginger", + "subrecipe_id": null, + "quantity": 70, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "small dice", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 135, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_water", + "position": 5, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_chocolate_white", + "position": 6, + "ingredient_id": "chocolate_white", + "subrecipe_id": null, + "quantity": 465, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_cocoa_butter", + "position": 7, + "ingredient_id": "cocoa_butter", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "melted", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_invert_sugar", + "position": 8, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 17, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_butter", + "position": 9, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 33, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the cream, ginger, and salt to a boil; cover and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Make a deep amber caramel with the sugar and water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Deglaze the caramel with the hot ginger cream, then cook until all of the caramel is dissolved.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Melt the cocoa butter and combine with the chocolate and invert sugar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Strain the hot caramel cream over the chocolate mixture. Allow to stand for one minute, then emulsify until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Stir in the softened butter.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Cover the surface of the ganache with plastic wrap. Allow to rest at room temperature until it reaches 78°F (26°C). The cooled ganache should have a thick, yet fluid consistency to properly fill bonbon shells.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "caramel_glaze", + "schema_version": 2, + "save_version": 6, + "title": "Caramel Glaze", + "summary": null, + "categories_json": "[\"frostings_glazes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frostings_glazes\",\"classic\"]", + "yield_quantity": 2920, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 36, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 180, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 660, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_water", + "position": 4, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 280, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_glucose_syrup", + "position": 5, + "ingredient_id": "glucose_syrup", + "subrecipe_id": null, + "quantity": 360, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_water", + "position": 6, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "185ºF/85ºC", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_butter", + "position": 7, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "clarified", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_neutral_glaze", + "position": 8, + "ingredient_id": "neutral_glaze", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "hot process", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¾ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan large enough to accommodate the entire recipe, bring the sugar and water to a boil. Add the glucose and cook to a deep amber caramel.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk in the hot water, followed by the clarified butter.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Blend the bloomed and drained gelatin, caramel, glaze, and salt with an immersion blender until homogenous.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Strain through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Use at about 84°F (29ºC).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "caramel_ice_cream", + "schema_version": 2, + "save_version": 6, + "title": "Caramel Ice Cream", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sugar", + "position": 1, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 285, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_milk_whole", + "position": 2, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 960, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "hot", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_powdered_glucose", + "position": 3, + "ingredient_id": "powdered_glucose", + "subrecipe_id": null, + "quantity": 85, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_ice_cream_stabilizer", + "position": 4, + "ingredient_id": "ice_cream_stabilizer", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_yolk", + "position": 5, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_butter", + "position": 6, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan large enough to accommodate the entire recipe, caramelize the sugar to a deep amber color.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Deglaze the caramel with the hot milk in several additions; simmer to dissolve the sugar.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk the glucose mixed with the stabilizer into the caramel milk.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Temper the caramel milk into the egg yolks and combine with the rest of the milk.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Stir with a whisk and heat to 185°F (85°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Off the heat, blend in the butter and salt with an immersion blender. Strain.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Chill immediately and allow to mature for 6 to 12 hours.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Blend with an immersion blender before spinning.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "caramel_milk_chocolate_bonbon_ganache", + "schema_version": 2, + "save_version": 6, + "title": "Caramel-Milk Chocolate Bonbon Ganache", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sugar", + "position": 1, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 327, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 327, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_valrhona_tanariva", + "position": 4, + "ingredient_id": "valrhona_tanariva", + "subrecipe_id": null, + "quantity": 327, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "33%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_invert_sugar", + "position": 5, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 16, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Make a deep amber caramel with the sugar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, bring the cream and salt to a boil. Deglaze the caramel with the hot cream, then cook until all of the caramel is dissolved.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Combine the chocolate and invert sugar in a bowl large enough to accommodate the entire recipe.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Strain the hot caramel cream over the chocolate mixture. Allow to stand for one minute, then emulsify until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Cover the surface of the ganache with plastic wrap. Allow to rest at room temperature until it reaches 78°F (26°C). The cooled ganache should have a thick, yet fluid consistency to properly fill bonbon shells.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "caramel_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Caramel Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 2042, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Alternatively, the egg yolk mixture can be cooked in a microwave by cooking in 20-30 second intervals and whisking in between each interval until thickened .\",\"The addition of milk powder stabilizes the foam structure in the eggs and whipped cream by preventing air bubbles from collapsing, resulting in a lighter texture to the mousse.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 800, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_heavy_cream", + "position": 4, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 435, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vanilla_bean", + "position": 5, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "split & scraped (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_glucose_syrup", + "position": 7, + "ingredient_id": "glucose_syrup", + "subrecipe_id": null, + "quantity": 165, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_egg_yolk", + "position": 8, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 165, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_sugar", + "position": 9, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 65, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_water", + "position": 10, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_milk_powder", + "position": 11, + "ingredient_id": "milk_powder", + "subrecipe_id": null, + "quantity": 42, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_salt", + "position": 12, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the first weight of cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Bring the second weight of cream to a scald with the vanilla bean.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make a deep amber caramel with the first weight of sugar and glucose and deglaze with the hot vanilla bean cream. Whisk the bloomed and drained gelatin into the caramel mixture and strain; cool until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Whisk the egg yolks, second weight of sugar, water, milk powder, and salt over a water bath until very thick.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Transfer the cooked egg mixture to a mixer fitted with a whisk attachment and whisk until light and cool.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Fold the egg mixture into the whipped cream, followed by the caramel.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "caramel_nut_tart_filling", + "schema_version": 2, + "save_version": 6, + "title": "Caramel-Nut Tart Filling", + "summary": "Yield: two 8-inch tarts", + "categories_json": "[\"tart_pie_fillings\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"tart_pie_fillings\",\"classic\"]", + "yield_quantity": 1225, + "yield_unit_id": "gram", + "yield_servings": 2, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: two 8-inch tarts\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sugar", + "position": 1, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_glucose_syrup", + "position": 3, + "ingredient_id": "glucose_syrup", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_heavy_cream", + "position": 4, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 175, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_milk_whole", + "position": 5, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_walnuts_or_pecans", + "position": 6, + "ingredient_id": "walnuts_or_pecans", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_almond_cream", + "position": 8, + "ingredient_id": "almond_cream", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, boil the sugar and water. Add the glucose and cook to a deep amber caramel.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the cream, milk, nuts, and salt to the caramel mixture.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Cook the mixture, stirring constantly for about 2 minutes, or until slightly thickened. Set aside to cool.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Spread the cooled caramel mixture in the bottom of the unbaked tart shells.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Spread the almond cream on top of the caramel-nut mixture. Make sure the almond cream touches the edges of the dough, otherwise the caramel filling will bubble out during baking.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 350ºF (177ºC) until evenly browned.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "caramel_olive_oil_pine_nut_bonbon_ganache", + "schema_version": 2, + "save_version": 6, + "title": "Caramel-Olive Oil & Pine Nut Bonbon Ganache", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sugar", + "position": 1, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 330, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 126, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_glucose_syrup", + "position": 3, + "ingredient_id": "glucose_syrup", + "subrecipe_id": null, + "quantity": 164, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_heavy_cream", + "position": 4, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 297, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_extra_virgin_olive_oil", + "position": 5, + "ingredient_id": "extra_virgin_olive_oil", + "subrecipe_id": null, + "quantity": 57, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_pine_nuts", + "position": 7, + "ingredient_id": "pine_nuts", + "subrecipe_id": null, + "quantity": 152, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "toasted & chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Make an amber caramel with the sugar, water, and glucose.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, warm the cream, olive oil, and salt to 149°F (65°C). Deglaze the caramel with the warm cream, then emulsify until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "thermometer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Stir in the nuts.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Cover the surface of the ganache with plastic wrap. Allow to rest at room temperature until it reaches 78°F (26°C). The cooled ganache should have a thick, yet fluid consistency to properly fill bonbon shells.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "caramel_sauce", + "schema_version": 2, + "save_version": 1, + "title": "Caramel Sauce", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"dessert-sauce\",\"caramel\"]", + "yield_quantity": 227.04, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"caramel_sauce\",\"title\":\"Caramel Sauce\",\"categories\":[\"sauce\"],\"tags\":[\"dessert-sauce\",\"caramel\"],\"yield\":{\"amount\":{\"quantity\":227.04,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_butter\",\"reference\":{\"ingredient_id\":\"butter\"},\"amount\":{\"quantity\":38.6,\"unit_id\":\"gram\"},\"percentage\":38.6},{\"id\":\"line_03_heavy_cream\",\"reference\":{\"ingredient_id\":\"heavy_cream\"},\"amount\":{\"quantity\":36,\"unit_id\":\"gram\"},\"percentage\":36},{\"id\":\"line_04_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":26.8,\"unit_id\":\"gram\"},\"percentage\":26.8},{\"id\":\"line_05_corn_syrup\",\"reference\":{\"ingredient_id\":\"corn_syrup_light\"},\"amount\":{\"quantity\":18.6,\"unit_id\":\"gram\"},\"percentage\":18.6},{\"id\":\"line_06_vanilla_extract\",\"reference\":{\"ingredient_id\":\"vanilla_extract\"},\"amount\":{\"quantity\":4.54,\"unit_id\":\"gram\"},\"percentage\":4.54},{\"id\":\"line_07_kosher_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":2.5,\"unit_id\":\"gram\"},\"percentage\":2.5}]}],\"equipment_ids\":[\"saucepan\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"In saucepan, combine water, sugar, corn syrup.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Mix well.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Add medium heat.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Stir until sugar dissolves and liquid is clear.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Only swirl henceforth to prevent crystals.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Once begin to color, swirl often to prevent local caramelization.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Heat to ≈390 °F, dark golden, until first whisps of smoke.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Halt cooking immediately, remove from heat.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "saucepan" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sugar", + "position": 1, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_butter", + "position": 2, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 38.6, + "unit_id": "gram", + "percentage": 38.6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 36, + "unit_id": "gram", + "percentage": 36, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_water", + "position": 4, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 26.8, + "unit_id": "gram", + "percentage": 26.8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_corn_syrup", + "position": 5, + "ingredient_id": "corn_syrup_light", + "subrecipe_id": null, + "quantity": 18.6, + "unit_id": "gram", + "percentage": 18.6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_vanilla_extract", + "position": 6, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 4.54, + "unit_id": "gram", + "percentage": 4.54, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_kosher_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 2.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "In saucepan, combine water, sugar, corn syrup.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Mix well.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Add medium heat.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Stir until sugar dissolves and liquid is clear.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Only swirl henceforth to prevent crystals.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Once begin to color, swirl often to prevent local caramelization.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Heat to ≈390 °F, dark golden, until first whisps of smoke.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Halt cooking immediately, remove from heat.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "caramelized_nuts", + "schema_version": 2, + "save_version": 6, + "title": "Caramelized Nuts", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"It is advisable to use a sturdy wooded spoon during the cooking process.\",\"Almonds, hazelnuts, macadamia nuts, and pistachios work well for this recipe.\",\"The nuts may be used as is or coated in tempered chocolate and then powdered sugar or cocoa powder.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sugar", + "position": 1, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 380, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 115, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_whole_nuts", + "position": 3, + "ingredient_id": "whole_nuts", + "subrecipe_id": null, + "quantity": 620, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "raw", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the sugar and water to a boil over medium-high heat.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the nuts and stir to coat evenly.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Lower to medium heat and stir continuously as the nuts go through the process of crystallizing and then caramelizing; watching carefully to avoid burning.", + "critical_control_point": 0, + "equipment_ids": [ + "food_processor" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir in the salt.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Once caramelized, spread the nuts onto a silicone baking mat.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Separate the nuts while still warm.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "caramelized_onion", + "schema_version": 2, + "save_version": 1, + "title": "Caramelized Onion", + "summary": null, + "categories_json": "[\"side\"]", + "tags_json": "[\"onion\"]", + "yield_quantity": 115.8, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"caramelized_onion\",\"title\":\"Caramelized Onion\",\"categories\":[\"side\"],\"tags\":[\"onion\"],\"yield\":{\"amount\":{\"quantity\":115.8,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_onion_raw\",\"reference\":{\"ingredient_id\":\"onion_yellow\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":8,\"unit_id\":\"gram\"},\"percentage\":8},{\"id\":\"line_03_oil\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":6,\"unit_id\":\"gram\"},\"percentage\":6},{\"id\":\"line_04_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":0.75,\"unit_id\":\"gram\"},\"percentage\":0.75},{\"id\":\"line_05_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":0.5,\"unit_id\":\"gram\"},\"percentage\":0.5},{\"id\":\"line_06_baking_soda\",\"reference\":{\"ingredient_id\":\"baking_soda\"},\"amount\":{\"quantity\":0.3,\"unit_id\":\"gram\"},\"percentage\":0.3},{\"id\":\"line_07_black_pepper_ground\",\"reference\":{\"ingredient_id\":\"black_pepper_ground\"},\"amount\":{\"quantity\":0.25,\"unit_id\":\"gram\"},\"percentage\":0.25}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Slice onions to consistent thickness.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Combine all ingredients.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Add to rice cooker: use rice cooker function.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Allow onions to cook until cooking function completes.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Finish caramelization using slow cooker function or cooking in a pan, stirring often.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_onion_raw", + "position": 1, + "ingredient_id": "onion_yellow", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 8, + "unit_id": "gram", + "percentage": 8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_oil", + "position": 3, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.75, + "unit_id": "gram", + "percentage": 0.75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 0.5, + "unit_id": "gram", + "percentage": 0.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_baking_soda", + "position": 6, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 0.3, + "unit_id": "gram", + "percentage": 0.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_black_pepper_ground", + "position": 7, + "ingredient_id": "black_pepper_ground", + "subrecipe_id": null, + "quantity": 0.25, + "unit_id": "gram", + "percentage": 0.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Slice onions to consistent thickness.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Combine all ingredients.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Add to rice cooker: use rice cooker function.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Allow onions to cook until cooking function completes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Finish caramelization using slow cooker function or cooking in a pan, stirring often.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "carrot_cake", + "schema_version": 2, + "save_version": 6, + "title": "Carrot Cake", + "summary": "Yield: one 10-inch cake pan", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 1570, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one 10-inch cake pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_egg_whole", + "position": 1, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 78.43, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 156.86, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_canola_oil", + "position": 3, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 180, + "unit_id": "gram", + "percentage": 70.59, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_flour_bread", + "position": 4, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 255, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_cinnamon", + "position": 5, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 8, + "unit_id": "gram", + "percentage": 3.14, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.98, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_baking_soda", + "position": 7, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 3.75, + "unit_id": "gram", + "percentage": 1.47, + "basis_member": 0, + "optional": 0, + "notes": "¾ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_baking_powder", + "position": 8, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 0.49, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_carrots", + "position": 9, + "ingredient_id": "carrots", + "subrecipe_id": null, + "quantity": 340, + "unit_id": "gram", + "percentage": 133.33, + "basis_member": 0, + "optional": 0, + "notes": "peeled & grated", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_pineapple", + "position": 10, + "ingredient_id": "pineapple", + "subrecipe_id": null, + "quantity": 115, + "unit_id": "gram", + "percentage": 45.1, + "basis_member": 0, + "optional": 0, + "notes": "finely chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_walnut", + "position": 11, + "ingredient_id": "walnut", + "subrecipe_id": null, + "quantity": 70, + "unit_id": "gram", + "percentage": 27.45, + "basis_member": 0, + "optional": 0, + "notes": "toasted & chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a whisk attachment, whip the eggs and sugar until light and thick.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the oil into the egg mixture in a steady stream.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Sift the dry ingredients and add 3 tablespoons to the carrot, pineapple, and walnut mixture and stir to combine.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the dry ingredients to the whipped egg foam. Continue to whisk until almost combined, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold in the carrot, pineapple, and walnut mixture into the dry ingredients until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 350°F (177ºC) until the cake springs back to the touch and a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "carrot_sheet_cake", + "schema_version": 2, + "save_version": 6, + "title": "Carrot Sheet Cake", + "summary": "Yield: one half sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 1454, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one half sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_egg_whole", + "position": 1, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 65.79, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 340, + "unit_id": "gram", + "percentage": 149.12, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_canola_oil", + "position": 3, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 340, + "unit_id": "gram", + "percentage": 149.12, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_flour_bread", + "position": 4, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 228, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_cinnamon", + "position": 5, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 8, + "unit_id": "gram", + "percentage": 3.51, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": 1.75, + "basis_member": 0, + "optional": 0, + "notes": "¾ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_baking_soda", + "position": 7, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": 1.75, + "basis_member": 0, + "optional": 0, + "notes": "¾ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_carrots", + "position": 8, + "ingredient_id": "carrots", + "subrecipe_id": null, + "quantity": 380, + "unit_id": "gram", + "percentage": 166.67, + "basis_member": 0, + "optional": 0, + "notes": "peeled & grated", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a whisk attachment, whisk the eggs and sugar together until a thick ribbon is achieved.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Slowly add the oil into the whipping egg mixture, as to maintain an emulsion.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add 3 tablespoons of the sifted dry ingredients to the grated carrots and toss to coat.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Fold the sifted dry ingredients into the egg foam, followed by the carrots.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 400°F (204°C) until the cake springs back to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "carrot_soup", + "schema_version": 2, + "save_version": 1, + "title": "Carrot Soup", + "summary": null, + "categories_json": "[\"soup\"]", + "tags_json": "[]", + "yield_quantity": 167.5, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"carrot_soup\",\"title\":\"Carrot Soup\",\"categories\":[\"soup\"],\"tags\":[],\"yield\":{\"amount\":{\"quantity\":167.5,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_carrot\",\"reference\":{\"ingredient_id\":\"carrot\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":35,\"unit_id\":\"gram\"},\"percentage\":35},{\"id\":\"line_03_butter\",\"reference\":{\"ingredient_id\":\"butter\"},\"amount\":{\"quantity\":31,\"unit_id\":\"gram\"},\"percentage\":31},{\"id\":\"line_04_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1,\"unit_id\":\"gram\"},\"percentage\":1},{\"id\":\"line_05_baking_soda\",\"reference\":{\"ingredient_id\":\"baking_soda\"},\"amount\":{\"quantity\":0.5,\"unit_id\":\"gram\"},\"percentage\":0.5}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Cook in pressure cooker.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Blend smooth.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_carrot", + "position": 1, + "ingredient_id": "carrot", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 35, + "unit_id": "gram", + "percentage": 35, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_butter", + "position": 3, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 31, + "unit_id": "gram", + "percentage": 31, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_baking_soda", + "position": 5, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 0.5, + "unit_id": "gram", + "percentage": 0.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Cook in pressure cooker.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Blend smooth.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chai_spiced_snickerdoodle_bars", + "schema_version": 2, + "save_version": 6, + "title": "Chai Spiced Snickerdoodle Bars", + "summary": "Yield: one half sheet pan", + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 2225, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one half sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 833, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_cream_of_tartar", + "position": 2, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 18, + "unit_id": "gram", + "percentage": 2.16, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_baking_soda", + "position": 3, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 1.2, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": 0.48, + "basis_member": 0, + "optional": 0, + "notes": "¾ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_loose_black_tea", + "position": 5, + "ingredient_id": "loose_black_tea", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 1.8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_cinnamon", + "position": 6, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 1.8, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_ginger", + "position": 7, + "ingredient_id": "ginger", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 0.72, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_cardamom", + "position": 8, + "ingredient_id": "cardamom", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 0.72, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_allspice", + "position": 9, + "ingredient_id": "allspice", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 0.24, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_cloves", + "position": 10, + "ingredient_id": "cloves", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 0.15, + "basis_member": 0, + "optional": 0, + "notes": "ground (¼ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_black_pepper", + "position": 11, + "ingredient_id": "black_pepper", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": 0.07, + "basis_member": 0, + "optional": 0, + "notes": "ground (⅛ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_butter", + "position": 12, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": 54.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_sugar", + "position": 13, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 390, + "unit_id": "gram", + "percentage": 46.82, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_14_brown_sugar", + "position": 14, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 24.01, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_15_honey", + "position": 15, + "ingredient_id": "honey", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 7.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_16_egg_whole", + "position": 16, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 24.01, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_17_vanilla_extract", + "position": 17, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 8, + "unit_id": "gram", + "percentage": 0.96, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Prepare formulation according to standard pastry method.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chai_spiced_sugar_recipe", + "schema_version": 2, + "save_version": 6, + "title": "Chai Spiced Sugar Recipe", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1200, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sugar", + "position": 1, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 1050, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_cinnamon", + "position": 2, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_ginger", + "position": 3, + "ingredient_id": "ginger", + "subrecipe_id": null, + "quantity": 45, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_cardamom", + "position": 4, + "ingredient_id": "cardamom", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_allspice", + "position": 5, + "ingredient_id": "allspice", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a food processor, grind all of the dry ingredients until the tea is just spotted throughout.", + "critical_control_point": 0, + "equipment_ids": [ + "food_processor", + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter, sugars, and honey.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the eggs one at a time, followed by the extract, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the dry ingredients and mix just until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Spread the dough evenly onto a parchment-lined half sheet pan.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Sprinkle the top with the chai spiced sugar recipe.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Bake at 300°F (149°C) until a skewer inserted comes out clean, or with a few crumbs.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "champagne_passion_fruit_granite", + "schema_version": 2, + "save_version": 6, + "title": "Champagne-Passion Fruit Granité", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1190, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 190, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_vanilla_bean", + "position": 3, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "split & scraped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_orange_zest", + "position": 4, + "ingredient_id": "orange_zest", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_gelatin_sheet", + "position": 5, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_water", + "position": 6, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_champagne", + "position": 7, + "ingredient_id": "champagne", + "subrecipe_id": null, + "quantity": 750, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_passion_fruit_puree", + "position": 8, + "ingredient_id": "passion_fruit_puree", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the water, sugar, and vanilla to a boil; add the zest and chill until cold.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Strain the syrup through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water. Drain and gently melt with 2 tablespoons of champagne.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Whisk the melted gelatin, champagne, and puree to combine.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Measure and adjust the °Brix between 15°-20° depending on your taste.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Pour into a shallow pan and begin to freeze, stirring every 15 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "champagne_sabayon", + "schema_version": 2, + "save_version": 6, + "title": "Champagne Sabayon", + "summary": null, + "categories_json": "[\"sauces_liquids\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sauces_liquids\",\"classic\"]", + "yield_quantity": 900, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_egg_yolk", + "position": 2, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_champagne", + "position": 5, + "ingredient_id": "champagne", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Whip the cream to soft peaks and set aside in the refrigerator.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the egg yolks, sugar, salt, and champagne over a water bath until thickened and a ribbon is achieved.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk the sabayon over an ice bath until cold.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Fold the whipped cream into the sabayon.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "cheddar_cheese_crackers", + "schema_version": 2, + "save_version": 6, + "title": "Cheddar Cheese Crackers", + "summary": "Yield: approximately 20 dozen crackers", + "categories_json": "[\"breads\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breads\",\"classic\"]", + "yield_quantity": 1915, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: approximately 20 dozen crackers\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 510, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 2.94, + "basis_member": 0, + "optional": 0, + "notes": "1 T", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_baking_powder", + "position": 3, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 12, + "unit_id": "gram", + "percentage": 2.35, + "basis_member": 0, + "optional": 0, + "notes": "1 T", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 1.37, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_paprika", + "position": 5, + "ingredient_id": "paprika", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": 0.78, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_cayenne_pepper", + "position": 6, + "ingredient_id": "cayenne_pepper", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.49, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_cheddar_cheese", + "position": 7, + "ingredient_id": "cheddar_cheese", + "subrecipe_id": null, + "quantity": 568, + "unit_id": "gram", + "percentage": 111.37, + "basis_member": 0, + "optional": 0, + "notes": "finely grated", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_parmesan_cheese", + "position": 8, + "ingredient_id": "parmesan_cheese", + "subrecipe_id": null, + "quantity": 284, + "unit_id": "gram", + "percentage": 55.69, + "basis_member": 0, + "optional": 0, + "notes": "finely grated", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_butter", + "position": 9, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": 89.02, + "basis_member": 0, + "optional": 0, + "notes": "½-inch cubes, cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_water", + "position": 10, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 11.76, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixing bowl, whisk the dry ingredients together to blend.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "mixing_bowl", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a paddle attachment, mix the dry ingredients, cheeses and butter until the butter is ¼-inch or \"pea sized.\"", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add ½ of the water to the dry ingredients and mix for 10-20 seconds on low speed to hydrate.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the remaining water and mix until the dough just comes together. Do not over mix.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Wrap the dough in plastic wrap and chill for a minimum of 1 hour, or overnight.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Roll the dough to ⅛-inch thick and cut with a fluted wheel cutter ¾-inch wide x 3-inches long. Chill the crackers before baking.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Brush the tops with egg wash and sprinkle with fleur de sel or smoked sea salt as desired.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Bake at 325°F (163°C) until puffed and browned on the edges (about 15-20 minutes).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Store in airtight containers for up to 3 days.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "cheese_danish_filling", + "schema_version": 2, + "save_version": 1, + "title": "Cheese Danish Filling", + "summary": null, + "categories_json": "[\"pastry\"]", + "tags_json": "[\"filling\"]", + "yield_quantity": 155.84, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"cheese_danish_filling\",\"title\":\"Cheese Danish Filling\",\"categories\":[\"pastry\"],\"tags\":[\"filling\"],\"yield\":{\"amount\":{\"quantity\":155.84,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_cream_cheese\",\"reference\":{\"ingredient_id\":\"cream_cheese\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":25,\"unit_id\":\"gram\"},\"percentage\":25},{\"id\":\"line_03_egg_whole\",\"reference\":{\"ingredient_id\":\"egg_whole\"},\"amount\":{\"quantity\":16.9,\"unit_id\":\"gram\"},\"percentage\":16.9},{\"id\":\"line_04_cornstarch\",\"reference\":{\"ingredient_id\":\"cornstarch\"},\"amount\":{\"quantity\":12.5,\"unit_id\":\"gram\"},\"percentage\":12.5},{\"id\":\"line_05_vanilla_extract\",\"reference\":{\"ingredient_id\":\"vanilla_extract\"},\"amount\":{\"quantity\":1,\"unit_id\":\"gram\"},\"percentage\":1},{\"id\":\"line_06_lemon_zest\",\"reference\":{\"ingredient_id\":\"lemon_zest\"},\"amount\":{\"quantity\":0.22,\"unit_id\":\"gram\"},\"percentage\":0.22},{\"id\":\"line_07_orange_zest\",\"reference\":{\"ingredient_id\":\"orange_zest\"},\"amount\":{\"quantity\":0.22,\"unit_id\":\"gram\"},\"percentage\":0.22}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Paddle mix medium all except eggs, until light, smooth.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Add egg gradually, scraping periodically until blended.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_cream_cheese", + "position": 1, + "ingredient_id": "cream_cheese", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": 25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_whole", + "position": 3, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 16.9, + "unit_id": "gram", + "percentage": 16.9, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_cornstarch", + "position": 4, + "ingredient_id": "cornstarch", + "subrecipe_id": null, + "quantity": 12.5, + "unit_id": "gram", + "percentage": 12.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vanilla_extract", + "position": 5, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_lemon_zest", + "position": 6, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 0.22, + "unit_id": "gram", + "percentage": 0.22, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_orange_zest", + "position": 7, + "ingredient_id": "orange_zest", + "subrecipe_id": null, + "quantity": 0.22, + "unit_id": "gram", + "percentage": 0.22, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Paddle mix medium all except eggs, until light, smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Add egg gradually, scraping periodically until blended.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "cheese_focaccia", + "schema_version": 2, + "save_version": 6, + "title": "Cheese Focaccia", + "summary": "Yield: one half sheet pan", + "categories_json": "[\"breads\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breads\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one half sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 360, + "unit_id": "gram", + "percentage": 50, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_flour_all_purpose", + "position": 2, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 360, + "unit_id": "gram", + "percentage": 50, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_water", + "position": 3, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 540, + "unit_id": "gram", + "percentage": 75, + "basis_member": 0, + "optional": 0, + "notes": "110°F/43ºC", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_olive_oil", + "position": 4, + "ingredient_id": "olive_oil", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 5.56, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 2.78, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 2.08, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_yeast_fresh", + "position": 7, + "ingredient_id": "yeast_fresh", + "subrecipe_id": null, + "quantity": 18, + "unit_id": "gram", + "percentage": 2.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_gruy_re_cheese", + "position": 8, + "ingredient_id": "gruy_re_cheese", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 8.33, + "basis_member": 0, + "optional": 0, + "notes": "grated", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_parmesan_cheese", + "position": 9, + "ingredient_id": "parmesan_cheese", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 8.33, + "basis_member": 0, + "optional": 0, + "notes": "grated", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_fresh_chives", + "position": 10, + "ingredient_id": "fresh_chives", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 2.08, + "basis_member": 0, + "optional": 0, + "notes": "chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_fresh_thyme", + "position": 11, + "ingredient_id": "fresh_thyme", + "subrecipe_id": null, + "quantity": 8, + "unit_id": "gram", + "percentage": 1.11, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_black_pepper", + "position": 12, + "ingredient_id": "black_pepper", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 0.42, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, combine the first 9 ingredients and mix on low speed for 2 minutes.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the chopped chives, thyme, and black pepper.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Continue to mix on medium speed for 3-5 minutes, or until gluten is developed.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Pre-shape into a round and place on an oiled parchment-lined half sheet pan. Rub the top of the dough with olive oil. Cover with plastic wrap and proof until doubled in volume.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Stretch the dough carefully to fit an entire half sheet pan, being careful not to over-deflate.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Dimple the dough and top with olive oil, more cheese, fleur de sel, and pepper. Proof for 20-30 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Bake at 400°F (204ºC) for 10-12 minutes, or until the internal temperature is between 200-210°F (93-99ºC).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "cheesecake", + "schema_version": 2, + "save_version": 1, + "title": "Cheesecake", + "summary": null, + "categories_json": "[\"dessert\"]", + "tags_json": "[\"cake\"]", + "yield_quantity": 181.2, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"cheesecake\",\"title\":\"Cheesecake\",\"categories\":[\"dessert\"],\"tags\":[\"cake\"],\"yield\":{\"amount\":{\"quantity\":181.2,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_cream_cheese\",\"reference\":{\"ingredient_id\":\"cream_cheese\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":30,\"unit_id\":\"gram\"},\"percentage\":30},{\"id\":\"line_03_egg_whole\",\"reference\":{\"ingredient_id\":\"egg_whole\"},\"amount\":{\"quantity\":26.2,\"unit_id\":\"gram\"},\"percentage\":26.2},{\"id\":\"line_04_heavy_cream\",\"reference\":{\"ingredient_id\":\"heavy_cream\"},\"amount\":{\"quantity\":8.7,\"unit_id\":\"gram\"},\"percentage\":8.7},{\"id\":\"line_05_sour_cream\",\"reference\":{\"ingredient_id\":\"sour_cream\"},\"amount\":{\"quantity\":8.7,\"unit_id\":\"gram\"},\"percentage\":8.7},{\"id\":\"line_06_butter\",\"reference\":{\"ingredient_id\":\"butter\"},\"amount\":{\"quantity\":4.8,\"unit_id\":\"gram\"},\"percentage\":4.8},{\"id\":\"line_07_lemon_juice\",\"reference\":{\"ingredient_id\":\"lemon_juice\"},\"amount\":{\"quantity\":1.9,\"unit_id\":\"gram\"},\"percentage\":1.9},{\"id\":\"line_08_vanilla_extract\",\"reference\":{\"ingredient_id\":\"vanilla_extract\"},\"amount\":{\"quantity\":0.9,\"unit_id\":\"gram\"},\"percentage\":0.9}]}],\"equipment_ids\":[\"oven\",\"sheet_pan\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Grease, parchment 8 in pan.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"1/4 in thick crust.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Paddle cream cheese til smooth.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Add butter, sugar.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Mix medium til smooth, scrape.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Add lemon juice, vanilla. mix low, scrape.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Add eggs at 3 stages, scrape.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"After smooth, add heavy cream, sour cream.\",\"component_ids\":[\"main\"]},{\"id\":\"step_09\",\"order\":9,\"instruction\":\"Place batter in pan (935 g / cake).\",\"component_ids\":[\"main\"]},{\"id\":\"step_10\",\"order\":10,\"instruction\":\"Place pan on sheet pan filled with water.\",\"component_ids\":[\"main\"]},{\"id\":\"step_11\",\"order\":11,\"instruction\":\"Bake 50 min at 325 °F, middle.\",\"component_ids\":[\"main\"]},{\"id\":\"step_12\",\"order\":12,\"instruction\":\"Crack oven to cool to about 135.\",\"component_ids\":[\"main\"]},{\"id\":\"step_13\",\"order\":13,\"instruction\":\"Move to wire rack to cool to room temp.\",\"component_ids\":[\"main\"]},{\"id\":\"step_14\",\"order\":14,\"instruction\":\"Cover, refrigerate.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "oven", + "sheet_pan" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_cream_cheese", + "position": 1, + "ingredient_id": "cream_cheese", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": 30, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_whole", + "position": 3, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 26.2, + "unit_id": "gram", + "percentage": 26.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_heavy_cream", + "position": 4, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 8.7, + "unit_id": "gram", + "percentage": 8.7, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sour_cream", + "position": 5, + "ingredient_id": "sour_cream", + "subrecipe_id": null, + "quantity": 8.7, + "unit_id": "gram", + "percentage": 8.7, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_butter", + "position": 6, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 4.8, + "unit_id": "gram", + "percentage": 4.8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_lemon_juice", + "position": 7, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 1.9, + "unit_id": "gram", + "percentage": 1.9, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_vanilla_extract", + "position": 8, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 0.9, + "unit_id": "gram", + "percentage": 0.9, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Grease, parchment 8 in pan.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "1/4 in thick crust.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Paddle cream cheese til smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Add butter, sugar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Mix medium til smooth, scrape.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Add lemon juice, vanilla. mix low, scrape.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Add eggs at 3 stages, scrape.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "After smooth, add heavy cream, sour cream.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_09", + "position": 9, + "instruction": "Place batter in pan (935 g / cake).", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Place pan on sheet pan filled with water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_11", + "position": 11, + "instruction": "Bake 50 min at 325 °F, middle.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_12", + "position": 12, + "instruction": "Crack oven to cool to about 135.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_13", + "position": 13, + "instruction": "Move to wire rack to cool to room temp.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_14", + "position": 14, + "instruction": "Cover, refrigerate.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "cheesecake_graham_cracker_crust", + "schema_version": 2, + "save_version": 6, + "title": "Cheesecake Graham Cracker Crust", + "summary": "Yield: three 10-inch cake pans", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 670, + "yield_unit_id": "gram", + "yield_servings": 3, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: three 10-inch cake pans\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_graham_cracker_crumbs", + "position": 1, + "ingredient_id": "graham_cracker_crumbs", + "subrecipe_id": null, + "quantity": 355, + "unit_id": "gram", + "percentage": 1014.29, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_butter", + "position": 2, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 210, + "unit_id": "gram", + "percentage": 600, + "basis_member": 0, + "optional": 0, + "notes": "melted", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_flour_all_purpose", + "position": 3, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 35, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 70, + "unit_id": "gram", + "percentage": 200, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Mix all of the ingredients until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Evenly press onto the bottom of the parchment-lined cake pans.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Bake at 350°F (177°C) until lightly browned and just set (about 5-7 minutes).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Cool thoroughly before pouring the cheesecake batter over the crust.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chef_michael_mignano_s_famous_mignano_bar", + "schema_version": 2, + "save_version": 6, + "title": "Chef Michael Mignano's Famous \"Mignano Bar\"", + "summary": "Yield: one half-size frame 15.5\" L x 10.75\" W x 2.38\" H", + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 4400, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one half-size frame 15.5\\\" L x 10.75\\\" W x 2.38\\\" H\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_cashew_nuts", + "position": 1, + "ingredient_id": "cashew_nuts", + "subrecipe_id": null, + "quantity": 255, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_macadamia_nuts", + "position": 2, + "ingredient_id": "macadamia_nuts", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 36, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_heavy_cream", + "position": 4, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 940, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 qt", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 908, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_brown_sugar", + "position": 6, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 440, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_corn_syrup", + "position": 7, + "ingredient_id": "corn_syrup", + "subrecipe_id": null, + "quantity": 681, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_evaporated_milk", + "position": 8, + "ingredient_id": "evaporated_milk", + "subrecipe_id": null, + "quantity": 483, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_butter", + "position": 9, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½-inch cubes", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Lightly toast the nuts; set aside to cool, then coarsely chop and combine with the salt in a bowl.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Prepare a flat half sheet pan with parchment paper and frame. Grease the interior of the frame and paper with vegetable oil.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Combine the cream, sugars, corn syrup, evaporated milk and butter in a heavy-bottomed saucepan, whisk to combine.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Cook the mixture to 242°F (117°C), then quickly mix in the salted nuts.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Pour the caramel into the prepared frame and allow to set overnight on a flat surface.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "cherry_vanilla_bonbon_ganache", + "schema_version": 2, + "save_version": 6, + "title": "Cherry-Vanilla Bonbon Ganache", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_chocolate_white", + "position": 1, + "ingredient_id": "chocolate_white", + "subrecipe_id": null, + "quantity": 460, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_cocoa_butter", + "position": 2, + "ingredient_id": "cocoa_butter", + "subrecipe_id": null, + "quantity": 42, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 139, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_vanilla_bean", + "position": 4, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "split & scraped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lemon_zest", + "position": 5, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_yolk", + "position": 6, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 21, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_sour_cherry_puree", + "position": 8, + "ingredient_id": "sour_cherry_puree", + "subrecipe_id": null, + "quantity": 210, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "185°F/85°C", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_butter", + "position": 9, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 33, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_kirschwasser", + "position": 10, + "ingredient_id": "kirschwasser", + "subrecipe_id": null, + "quantity": 33, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the chocolate and cocoa butter in a bowl large enough to accommodate the entire recipe.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, bring the cream and vanilla to a boil. Add the zest and let infuse for 30 minutes.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Make a crème anglaise with the infused cream, egg yolks, and sugar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the puree to the crème anglaise. Strain over the melted chocolate and cocoa butter, then emulsify until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Let cool slightly, then stir in the softened butter, followed by the kirschwasser.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Cover the surface of the ganache with plastic wrap. Allow to rest at room temperature until it reaches 78°F (26°C). The cooled ganache should have a thick, yet fluid consistency to properly fill bonbon shells.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chestnut_frangipane", + "schema_version": 2, + "save_version": 6, + "title": "Chestnut Frangipane", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1735, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 375, + "unit_id": "gram", + "percentage": 78.13, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_chestnut_flour", + "position": 2, + "ingredient_id": "chestnut_flour", + "subrecipe_id": null, + "quantity": 375, + "unit_id": "gram", + "percentage": 78.13, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_confectioners_sugar", + "position": 3, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 47.29, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.52, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_whole", + "position": 5, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 62.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_pastry_cream", + "position": 6, + "ingredient_id": "pastry_cream", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 62.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_dark_rum_or_brandy", + "position": 7, + "ingredient_id": "dark_rum_or_brandy", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 10.42, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_flour_cake", + "position": 8, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 105, + "unit_id": "gram", + "percentage": 21.88, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter, chestnut flour, sugar, and salt, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the eggs one at a time.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Mix in the pastry cream and liquor, scraping down the bowl again.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the cake flour and mix until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chestnut_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Chestnut Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 1510, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_pastry_cream", + "position": 4, + "ingredient_id": "pastry_cream", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_chestnut_cream", + "position": 5, + "ingredient_id": "chestnut_cream", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_simple_syrup", + "position": 7, + "ingredient_id": "simple_syrup", + "subrecipe_id": null, + "quantity": 110, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_armagnac_or_rum", + "position": 8, + "ingredient_id": "armagnac_or_rum", + "subrecipe_id": null, + "quantity": 70, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_egg_whites", + "position": 9, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_sugar", + "position": 10, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 70, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk the pastry and chestnut creams together with the salt until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Melt the bloomed and drained gelatin with the simple syrup, then combine with the alcohol. Whisk the melted gelatin mixture into the chestnut mixture until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Make a Swiss meringue with the egg whites and sugar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the meringue into the chestnut mixture, followed by the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chestnut_semifreddo", + "schema_version": 2, + "save_version": 6, + "title": "Chestnut Semifreddo", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 2070, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 940, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 qt", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_rum_or_armagnac", + "position": 2, + "ingredient_id": "rum_or_armagnac", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_chestnut_paste", + "position": 6, + "ingredient_id": "chestnut_paste", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_whites", + "position": 7, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 180, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_sugar", + "position": 8, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Make a thick crème anglaise with the cream, liquor, sugar, egg yolks, and salt.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a blender, puree the hot crème anglaise with the paste until smooth; strain and chill.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Make an Italian meringue with the egg whites and sugar; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Fold the cooled crème anglaise into the meringue.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Mold as desired and freeze immediately.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chick_fil_a_sauce", + "schema_version": 2, + "save_version": 1, + "title": "Chick-fil-A Sauce", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"copycat\",\"chick-fil-a\"]", + "yield_quantity": 188.5, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"chick_fil_a_sauce\",\"title\":\"Chick-fil-A Sauce\",\"categories\":[\"sauce\"],\"tags\":[\"copycat\",\"chick-fil-a\"],\"yield\":{\"amount\":{\"quantity\":188.5,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_mayonnaise\",\"reference\":{\"ingredient_id\":\"mayonnaise\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_bbq_sauce_hickory_smoke\",\"reference\":{\"ingredient_id\":\"bbq_sauce_hickory_smoke\"},\"amount\":{\"quantity\":62,\"unit_id\":\"gram\"},\"percentage\":62},{\"id\":\"line_03_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":17,\"unit_id\":\"gram\"},\"percentage\":17},{\"id\":\"line_04_mustard_yellow\",\"reference\":{\"ingredient_id\":\"mustard_yellow\"},\"amount\":{\"quantity\":9.5,\"unit_id\":\"gram\"},\"percentage\":9.5}]}],\"equipment_ids\":[\"whisk\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine all with whisk.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "whisk" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_mayonnaise", + "position": 1, + "ingredient_id": "mayonnaise", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_bbq_sauce_hickory_smoke", + "position": 2, + "ingredient_id": "bbq_sauce_hickory_smoke", + "subrecipe_id": null, + "quantity": 62, + "unit_id": "gram", + "percentage": 62, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 17, + "unit_id": "gram", + "percentage": 17, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_mustard_yellow", + "position": 4, + "ingredient_id": "mustard_yellow", + "subrecipe_id": null, + "quantity": 9.5, + "unit_id": "gram", + "percentage": 9.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine all with whisk.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chicken_sausage", + "schema_version": 2, + "save_version": 1, + "title": "Chicken Sausage", + "summary": null, + "categories_json": "[\"meat\"]", + "tags_json": "[\"chicken\",\"sausage\"]", + "yield_quantity": 136.95, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"chicken_sausage\",\"title\":\"Chicken Sausage\",\"categories\":[\"meat\"],\"tags\":[\"chicken\",\"sausage\"],\"yield\":{\"amount\":{\"quantity\":136.95,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_chicken_breast\",\"reference\":{\"ingredient_id\":\"chicken_breast\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water_ice\",\"reference\":{\"ingredient_id\":\"water_ice\"},\"amount\":{\"quantity\":15,\"unit_id\":\"gram\"},\"percentage\":15},{\"id\":\"line_03_fat\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":15,\"unit_id\":\"gram\"},\"percentage\":15},{\"id\":\"line_04_nonfat_milk_powder\",\"reference\":{\"ingredient_id\":\"nonfat_milk_powder\"},\"amount\":{\"quantity\":4,\"unit_id\":\"gram\"},\"percentage\":4},{\"id\":\"line_05_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1.3,\"unit_id\":\"gram\"},\"percentage\":1.3},{\"id\":\"line_06_onion_powder\",\"reference\":{\"ingredient_id\":\"onion_powder\"},\"amount\":{\"quantity\":0.4,\"unit_id\":\"gram\"},\"percentage\":0.4},{\"id\":\"line_07_oregano\",\"reference\":{\"ingredient_id\":\"oregano\"},\"amount\":{\"quantity\":0.3,\"unit_id\":\"gram\"},\"percentage\":0.3},{\"id\":\"line_08_msg\",\"reference\":{\"ingredient_id\":\"msg\"},\"amount\":{\"quantity\":0.2,\"unit_id\":\"gram\"},\"percentage\":0.2},{\"id\":\"line_09_paprika\",\"reference\":{\"ingredient_id\":\"paprika\"},\"amount\":{\"quantity\":0.2,\"unit_id\":\"gram\"},\"percentage\":0.2},{\"id\":\"line_10_coriander\",\"reference\":{\"ingredient_id\":\"coriander\"},\"amount\":{\"quantity\":0.2,\"unit_id\":\"gram\"},\"percentage\":0.2},{\"id\":\"line_11_garlic_powder\",\"reference\":{\"ingredient_id\":\"garlic_powder\"},\"amount\":{\"quantity\":0.15,\"unit_id\":\"gram\"},\"percentage\":0.15},{\"id\":\"line_12_cumin\",\"reference\":{\"ingredient_id\":\"cumin\"},\"amount\":{\"quantity\":0.1,\"unit_id\":\"gram\"},\"percentage\":0.1},{\"id\":\"line_13_cinnamon\",\"reference\":{\"ingredient_id\":\"cinnamon\"},\"amount\":{\"quantity\":0.1,\"unit_id\":\"gram\"},\"percentage\":0.1}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Chill meat to 32 °F.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Cut chicken breast to size.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Grind large.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Add salt.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Grind small.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Season.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Mix spiral.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_chicken_breast", + "position": 1, + "ingredient_id": "chicken_breast", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water_ice", + "position": 2, + "ingredient_id": "water_ice", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 15, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_fat", + "position": 3, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 15, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_nonfat_milk_powder", + "position": 4, + "ingredient_id": "nonfat_milk_powder", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": 4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.3, + "unit_id": "gram", + "percentage": 1.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_onion_powder", + "position": 6, + "ingredient_id": "onion_powder", + "subrecipe_id": null, + "quantity": 0.4, + "unit_id": "gram", + "percentage": 0.4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_oregano", + "position": 7, + "ingredient_id": "oregano", + "subrecipe_id": null, + "quantity": 0.3, + "unit_id": "gram", + "percentage": 0.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_msg", + "position": 8, + "ingredient_id": "msg", + "subrecipe_id": null, + "quantity": 0.2, + "unit_id": "gram", + "percentage": 0.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_paprika", + "position": 9, + "ingredient_id": "paprika", + "subrecipe_id": null, + "quantity": 0.2, + "unit_id": "gram", + "percentage": 0.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_coriander", + "position": 10, + "ingredient_id": "coriander", + "subrecipe_id": null, + "quantity": 0.2, + "unit_id": "gram", + "percentage": 0.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_garlic_powder", + "position": 11, + "ingredient_id": "garlic_powder", + "subrecipe_id": null, + "quantity": 0.15, + "unit_id": "gram", + "percentage": 0.15, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_cumin", + "position": 12, + "ingredient_id": "cumin", + "subrecipe_id": null, + "quantity": 0.1, + "unit_id": "gram", + "percentage": 0.1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_cinnamon", + "position": 13, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 0.1, + "unit_id": "gram", + "percentage": 0.1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Chill meat to 32 °F.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Cut chicken breast to size.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Grind large.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Add salt.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Grind small.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Season.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Mix spiral.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chicken_velvet", + "schema_version": 2, + "save_version": 1, + "title": "Chicken Velvet", + "summary": null, + "categories_json": "[\"meat\"]", + "tags_json": "[\"chicken\",\"marinade\"]", + "yield_quantity": 104.6, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"chicken_velvet\",\"title\":\"Chicken Velvet\",\"categories\":[\"meat\"],\"tags\":[\"chicken\",\"marinade\"],\"yield\":{\"amount\":{\"quantity\":104.6,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_chicken\",\"reference\":{\"ingredient_id\":\"chicken_breast\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_oil\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":1.5,\"unit_id\":\"gram\"},\"percentage\":1.5},{\"id\":\"line_03_soy_sauce_light\",\"reference\":{\"ingredient_id\":\"soy_sauce_light\"},\"amount\":{\"quantity\":0.8,\"unit_id\":\"gram\"},\"percentage\":0.8},{\"id\":\"line_04_baking_soda\",\"reference\":{\"ingredient_id\":\"baking_soda\"},\"amount\":{\"quantity\":0.75,\"unit_id\":\"gram\"},\"percentage\":0.75},{\"id\":\"line_05_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":0.6,\"unit_id\":\"gram\"},\"percentage\":0.6},{\"id\":\"line_06_cornstarch\",\"reference\":{\"ingredient_id\":\"cornstarch\"},\"amount\":{\"quantity\":0.5,\"unit_id\":\"gram\"},\"percentage\":0.5},{\"id\":\"line_07_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":0.3,\"unit_id\":\"gram\"},\"percentage\":0.3},{\"id\":\"line_08_msg\",\"reference\":{\"ingredient_id\":\"msg\"},\"amount\":{\"quantity\":0.15,\"unit_id\":\"gram\"},\"percentage\":0.15}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Rinse chicken slivers under cold water.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Wring out water thoroughly.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Mix in baking soda.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Mix in rest of ingredients.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_chicken", + "position": 1, + "ingredient_id": "chicken_breast", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_oil", + "position": 2, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 1.5, + "unit_id": "gram", + "percentage": 1.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_soy_sauce_light", + "position": 3, + "ingredient_id": "soy_sauce_light", + "subrecipe_id": null, + "quantity": 0.8, + "unit_id": "gram", + "percentage": 0.8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_baking_soda", + "position": 4, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 0.75, + "unit_id": "gram", + "percentage": 0.75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": 0.6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_cornstarch", + "position": 6, + "ingredient_id": "cornstarch", + "subrecipe_id": null, + "quantity": 0.5, + "unit_id": "gram", + "percentage": 0.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.3, + "unit_id": "gram", + "percentage": 0.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_msg", + "position": 8, + "ingredient_id": "msg", + "subrecipe_id": null, + "quantity": 0.15, + "unit_id": "gram", + "percentage": 0.15, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Rinse chicken slivers under cold water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Wring out water thoroughly.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Mix in baking soda.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Mix in rest of ingredients.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chilis_avocado_ranch", + "schema_version": 2, + "save_version": 1, + "title": "Chili's Avocado Ranch", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"dressing\",\"ranch\",\"copycat\",\"chilis\"]", + "yield_quantity": 156.7, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"chilis_avocado_ranch\",\"title\":\"Chili's Avocado Ranch\",\"categories\":[\"sauce\"],\"tags\":[\"dressing\",\"ranch\",\"copycat\",\"chilis\"],\"yield\":{\"amount\":{\"quantity\":156.7,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_ranch\",\"reference\":{\"ingredient_id\":\"ranch\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_guacamole\",\"reference\":{\"recipe_id\":\"guacamole\"},\"amount\":{\"quantity\":50,\"unit_id\":\"gram\"},\"percentage\":50},{\"id\":\"line_03_lime_juice\",\"reference\":{\"ingredient_id\":\"lime_juice\"},\"amount\":{\"quantity\":6.7,\"unit_id\":\"gram\"},\"percentage\":6.7}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Blend.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_ranch", + "position": 1, + "ingredient_id": "ranch", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_guacamole", + "position": 2, + "ingredient_id": null, + "subrecipe_id": "guacamole", + "quantity": 50, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_lime_juice", + "position": 3, + "ingredient_id": "lime_juice", + "subrecipe_id": null, + "quantity": 6.7, + "unit_id": "gram", + "percentage": 6.7, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Blend.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chipotle_pinto_beans", + "schema_version": 2, + "save_version": 11, + "title": "Chipotle Pinto Beans", + "summary": null, + "categories_json": "[\"side\"]", + "tags_json": "[\"beans\"]", + "yield_quantity": 146.86, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"chipotle_pinto_beans\",\"title\":\"Chipotle Pinto Beans\",\"categories\":[\"side\"],\"tags\":[\"beans\"],\"yield\":{\"amount\":{\"quantity\":146.86,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_pinto_beans_dry_uncooked\",\"reference\":{\"ingredient_id\":\"pinto_beans_dry_uncooked\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":25,\"unit_id\":\"gram\"},\"percentage\":25},{\"id\":\"line_03_oil\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":4.5,\"unit_id\":\"gram\"},\"percentage\":4.5},{\"id\":\"line_04_chipotle_pepper_adobo\",\"reference\":{\"ingredient_id\":\"chipotle_pepper_adobo\"},\"amount\":{\"quantity\":4,\"unit_id\":\"gram\"},\"percentage\":4},{\"id\":\"line_05_lemon_juice\",\"reference\":{\"ingredient_id\":\"lemon_juice\"},\"amount\":{\"quantity\":3.33,\"unit_id\":\"gram\"},\"percentage\":3.33},{\"id\":\"line_06_lime_juice\",\"reference\":{\"ingredient_id\":\"lime_juice\"},\"amount\":{\"quantity\":3.33,\"unit_id\":\"gram\"},\"percentage\":3.33},{\"id\":\"line_07_onion_mince_dry\",\"reference\":{\"ingredient_id\":\"onion_dehydrated_flake\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_08_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_09_cumin\",\"reference\":{\"ingredient_id\":\"cumin\"},\"amount\":{\"quantity\":0.8,\"unit_id\":\"gram\"},\"percentage\":0.8},{\"id\":\"line_10_garlic_dehydrated_minced\",\"reference\":{\"ingredient_id\":\"garlic_dehydrated_minced\"},\"amount\":{\"quantity\":0.75,\"unit_id\":\"gram\"},\"percentage\":0.75},{\"id\":\"line_11_black_pepper_ground\",\"reference\":{\"ingredient_id\":\"black_pepper_ground\"},\"amount\":{\"quantity\":0.75,\"unit_id\":\"gram\"},\"percentage\":0.75},{\"id\":\"line_12_oregano_marjoram\",\"reference\":{\"recipe_id\":\"dominos_oregano_marjoram_blend\"},\"amount\":{\"quantity\":0.4,\"unit_id\":\"gram\"},\"percentage\":0.4}]}],\"equipment_ids\":[\"blender\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Cook and drain beans.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Combine all beans in blender.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Blend until smooth.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Stir in mixture into drained, cooked beans.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "blender" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_pinto_beans_dry_uncooked", + "position": 1, + "ingredient_id": "pinto_beans_dry_uncooked", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 84.99065102838686, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_oil", + "position": 2, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": 3.399626041135475, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_chipotle_pepper_adobo", + "position": 3, + "ingredient_id": "chipotle_pepper_adobo", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 2.124766275709672, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lemon_juice", + "position": 4, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 3.33, + "unit_id": "gram", + "percentage": 2.830188679245283, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_lime_juice", + "position": 5, + "ingredient_id": "lime_juice", + "subrecipe_id": null, + "quantity": 3.33, + "unit_id": "gram", + "percentage": 2.830188679245283, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_onion_mince_dry", + "position": 6, + "ingredient_id": "onion_dehydrated_flake", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 1.6998130205677375, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 0.8499065102838688, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_cumin", + "position": 8, + "ingredient_id": "cumin", + "subrecipe_id": null, + "quantity": 0.4, + "unit_id": "gram", + "percentage": 0.3399626041135475, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_garlic_dehydrated_minced", + "position": 9, + "ingredient_id": "garlic_dehydrated_minced", + "subrecipe_id": null, + "quantity": 0.5, + "unit_id": "gram", + "percentage": 0.4249532551419344, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_black_pepper_ground", + "position": 10, + "ingredient_id": "black_pepper_ground", + "subrecipe_id": null, + "quantity": 0.2, + "unit_id": "gram", + "percentage": 0.16998130205677375, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_oregano_marjoram", + "position": 11, + "ingredient_id": null, + "subrecipe_id": "dominos_oregano_marjoram_blend", + "quantity": 0.4, + "unit_id": "gram", + "percentage": 0.3399626041135475, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Cook and drain beans.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_165f12c1", + "position": 2, + "instruction": "Combine remaining ingredients and stir into beans", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_apricot_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate-Apricot Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 1718, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 900, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_heavy_cream", + "position": 4, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 225, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_apricot_puree", + "position": 5, + "ingredient_id": "apricot_puree", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 165, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_chocolate_dark", + "position": 7, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 188, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "72%, chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the first weight of cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a saucepan, combine the second weight of cream with the puree and bring to a scald.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "saucepan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make a dry caramel with the sugar and deglaze with the scalded cream/apricot mixture in 3 additions; bring back to a gentle boil to dissolve the sugar if necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Pour the hot cream mixture over the chopped chocolate, let stand for a few minutes, then emulsify until smooth. Whisk in the bloomed and drained gelatin.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Cool the base mixture to about 65°F (18°C), or until slightly thickened before folding in the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_babka", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Babka", + "summary": null, + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breakfast\",\"classic\"]", + "yield_quantity": 3213, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"If the dough seems too soft and excessively sticky after mixing, add more flour until it pulls away from the sides.\",\"The dough can be used in as little as 1 hour. However a long, slow fermentation improves the flavor and character of the dough.\",\"Any nut can be used depending on preference. We like hazelnuts, walnuts, pecans, or almonds.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "sponge", + "position": 1, + "name": "Sponge", + "notes_json": "[]" + }, + { + "id": "dough", + "position": 2, + "name": "Dough", + "notes_json": "[]" + }, + { + "id": "filling", + "position": 3, + "name": "Filling", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "dough", + "id": "line_04_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 585, + "unit_id": "gram", + "percentage": 87.97, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_05_egg_whole", + "position": 2, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 22.56, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_06_orange_zest", + "position": 3, + "ingredient_id": "orange_zest", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.38, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_07_brown_sugar", + "position": 4, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": 4.51, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_08_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 0.9, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_09_butter", + "position": 6, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 185, + "unit_id": "gram", + "percentage": 27.82, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "filling", + "id": "line_10_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 22.56, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "filling", + "id": "line_11_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 225, + "unit_id": "gram", + "percentage": 33.83, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "filling", + "id": "line_12_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.38, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "filling", + "id": "line_13_chocolate_dark", + "position": 4, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": 18.05, + "basis_member": 0, + "optional": 0, + "notes": "72%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "filling", + "id": "line_14_cocoa_powder", + "position": 5, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 9.02, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "filling", + "id": "line_15_nuts", + "position": 6, + "ingredient_id": "nuts", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 15.04, + "basis_member": 0, + "optional": 0, + "notes": "toasted, coarsely chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "filling", + "id": "line_16_total_dough_weight", + "position": 7, + "ingredient_id": "total_dough_weight", + "subrecipe_id": null, + "quantity": 1276, + "unit_id": "gram", + "percentage": 191.88, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "filling", + "id": "line_17_yield_two_9_inch_loaf_pans", + "position": 8, + "ingredient_id": "yield_two_9_inch_loaf_pans", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 0.15, + "basis_member": 0, + "optional": 0, + "notes": "To taste / as needed", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "sponge", + "id": "line_01_yeast_fresh", + "position": 1, + "ingredient_id": "yeast_fresh", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 6.02, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "sponge", + "id": "line_02_milk_whole", + "position": 2, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 30.08, + "basis_member": 0, + "optional": 0, + "notes": "110ºF/43ºC", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "sponge", + "id": "line_03_flour_all_purpose", + "position": 3, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": 12.03, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Sponge:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Make a sponge with the yeast, milk and flour. Cover and let proof in a warm place for about 15-20 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Dough:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "In a mixer fitted with a hook attachment, combine all of the dough ingredients with the sponge.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Mix on medium-low speed for 1 minute to hydrate. Increase the speed to medium-high and mix for 5-6 minutes to develop a soft, smooth dough.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Cover and refrigerate for 6 hours or overnight.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Filling:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Melt the butter in a saucepan. Add the sugar and salt, then whisk until the sugar is dissolved.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Remove from the heat and add the chocolate. Allow to stand for 1 minute, then whisk to emulsify. Whisk in the cocoa powder until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Shaping & Baking:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_11", + "position": 11, + "instruction": "Divide the dough in ½, about 625 g (1 lb 6 oz) per loaf.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_12", + "position": 12, + "instruction": "Pre-shape by patting each portion into a rectangle. Cover and bench rest for 5-10 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_13", + "position": 13, + "instruction": "Roll each portion into a 12x 18-inch rectangle. Spread 275 g (9.7 oz) of chocolate filling over each surface all the way to the edges.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_14", + "position": 14, + "instruction": "Sprinkle each with 50 g (1.8 oz) of nuts and gently roll into a tight log about 18-inches long.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_15", + "position": 15, + "instruction": "With a sharp knife, slice the log completely in ½. Twist the 2 pieces until it's one big twist.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_16", + "position": 16, + "instruction": "Place onto a greased loaf pan. Lightly press down on the top to de-gas and slightly flatten.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_17", + "position": 17, + "instruction": "Egg wash the top of each loaf and top with 150 g (5.3 oz) of streusel on page 37.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_18", + "position": 18, + "instruction": "Proof until about doubled in size.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_19", + "position": 19, + "instruction": "Bake at 350°F (177°C) until the internal temperature is 185°F (85°C) when a thermometer is inserted into the dough portion of the babka.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_banana_sheet_cake", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate-Banana Sheet Cake", + "summary": "Yield: one half sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one half sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 58.82, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": 94.12, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_whole", + "position": 3, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 58.82, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_flour_all_purpose", + "position": 4, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 255, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_cocoa_powder", + "position": 5, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 18, + "unit_id": "gram", + "percentage": 7.06, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_baking_soda", + "position": 6, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 2.75, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_banana_puree", + "position": 7, + "ingredient_id": "banana_puree", + "subrecipe_id": null, + "quantity": 390, + "unit_id": "gram", + "percentage": 152.94, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_sour_cream", + "position": 8, + "ingredient_id": "sour_cream", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 58.82, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_vanilla_extract", + "position": 9, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 2.75, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_chocolate_chips", + "position": 10, + "ingredient_id": "chocolate_chips", + "subrecipe_id": null, + "quantity": 138, + "unit_id": "gram", + "percentage": 54.12, + "basis_member": 0, + "optional": 0, + "notes": "mini", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter and sugar.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the eggs one at a time, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk the puree, sour cream, and extract together.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Alternately add the sifted dry ingredients and wet ingredients, followed by the chocolate chips.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Mix until smooth, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 350°F (177°C) until the cake springs back to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_bavarian_cream", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Bavarian Cream", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 1592, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 12, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_milk_whole", + "position": 4, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_yolk", + "position": 6, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_chocolate_dark", + "position": 9, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "58-72%, chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks; set aside in the refrigerator.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a saucepan, bring the milk and first weight of sugar to a boil. Meanwhile, whisk the egg yolks, second weight of sugar, and salt until light and thick. Temper ⅓ of the hot milk mixture into the yolk mixture. Return everything back to the saucepan and cook on medium-low heat until the mixture coats the back of a wooden spoon.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "saucepan", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Once cooked, remove from heat, add the chopped chocolate, let stand for a few minutes, then emulsify until smooth. Whisk in the bloomed and drained gelatin.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Strain through a fine-mesh strainer and cool to about 65°F (18°C), or until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the whipped cream into the cooled chocolate crème anglaise.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_biscotti", + "schema_version": 2, + "save_version": 1, + "title": "Chocolate Biscotti", + "summary": null, + "categories_json": "[\"dessert\"]", + "tags_json": "[\"cookie\",\"chocolate\"]", + "yield_quantity": 353.1, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"chocolate_biscotti\",\"title\":\"Chocolate Biscotti\",\"categories\":[\"dessert\"],\"tags\":[\"cookie\",\"chocolate\"],\"yield\":{\"amount\":{\"quantity\":353.1,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_all_purpose\",\"reference\":{\"ingredient_id\":\"flour_all_purpose\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_egg_whole\",\"reference\":{\"ingredient_id\":\"egg_whole\"},\"amount\":{\"quantity\":82,\"unit_id\":\"gram\"},\"percentage\":82},{\"id\":\"line_03_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":78,\"unit_id\":\"gram\"},\"percentage\":78},{\"id\":\"line_04_chocolate_chunks_chopped\",\"reference\":{\"ingredient_id\":\"semisweet_chocolate\"},\"amount\":{\"quantity\":70,\"unit_id\":\"gram\"},\"percentage\":70,\"notes\":\"chopped into chunks\"},{\"id\":\"line_05_cocoa_powder\",\"reference\":{\"ingredient_id\":\"cocoa_powder\"},\"amount\":{\"quantity\":16,\"unit_id\":\"gram\"},\"percentage\":16},{\"id\":\"line_06_baking_soda\",\"reference\":{\"ingredient_id\":\"baking_soda\"},\"amount\":{\"quantity\":2.5,\"unit_id\":\"gram\"},\"percentage\":2.5},{\"id\":\"line_07_vanilla_extract\",\"reference\":{\"ingredient_id\":\"vanilla_extract\"},\"amount\":{\"quantity\":2.1,\"unit_id\":\"gram\"},\"percentage\":2.1},{\"id\":\"line_08_espresso_powder\",\"reference\":{\"ingredient_id\":\"espresso_powder\"},\"amount\":{\"quantity\":1,\"unit_id\":\"gram\"},\"percentage\":1},{\"id\":\"line_09_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":0.8,\"unit_id\":\"gram\"},\"percentage\":0.8},{\"id\":\"line_10_almond_extract\",\"reference\":{\"ingredient_id\":\"almond_extract\"},\"amount\":{\"quantity\":0.7,\"unit_id\":\"gram\"},\"percentage\":0.7}]}],\"equipment_ids\":[\"sheet_pan\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Line sheet pan with parchment paper.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Sift flour, baking soda, cocoa powder.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Whip eggs, sugar, vanilla, almond extract and salt high until thick and light, ≈5 min.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Mix in sifted dry at low speed until just incorporated.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Fold in chocolate and (almonds).\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Form dough into strip on sheet pan.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Bake 300 °F 50 min.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Remove to cool 10 min.\",\"component_ids\":[\"main\"]},{\"id\":\"step_09\",\"order\":9,\"instruction\":\"Cut slices 1/2 in.\",\"component_ids\":[\"main\"]},{\"id\":\"step_10\",\"order\":10,\"instruction\":\"Bake 12 min at 275 °F.\",\"component_ids\":[\"main\"]},{\"id\":\"step_11\",\"order\":11,\"instruction\":\"Flip.\",\"component_ids\":[\"main\"]},{\"id\":\"step_12\",\"order\":12,\"instruction\":\"Bake 12 min at 275 °F.\",\"component_ids\":[\"main\"]},{\"id\":\"step_13\",\"order\":13,\"instruction\":\"Cooling rack, cool completely.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "sheet_pan" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_egg_whole", + "position": 2, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 82, + "unit_id": "gram", + "percentage": 82, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 78, + "unit_id": "gram", + "percentage": 78, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_chocolate_chunks_chopped", + "position": 4, + "ingredient_id": "semisweet_chocolate", + "subrecipe_id": null, + "quantity": 70, + "unit_id": "gram", + "percentage": 70, + "basis_member": 0, + "optional": 0, + "notes": "chopped into chunks", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_cocoa_powder", + "position": 5, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 16, + "unit_id": "gram", + "percentage": 16, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_baking_soda", + "position": 6, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 2.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_vanilla_extract", + "position": 7, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 2.1, + "unit_id": "gram", + "percentage": 2.1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_espresso_powder", + "position": 8, + "ingredient_id": "espresso_powder", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.8, + "unit_id": "gram", + "percentage": 0.8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_almond_extract", + "position": 10, + "ingredient_id": "almond_extract", + "subrecipe_id": null, + "quantity": 0.7, + "unit_id": "gram", + "percentage": 0.7, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Line sheet pan with parchment paper.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Sift flour, baking soda, cocoa powder.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Whip eggs, sugar, vanilla, almond extract and salt high until thick and light, ≈5 min.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Mix in sifted dry at low speed until just incorporated.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Fold in chocolate and (almonds).", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Form dough into strip on sheet pan.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Bake 300 °F 50 min.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Remove to cool 10 min.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_09", + "position": 9, + "instruction": "Cut slices 1/2 in.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Bake 12 min at 275 °F.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_11", + "position": 11, + "instruction": "Flip.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_12", + "position": 12, + "instruction": "Bake 12 min at 275 °F.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_13", + "position": 13, + "instruction": "Cooling rack, cool completely.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_bread_pudding_custard", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Bread Pudding Custard", + "summary": "Yield: twenty-five 3 oz molds", + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 2900, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: twenty-five 3 oz molds\",\"Diced brioche or challah work well with this recipe. Be sure the bread is slightly dried out prior to thoroughly saturating it with the warm custard.\",\"Bread pudding can be refrigerated for up to 3 days and reheated to order.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 1175, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_milk_whole", + "position": 2, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 488, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 355, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_chocolate_dark", + "position": 5, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 568, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "58-66%, chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_yolk", + "position": 6, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 320, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the cream, milk, sugar, and salt to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Off the heat, add the chopped chocolate to the hot cream mixture. Allow the chocolate to melt for a several minutes, then whisk until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Meanwhile, whisk the egg yolks until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Temper ½ of the hot chocolate mixture into the egg yolks. Use a rubber spatula to scrape all of the tempered egg yolk mixture back into the saucepan. Strain through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 300°F (149°C), covered, just until set.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_brownies", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Brownies", + "summary": "Yield: one half sheet pan", + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 2590, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one half sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": 302.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_chocolate_dark", + "position": 2, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 596, + "unit_id": "gram", + "percentage": 397.33, + "basis_member": 0, + "optional": 0, + "notes": "72%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_whole", + "position": 3, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 200, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 596, + "unit_id": "gram", + "percentage": 397.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_instant_espresso_powder", + "position": 5, + "ingredient_id": "instant_espresso_powder", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 4.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_vanilla_extract", + "position": 6, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": 2.67, + "basis_member": 0, + "optional": 0, + "notes": "¾ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_flour_all_purpose", + "position": 7, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": 2.67, + "basis_member": 0, + "optional": 0, + "notes": "¾ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_baking_powder", + "position": 9, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 6.67, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_mini_chocolate_chips", + "position": 10, + "ingredient_id": "mini_chocolate_chips", + "subrecipe_id": null, + "quantity": 283, + "unit_id": "gram", + "percentage": 188.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_nuts", + "position": 11, + "ingredient_id": "nuts", + "subrecipe_id": null, + "quantity": 183, + "unit_id": "gram", + "percentage": 122, + "basis_member": 0, + "optional": 0, + "notes": "toasted & chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the chocolate and butter together and set aside.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a whisk attachment, whisk the eggs, sugar, espresso, and extract until light and thick.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the melted chocolate/butter mixture to the whipped eggs and mix until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the sifted dry ingredients and mix until homogenous, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold in the chocolate chips and chopped nuts.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 325°F (163°C) until a skewer inserted comes out with crumbs.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_butter_glaze", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate-Butter Glaze", + "summary": null, + "categories_json": "[\"frostings_glazes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frostings_glazes\",\"classic\"]", + "yield_quantity": 1116, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_chocolate_dark", + "position": 1, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 619, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "58-66%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_butter", + "position": 2, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_glucose_syrup", + "position": 3, + "ingredient_id": "glucose_syrup", + "subrecipe_id": null, + "quantity": 43, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Partially melt all of the ingredients together over a water bath.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Off the heat, stir to finish melting the ingredients.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Use at about 86°F (30°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_chiffon_cake", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Chiffon Cake", + "summary": "Yield: one half sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 1250, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one half sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_coffee", + "position": 1, + "ingredient_id": "coffee", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": 68.57, + "basis_member": 0, + "optional": 0, + "notes": "hot", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_cocoa_powder", + "position": 2, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 28.57, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 171.43, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_flour_pastry", + "position": 4, + "ingredient_id": "flour_pastry", + "subrecipe_id": null, + "quantity": 175, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_baking_powder", + "position": 5, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 5.71, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 1.43, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_yolk", + "position": 7, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": 68.57, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_canola_oil", + "position": 8, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 108, + "unit_id": "gram", + "percentage": 61.71, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_vanilla_extract", + "position": 9, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 5.71, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_egg_whites", + "position": 10, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 171.43, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_sugar", + "position": 11, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 28.57, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_cream_of_tartar", + "position": 12, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 2.86, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Whisk the hot coffee and cocoa powder together until smooth; cover and set aside to cool until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Sift the dry ingredients and place in a bowl large enough to accommodate the entire recipe; set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk the cocoa mixture, egg yolks, oil, and extract to combine.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Whisk the wet ingredients into the sifted dry ingredients and thoroughly mix the batter until smooth and lump free.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Prepare a stiff peak French meringue with the egg whites, sugar, and cream of tartar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the meringue into the batter just until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Bake at 350°F (177°C) until the cake springs back to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_chip_cookie", + "schema_version": 2, + "save_version": 1, + "title": "Chocolate Chip Cookie", + "summary": null, + "categories_json": "[\"dessert\"]", + "tags_json": "[\"cookie\",\"chocolate\"]", + "yield_quantity": 414.11, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"chocolate_chip_cookie\",\"title\":\"Chocolate Chip Cookie\",\"categories\":[\"dessert\"],\"tags\":[\"cookie\",\"chocolate\"],\"yield\":{\"amount\":{\"quantity\":414.11,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_bread\",\"reference\":{\"ingredient_id\":\"flour_bread\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_chocolate_chip\",\"reference\":{\"ingredient_id\":\"semisweet_chocolate\"},\"amount\":{\"quantity\":110.53,\"unit_id\":\"gram\"},\"percentage\":110.53,\"notes\":\"chips\"},{\"id\":\"line_03_butter\",\"reference\":{\"ingredient_id\":\"butter\"},\"amount\":{\"quantity\":70.79,\"unit_id\":\"gram\"},\"percentage\":70.79},{\"id\":\"line_04_brown_sugar\",\"reference\":{\"ingredient_id\":\"brown_sugar\"},\"amount\":{\"quantity\":52.63,\"unit_id\":\"gram\"},\"percentage\":52.63},{\"id\":\"line_05_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":44.21,\"unit_id\":\"gram\"},\"percentage\":44.21},{\"id\":\"line_06_egg_whole\",\"reference\":{\"ingredient_id\":\"egg_whole\"},\"amount\":{\"quantity\":31.58,\"unit_id\":\"gram\"},\"percentage\":31.58},{\"id\":\"line_07_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1.68,\"unit_id\":\"gram\"},\"percentage\":1.68},{\"id\":\"line_08_vanilla_extract\",\"reference\":{\"ingredient_id\":\"vanilla_extract\"},\"amount\":{\"quantity\":1.58,\"unit_id\":\"gram\"},\"percentage\":1.58},{\"id\":\"line_09_baking_soda\",\"reference\":{\"ingredient_id\":\"baking_soda\"},\"amount\":{\"quantity\":1.11,\"unit_id\":\"gram\"},\"percentage\":1.11}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Cream butter, sugar.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Gradually add eggs.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Add vanilla.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Combine bread flour, baking soda.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Mix to 50% incorporation.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Add chocolate chips.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Mix until just incorporated.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Roll into 17 in log.\",\"component_ids\":[\"main\"]},{\"id\":\"step_09\",\"order\":9,\"instruction\":\"Wrap in parchment, refrigerate.\",\"component_ids\":[\"main\"]},{\"id\":\"step_10\",\"order\":10,\"instruction\":\"Cut to 100 g portions.\",\"component_ids\":[\"main\"]},{\"id\":\"step_11\",\"order\":11,\"instruction\":\"Place on parchment sheet pans.\",\"component_ids\":[\"main\"]},{\"id\":\"step_12\",\"order\":12,\"instruction\":\"Bake 380 °F 10-12 min.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_chocolate_chip", + "position": 2, + "ingredient_id": "semisweet_chocolate", + "subrecipe_id": null, + "quantity": 110.53, + "unit_id": "gram", + "percentage": 110.53, + "basis_member": 0, + "optional": 0, + "notes": "chips", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_butter", + "position": 3, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 70.79, + "unit_id": "gram", + "percentage": 70.79, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_brown_sugar", + "position": 4, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 52.63, + "unit_id": "gram", + "percentage": 52.63, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 44.21, + "unit_id": "gram", + "percentage": 44.21, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whole", + "position": 6, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 31.58, + "unit_id": "gram", + "percentage": 31.58, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.68, + "unit_id": "gram", + "percentage": 1.68, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_vanilla_extract", + "position": 8, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 1.58, + "unit_id": "gram", + "percentage": 1.58, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_baking_soda", + "position": 9, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 1.11, + "unit_id": "gram", + "percentage": 1.11, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Cream butter, sugar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Gradually add eggs.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Add vanilla.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Combine bread flour, baking soda.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Mix to 50% incorporation.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Add chocolate chips.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Mix until just incorporated.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Roll into 17 in log.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_09", + "position": 9, + "instruction": "Wrap in parchment, refrigerate.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Cut to 100 g portions.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_11", + "position": 11, + "instruction": "Place on parchment sheet pans.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_12", + "position": 12, + "instruction": "Bake 380 °F 10-12 min.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_chip_cookies", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Chip Cookies", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1643, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 60.37, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 178, + "unit_id": "gram", + "percentage": 47.34, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_brown_sugar", + "position": 3, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 178, + "unit_id": "gram", + "percentage": 47.34, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_invert_sugar", + "position": 4, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 10.64, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_whole", + "position": 5, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 26.6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_vanilla_extract", + "position": 6, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 14, + "unit_id": "gram", + "percentage": 3.72, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_flour_all_purpose", + "position": 7, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 376, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 1.86, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_baking_soda", + "position": 9, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 1.6, + "basis_member": 0, + "optional": 0, + "notes": "1¼ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_chocolate_chips", + "position": 10, + "ingredient_id": "chocolate_chips", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": 120.74, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter and sugars.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Gradually add the eggs, followed by the extract, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the sifted dry ingredients and mix until streaky.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the chocolate chips and mix until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 275°F (135°C).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_coconut_sheet_cake", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate-Coconut Sheet Cake", + "summary": "Yield: one full sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 1418, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one full sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 88.89, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 111.11, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_pastry_cream", + "position": 3, + "ingredient_id": "pastry_cream", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 44.44, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 88.89, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_desiccated_coconut", + "position": 5, + "ingredient_id": "desiccated_coconut", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 133.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_milk_whole", + "position": 6, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 44.44, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_flour_cake", + "position": 7, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 225, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_cocoa_powder", + "position": 8, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": 11.11, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_baking_powder", + "position": 9, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 6.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_salt", + "position": 10, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 1.11, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter and sugar.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the pastry cream and mix until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the eggs one at a time, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the coconut, followed by the milk.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold the sifted dry ingredients into the batter until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 350°F (177°C) until the cake springs back to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_creme_brulee", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Crème Brûlée", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1890, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Crème brûlée has a shelf life up to 3 days.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_chocolate_dark", + "position": 1, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "72%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 940, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 qt", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_milk_whole", + "position": 3, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_vanilla_bean", + "position": 4, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "split & scraped (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_yolk", + "position": 5, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 160, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the chocolate and set aside.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, bring the cream, milk, and vanilla bean to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Stir in the melted chocolate and bring the mixture to a scald.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "In a mixing bowl, whisk together the egg yolks, sugar, and salt.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Temper the hot chocolate cream into the egg yolk mixture until smooth and homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Strain through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Remove excess air bubbles from the top of the crème brûlée custard by placing a piece of plastic wrap or paper towel on the surface and then removing.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Bake at 275°F (135°C) in a water bath, covered, until the custard trembles slightly when shaken.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_creme_mousseline", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Crème Mousseline", + "summary": null, + "categories_json": "[\"frostings_glazes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frostings_glazes\",\"classic\"]", + "yield_quantity": 2489, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"See the Chef's Notes in the Basic Crème Mousseline recipe on page 179.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_pastry_cream", + "position": 1, + "ingredient_id": "pastry_cream", + "subrecipe_id": null, + "quantity": 1610, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_chocolate_dark", + "position": 2, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 425, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "58-66%, chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_butter", + "position": 3, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cubed", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Prepare the pastry cream on page 218.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a paddle attachment, cream the hot pastry cream and chopped chocolate until the chocolate is incorporated and the pastry cream has cooled until slightly warm, about 110ºF (43ºC).", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "When the pastry cream is slightly warm, add the butter in several additions, beating until completely incorporated and the mixture is light and fluffy.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_cremeux", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Crémeux", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Gelatin may be added to this recipe when using it as a filling for entremets or large tarts.\",\"How thick or thin you cook the crème anglaise will have an effect on the viscosity of the crèmeux.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_milk_whole", + "position": 1, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 294, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 294, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 118, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_chocolate_dark", + "position": 6, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 224, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "66-72%, chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Make a crème anglaise with the milk, cream, sugar, egg yolks, and salt.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Strain the hot crème anglaise over the chopped chocolate. Let stand for 1 minute, then emulsify until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Use immediately.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_crinkle_cookies", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Crinkle Cookies", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1470, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_canola_oil", + "position": 1, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 82.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_unsweetened_chocolate", + "position": 2, + "ingredient_id": "unsweetened_chocolate", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 93.42, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 340, + "unit_id": "gram", + "percentage": 139.92, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 164.61, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vanilla_extract", + "position": 5, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 2.88, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_flour_all_purpose", + "position": 6, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 243, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_cocoa_powder", + "position": 7, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 38, + "unit_id": "gram", + "percentage": 15.64, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_baking_powder", + "position": 8, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 4.12, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 2.06, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the chocolate and oil. Set aside until warm, about 110°F (43ºC).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the sugar, eggs, and extract.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk the egg mixture into the chocolate mixture.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir the sifted dry ingredients into the wet ingredients until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Chill before use.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Scoop and roll the cookies in powdered sugar before baking.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Bake at 350°F (177ºC) until the cookies \"crack.\" Do not over bake.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_crystalline_tuiles", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Crystalline Tuiles", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1010, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_confectioners_sugar", + "position": 1, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": 313.1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_flour_cake", + "position": 2, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 145, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_cocoa_powder", + "position": 3, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 45, + "unit_id": "gram", + "percentage": 31.03, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 1.72, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_orange_juice", + "position": 5, + "ingredient_id": "orange_juice", + "subrecipe_id": null, + "quantity": 182, + "unit_id": "gram", + "percentage": 125.52, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_butter", + "position": 6, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 182, + "unit_id": "gram", + "percentage": 125.52, + "basis_member": 0, + "optional": 0, + "notes": "melted", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a whisk attachment, whisk the sifted dry ingredients.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the juice and mix to combine, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk in the melted butter in 3 additions until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Chill before use.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Using a template, spread thinly on a silicone baking mat.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 350°F (177°C).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Shape as desired and store in airtight containers.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_cupcakes", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Cupcakes", + "summary": "Yield: twenty 3 oz cupcakes", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 1247, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: twenty 3 oz cupcakes\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 113, + "unit_id": "gram", + "percentage": 43.46, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 38.46, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_canola_oil", + "position": 3, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 113, + "unit_id": "gram", + "percentage": 43.46, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_melted_chocolate", + "position": 4, + "ingredient_id": "melted_chocolate", + "subrecipe_id": null, + "quantity": 105, + "unit_id": "gram", + "percentage": 40.38, + "basis_member": 0, + "optional": 0, + "notes": "58%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_whole", + "position": 5, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 57.69, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_coffee", + "position": 6, + "ingredient_id": "coffee", + "subrecipe_id": null, + "quantity": 180, + "unit_id": "gram", + "percentage": 69.23, + "basis_member": 0, + "optional": 0, + "notes": "cooled", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_vanilla_extract", + "position": 7, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 8, + "unit_id": "gram", + "percentage": 3.08, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_flour_all_purpose", + "position": 8, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 260, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_cocoa_powder", + "position": 9, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 29, + "unit_id": "gram", + "percentage": 11.15, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_salt", + "position": 10, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.92, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_baking_soda", + "position": 11, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.92, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_baking_powder", + "position": 12, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.96, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_milk_whole", + "position": 13, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 183, + "unit_id": "gram", + "percentage": 70.38, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter and sugar.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the oil and mix until combined, followed by the melted chocolate.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the eggs one at a time, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the coffee and extract.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Alternately fold the sifted dry ingredients and milk into the batter just until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fill cupcake liners approximately ⅔ full with batter.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Bake at 350°F (177°C) until a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Let cool in the pan for about 10 minutes before unmolding.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_financier", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Financier", + "summary": null, + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 1230, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 130, + "unit_id": "gram", + "percentage": 171.05, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 320, + "unit_id": "gram", + "percentage": 421.05, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_chocolate_dark", + "position": 3, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 284, + "unit_id": "gram", + "percentage": 373.68, + "basis_member": 0, + "optional": 0, + "notes": "58%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_confectioners_sugar", + "position": 4, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 131.58, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_almond_flour", + "position": 5, + "ingredient_id": "almond_flour", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": 105.26, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_flour_all_purpose", + "position": 6, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 76, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_baking_powder", + "position": 7, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 1.64, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 1.64, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_egg_whites", + "position": 9, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": 315.79, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Make beurre noisette with the butter. Strain through a fine-mesh strainer and set aside to cool.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Make a ganache with the cream and chocolate and set aside.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a mixer fitted with a paddle attachment, combine the sifted dry ingredients.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Mix the egg whites into the dry ingredients in 3 additions on low speed, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Add the beurre noisette in 3 additions.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Add the ganache and mix until incorporated.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Chill until firm.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Bake at 350°F (177ºC) until the cake springs back to the touch and a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_fondue", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Fondue", + "summary": null, + "categories_json": "[\"sauces_liquids\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sauces_liquids\",\"classic\"]", + "yield_quantity": 2116, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"This recipe is great served over profiteroles or used as a warm dipping sauce.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_chocolate_dark", + "position": 1, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 908, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "58-66%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_corn_syrup", + "position": 2, + "ingredient_id": "corn_syrup", + "subrecipe_id": null, + "quantity": 38, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 940, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 qt", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¾ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_butter", + "position": 5, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Combine the chocolate and corn syrup in a bowl large enough to accommodate the entire recipe.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Bring the cream and salt to a boil. Pour the hot cream over the chocolate, allow to stand for 2 minutes, then emulsify until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk in the softened butter.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_fruit_nut_cake", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Fruit& Nut Cake", + "summary": "Yield: two 6-inch cake pans", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 1910, + "yield_unit_id": "gram", + "yield_servings": 2, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: two 6-inch cake pans\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 280, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_cocoa_powder", + "position": 2, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 45, + "unit_id": "gram", + "percentage": 16.07, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_baking_powder", + "position": 3, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.89, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_baking_soda", + "position": 4, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.89, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.79, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_pecan", + "position": 6, + "ingredient_id": "pecan", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": 44.64, + "basis_member": 0, + "optional": 0, + "notes": "toasted/coarsely chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_dried_cherries", + "position": 7, + "ingredient_id": "dried_cherries", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": 26.79, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_dried_apricots", + "position": 8, + "ingredient_id": "dried_apricots", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": 26.79, + "basis_member": 0, + "optional": 0, + "notes": "coarsely chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_dried_pears", + "position": 9, + "ingredient_id": "dried_pears", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": 26.79, + "basis_member": 0, + "optional": 0, + "notes": "coarsely chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_chocolate_chips", + "position": 10, + "ingredient_id": "chocolate_chips", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": 26.79, + "basis_member": 0, + "optional": 0, + "notes": "mini", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_butter", + "position": 11, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 265, + "unit_id": "gram", + "percentage": 94.64, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_sugar", + "position": 12, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 142.86, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_honey", + "position": 13, + "ingredient_id": "honey", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 14.29, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_14_egg_whole", + "position": 14, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 89.29, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_15_sour_cream", + "position": 15, + "ingredient_id": "sour_cream", + "subrecipe_id": null, + "quantity": 190, + "unit_id": "gram", + "percentage": 67.86, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_16_vanilla_extract", + "position": 16, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.79, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_17_coffee_extract", + "position": 17, + "ingredient_id": "coffee_extract", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.79, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Sift the dry ingredients and set aside.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Toss the chopped dried fruit, nuts, and chocolate chips with a small amount of the sifted dry ingredients and set aside.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter, sugar, and honey until light and fluffy.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the eggs one at a time, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Combine the sour cream with the extracts.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Alternately add the sifted dry ingredients with the sour cream mixture, beginning and ending with the dry ingredients.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Fold in the dried fruits, nuts, and chocolate chips, scraping down the bowl as necessary; do not overwork the batter.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Bake at 325°F (163°C) until a skewer inserted comes out with some moist crumbs. Unmold the cakes onto a cooling rack.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Soak the cake with brandy or rum flavored simple syrup if desired while the cake is still warm.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Glaze the cake with the chocolate-butter glaze on page 189.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_11", + "position": 11, + "instruction": "mo", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_ganache", + "schema_version": 2, + "save_version": 1, + "title": "Chocolate Ganache", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"dessert-sauce\",\"chocolate\"]", + "yield_quantity": 205, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"chocolate_ganache\",\"title\":\"Chocolate Ganache\",\"categories\":[\"sauce\"],\"tags\":[\"dessert-sauce\",\"chocolate\"],\"yield\":{\"amount\":{\"quantity\":205,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_dark_chocolate\",\"reference\":{\"ingredient_id\":\"dark_chocolate\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_heavy_cream\",\"reference\":{\"ingredient_id\":\"heavy_cream\"},\"amount\":{\"quantity\":105,\"unit_id\":\"gram\"},\"percentage\":105}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Heat heavy cream to 100 °F.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Pour over chocolate chips, stirring.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_dark_chocolate", + "position": 1, + "ingredient_id": "dark_chocolate", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 105, + "unit_id": "gram", + "percentage": 105, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Heat heavy cream to 100 °F.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Pour over chocolate chips, stirring.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_ganache_frosting", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Ganache Frosting", + "summary": null, + "categories_json": "[\"frostings_glazes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frostings_glazes\",\"classic\"]", + "yield_quantity": 2340, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_chocolate_dark", + "position": 1, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "58%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_glucose_syrup", + "position": 3, + "ingredient_id": "glucose_syrup", + "subrecipe_id": null, + "quantity": 316, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_brandy", + "position": 5, + "ingredient_id": "brandy", + "subrecipe_id": null, + "quantity": 22, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the chocolate over a water bath in a bowl large enough to accommodate the entire recipe.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, heat the cream, glucose, and salt to 85°F (29ºC). Pour over the melted chocolate and emulsify until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "thermometer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk in the brandy.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Pour the ganache into hotel pans and cover the surface with plastic wrap to prevent a skin from forming. Allow to set at room temperature.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Chill or warm the ganache to desired consistency as needed before use.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_hazelnut_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate-Hazelnut Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 1535, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_hazelnut_liqueur", + "position": 3, + "ingredient_id": "hazelnut_liqueur", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_heavy_cream", + "position": 4, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 550, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_chocolate_dark", + "position": 5, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 350, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "58-66%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_gianduja", + "position": 6, + "ingredient_id": "gianduja", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_water", + "position": 8, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 65, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_egg_whole", + "position": 9, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_egg_yolk", + "position": 10, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 180, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Melt the chocolates together and keep warm.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make a pâte à bombe with the sugar, water, whole eggs, and yolks; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Melt the bloomed and drained gelatin with the liqueur. Add it to the slightly warm pâte à bombe until well combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the warm melted chocolate into the pâte à bombe, followed by the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_ice_cream", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Ice Cream", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_milk_whole", + "position": 1, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 368, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 338, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 93, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_milk_powder", + "position": 4, + "ingredient_id": "milk_powder", + "subrecipe_id": null, + "quantity": 83, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_cocoa_powder", + "position": 5, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 45, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_ice_cream_stabilizer", + "position": 7, + "ingredient_id": "ice_cream_stabilizer", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_egg_yolk", + "position": 9, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_invert_sugar", + "position": 10, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 330, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_chocolate_dark", + "position": 11, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 128, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "70-72%", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan large enough to accommodate the entire recipe, combine the milk, water, and cream. With an immersion blender, blend in the milk powder and cocoa powder to dissolve.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Heat until warm, 105°F (40°C); whisk in the blended sugar, stabilizer, and salt, followed by the yolks and invert sugar.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "thermometer", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Stir with a whisk and heat to 185°F (85°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "When heated, blend in the couverture with an immersion blender until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Chill immediately and allow to mature for 6 to 12 hours.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Blend with an immersion blender before spinning.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_lace_tuiles", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Lace Tuiles", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 2230, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 88.89, + "basis_member": 0, + "optional": 0, + "notes": "melted", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_brown_sugar", + "position": 2, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 480, + "unit_id": "gram", + "percentage": 106.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_dark_corn_syrup", + "position": 3, + "ingredient_id": "dark_corn_syrup", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": 111.11, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.56, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_flour_all_purpose", + "position": 5, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 450, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_chocolate_dark", + "position": 6, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": 53.33, + "basis_member": 0, + "optional": 0, + "notes": "melted", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_cocoa_nibs", + "position": 7, + "ingredient_id": "cocoa_nibs", + "subrecipe_id": null, + "quantity": 160, + "unit_id": "gram", + "percentage": 35.56, + "basis_member": 0, + "optional": 0, + "notes": "optional", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Whisk the sugar, corn syrup, and salt into the melted butter.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk in the sifted flour until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the melted chocolate and whisk to combine.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir in the cocoa nibs if desired.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Chill before use.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Roll into desired sized balls and place on a silicone baking mat. Lightly flatten each ball with the palm of your hand.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Bake at 350°F (177°C).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Shape as desired and store in airtight containers.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_lava_cake", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Lava Cake", + "summary": null, + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 928, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"This cake can be portioned into prepared molds and frozen for up to one month. Defrost the cakes, bring to room temperature and bake to order.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_chocolate_dark", + "position": 1, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 349.23, + "basis_member": 0, + "optional": 0, + "notes": "72%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_butter", + "position": 2, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 190, + "unit_id": "gram", + "percentage": 292.31, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_whole", + "position": 3, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 384.62, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": 123.08, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 115, + "unit_id": "gram", + "percentage": 176.92, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_flour_all_purpose", + "position": 6, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 65, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 1.92, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the chocolate and butter together. Set aside to cool until 110°F (43°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a whisk attachment, whip the whole eggs, yolks, and sugar on medium speed until a thick ribbon is achieved.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the warm chocolate mixture to the egg foam, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the flour and salt, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Portion into prepared individual molds.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 350°F (177°C) until the cake is set on the outside but still liquidy in the center. Bake and serve to order.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_macarons", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Macarons", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 980, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Do not open the oven door during the baking process. Total baking time will be determined based on the size of the macarons and calibration of the oven.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_10x_sugar", + "position": 1, + "ingredient_id": "10x_sugar", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_almond_flour", + "position": 2, + "ingredient_id": "almond_flour", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whites", + "position": 4, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_water", + "position": 6, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 63, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_whites", + "position": 7, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_cream_of_tartar", + "position": 8, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_unsweetened_chocolate", + "position": 9, + "ingredient_id": "unsweetened_chocolate", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_red_gel_food_coloring", + "position": 10, + "ingredient_id": "red_gel_food_coloring", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 drop", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a food processor, grind the sugar, flour, and salt until fine. Pass the mixture through a sifter and place in a bowl large enough to accommodate the entire recipe.", + "critical_control_point": 0, + "equipment_ids": [ + "food_processor", + "mixing_bowl" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Mix the ground flour mixture and the first weight of egg whites until a smooth paste forms. Cover with plastic wrap and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Melt the chocolate and keep warm, about 120°F (49°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make an Italian meringue with the sugar, water, second weight of egg whites, and tartar. Cook the sugar to 243°F (117°C) and time the sugar with the egg whites so the whites are at medium peaks when the sugar reaches the proper temperature.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "thermometer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Whisk the meringue until tepid, about 120°F (49°C), then add the warm melted chocolate to the meringue while whipping. Add the food coloring after the chocolate is fully incorporated.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "thermometer", + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the meringue into the reserved paste in 3 additions, then macaronage the mixture until a ribbon flattens back into the mix in about 10 seconds.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Pipe into rounds about 1¼-inches in diameter on a silicone baking mat. Set aside to air dry for 60 minutes to develop a shell before baking.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Bake at 300°F (149°C) for 11-12 minutes.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_mirror_glaze", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Mirror Glaze", + "summary": null, + "categories_json": "[\"frostings_glazes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frostings_glazes\",\"classic\"]", + "yield_quantity": 1250, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 290, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_water", + "position": 4, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 162, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 380, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_glucose_syrup", + "position": 6, + "ingredient_id": "glucose_syrup", + "subrecipe_id": null, + "quantity": 145, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_invert_sugar", + "position": 7, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 45, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_cocoa_powder", + "position": 8, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 108, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan large enough to accommodate the entire recipe, bring the cream, water, sugars, and glucose to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk in the cocoa powder and salt and return to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Off the heat, add the bloomed and drained gelatin.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Blend the glaze with an immersion blender until homogenous.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Strain through a fine-mesh strainer and refrigerate overnight.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Use at about 84°F (29°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_pastry_cream_tuiles", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Pastry Cream Tuiles", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1470, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_milk_whole", + "position": 1, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": 625, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_hazelnut_oil", + "position": 2, + "ingredient_id": "hazelnut_oil", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 125, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_flour_all_purpose", + "position": 3, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_cornstarch", + "position": 4, + "ingredient_id": "cornstarch", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 1.56, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whole", + "position": 6, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 350, + "unit_id": "gram", + "percentage": 437.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_chocolate_dark", + "position": 7, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 500, + "basis_member": 0, + "optional": 0, + "notes": "64%", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bring the milk and oil to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Meanwhile, sift the dry ingredients. Whisk in the eggs until light and smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "When the milk comes to a boil, temper ⅓ of the hot milk into the egg mixture.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Combine the egg/milk mixture with the rest of the hot milk in the saucepan and boil for 2 minutes while whisking continuously.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Off the heat, whisk the chocolate into the pastry cream until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Cool down the pastry cream immediately.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Using a template, spread thinly on a silicone baking mat.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Bake at 350°F (177ºC).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Shape as desired and store in airtight containers.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_pat_e_sable", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Pât e Sablé", + "summary": null, + "categories_json": "[\"doughs\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"doughs\",\"classic\"]", + "yield_quantity": 894, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"The dough can be refrigerated for 3 days or frozen up to 2 months.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 90.91, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_confectioners_sugar", + "position": 2, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 30.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.76, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 12.12, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_flour_cake", + "position": 5, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 210, + "unit_id": "gram", + "percentage": 63.64, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_flour_all_purpose", + "position": 6, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": 36.36, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_cocoa_powder", + "position": 7, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": 36.36, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_baking_powder", + "position": 8, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.76, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter, sugar, and salt.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the eggs one at a time, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the sifted dry ingredients and mix just until combined. Do not over mix.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Wrap the dough in plastic wrap and refrigerate for a minimum of 1 hour, preferably overnight.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_pate_sucree", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Pâte Sucrée", + "summary": null, + "categories_json": "[\"doughs\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"doughs\",\"classic\"]", + "yield_quantity": 1000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"The dough can be refrigerated for 3 days or frozen up to 2 months.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 55.37, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_confectioners_sugar", + "position": 2, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 55.37, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_whole", + "position": 3, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 24.39, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_vanilla_extract", + "position": 4, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.22, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_flour_all_purpose", + "position": 5, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 410, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_cocoa_powder", + "position": 6, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 23, + "unit_id": "gram", + "percentage": 5.61, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.61, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter and sugar.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the eggs one at a time, followed by the extract, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the sifted dry ingredients to the butter mixture. Mix just until combined, scraping down the bowl again.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Wrap the dough in plastic wrap and refrigerate for a minimum of 1 hour, preferably overnight.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_pistachio_cherry_biscotti", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Pistachio Cherry Biscotti", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1215, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"600 g (21.2 oz) logs will yield approximately 3½-inch sized biscotti.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 341, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": 133.14, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_cocoa_powder", + "position": 3, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 42, + "unit_id": "gram", + "percentage": 12.32, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_baking_powder", + "position": 4, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 3.75, + "unit_id": "gram", + "percentage": 1.1, + "basis_member": 0, + "optional": 0, + "notes": "¾ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.73, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whole", + "position": 6, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 58.65, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_vanilla_extract", + "position": 7, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 3.75, + "unit_id": "gram", + "percentage": 1.1, + "basis_member": 0, + "optional": 0, + "notes": "¾ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_pistachio", + "position": 8, + "ingredient_id": "pistachio", + "subrecipe_id": null, + "quantity": 85, + "unit_id": "gram", + "percentage": 24.93, + "basis_member": 0, + "optional": 0, + "notes": "lightly toasted", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_dried_cherries", + "position": 9, + "ingredient_id": "dried_cherries", + "subrecipe_id": null, + "quantity": 85, + "unit_id": "gram", + "percentage": 24.93, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Combine the sifted dry ingredients in a mixer fitted with a paddle attachment.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the eggs and extract and mix until combined, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Mix in the pistachios and dried cherries until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Chill until firm; this will make shaping into logs easier.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Roll the dough into desired sized logs and refrigerate or freeze.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Brush the logs with egg whites and sprinkle with granulated sugar before baking.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Bake at 325°F (163°C) until evenly browned and firm to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Slice the biscotti into desired sized slices and place on sheet pans.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Bake a second time at 225°F (107°C) until dry.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_puff_pastry", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Puff Pastry", + "summary": null, + "categories_json": "[\"doughs\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"doughs\",\"classic\"]", + "yield_quantity": 1160, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"The butter packet should be the same consistency as the dough packet when you begin assembly as this facilitates smooth and even lamination.\",\"Acid like vinegar helps relax gluten, making the dough more pliable.\",\"Puff pastry can be refrigerated for 3 days or frozen up to 2 months.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "dough_packet_detrempe", + "position": 1, + "name": "Dough Packet (Détrempe)", + "notes_json": "[]" + }, + { + "id": "butter_packet_beurrage", + "position": 2, + "name": "Butter Packet (Beurrage)", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "butter_packet_beurrage", + "id": "line_06_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 425, + "unit_id": "gram", + "percentage": 101.19, + "basis_member": 0, + "optional": 0, + "notes": "cold & softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "butter_packet_beurrage", + "id": "line_07_cocoa_powder", + "position": 2, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 11.9, + "basis_member": 0, + "optional": 0, + "notes": "sifted", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 420, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_02_salt", + "position": 2, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 2.38, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_03_butter", + "position": 3, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 70, + "unit_id": "gram", + "percentage": 16.67, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_04_water", + "position": 4, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 185, + "unit_id": "gram", + "percentage": 44.05, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_05_white_vinegar", + "position": 5, + "ingredient_id": "white_vinegar", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.6, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Dough Packet:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a paddle attachment, combine the flour, salt, and butter. Mix until the butter has coated the flour and is no longer visible.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Combine the water and vinegar. Add it to the dry ingredients and mix to form a dough. Do not over mix, but be sure there are no dry spots of flour in the dough.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Pat the dough packet into a square, wrap in plastic wrap, and refrigerate for at least 1 hour.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Butter Packet:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "In a mixer fitted with a paddle attachment, mix the cold butter and sifted cocoa powder until homogenous.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Pat the chocolate butter packet into a square and refrigerate for at least 30 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Assembly:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_9", + "position": 9, + "instruction": "On a floured work surface, roll the corners of the chocolate butter packet into flaps.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Put the dough packet into the center of the butter packet and fold the flaps to completely cover the dough. Seal in the butter package.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_11", + "position": 11, + "instruction": "Give the dough 2 letter turns rolling the dough ⅜-inch thick letting the dough rest in the refrigerator wrapped in plastic wrap for 30 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_12", + "position": 12, + "instruction": "Repeat 2 more letter turns rolling the dough ⅜-inch thick letting the dough rest in the refrigerator wrapped in plastic wrap for 30 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_13", + "position": 13, + "instruction": "Perform the last 2 letter turns for a total of 6.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_raspberry_bonbon_ganache", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate-Raspberry Bonbon Ganache", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 215, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_invert_sugar", + "position": 2, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 31, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_raspberry_puree", + "position": 3, + "ingredient_id": "raspberry_puree", + "subrecipe_id": null, + "quantity": 185, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_valrhona_manjari", + "position": 4, + "ingredient_id": "valrhona_manjari", + "subrecipe_id": null, + "quantity": 461, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "64%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_butter", + "position": 5, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 108, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_citric_acid", + "position": 6, + "ingredient_id": "citric_acid", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the cream and sugar to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In another saucepan, bring the puree to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Place the chocolate in a bowl large enough to accommodate the entire recipe.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Pour the hot cream over the chocolate. Allow to stand for one minute, then begin to emulsify, add the hot puree, and finish emulsifying until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Stir in the softened butter and citric acid.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Cover the surface of the ganache with plastic wrap. Allow to rest at room temperature until it reaches 78°F (26°C). The cooled ganache should have a thick, yet fluid consistency to properly fill bonbon shells.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_raspberry_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate-Raspberry Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 2360, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 940, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 qt", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_raspberry_liqueur", + "position": 2, + "ingredient_id": "raspberry_liqueur", + "subrecipe_id": null, + "quantity": 65, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_valrhona_manjari", + "position": 3, + "ingredient_id": "valrhona_manjari", + "subrecipe_id": null, + "quantity": 315, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "64%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_chocolate_milk", + "position": 4, + "ingredient_id": "chocolate_milk", + "subrecipe_id": null, + "quantity": 190, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_heavy_cream", + "position": 5, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_raspberry_puree", + "position": 6, + "ingredient_id": "raspberry_puree", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_butter", + "position": 7, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_egg_yolk", + "position": 8, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_sugar", + "position": 9, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Whip the first weight of cream to soft peaks, then whisk in the alcohol; set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Melt the chocolates together and keep warm.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a saucepan, combine the second weight of cream, puree, and butter. Bring to a boil and reduce until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "saucepan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make a pâte à bombe with the sugar and egg yolks; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold the whipped cream into the very warm chocolate.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the reduced raspberry mixture into the pâte à bombe.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Fold the two mixtures together.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_raspberry_tart_filling", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate-Raspberry Tart Filling", + "summary": null, + "categories_json": "[\"tart_pie_fillings\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"tart_pie_fillings\",\"classic\"]", + "yield_quantity": 1040, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_chocolate_dark", + "position": 1, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "64%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_egg_whole", + "position": 2, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_milk_whole", + "position": 3, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 140, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_heavy_cream", + "position": 4, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 280, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_raspberry_puree", + "position": 5, + "ingredient_id": "raspberry_puree", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_raspberry_liqueur", + "position": 6, + "ingredient_id": "raspberry_liqueur", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the chocolate and set aside.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Mix the eggs, milk, cream, and puree together. Heat the mixture to 158ºF (70ºC) and strain over the melted chocolate.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Emulsify until smooth and stir in the raspberry liqueur.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Strain the filling through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 300ºF (149ºC) in blind baked tart shells just until set.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_roulade_sheet_cake", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Roulade Sheet Cake", + "summary": "Yield: one full sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 930, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one full sheet pan\",\"This is a great recipe for making bûche de Noël.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_egg_whites", + "position": 1, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 200, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 133.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_cream_of_tartar", + "position": 3, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 133.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vanilla_extract", + "position": 5, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 3.33, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_flour_cake", + "position": 6, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_cocoa_powder", + "position": 7, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 70, + "unit_id": "gram", + "percentage": 46.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_baking_powder", + "position": 8, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 1.67, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_baking_soda", + "position": 9, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 1.67, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_salt", + "position": 10, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 1.67, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Make a stiff peak French meringue with the egg whites, sugar, and cream of tartar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the egg yolks and extract and fold into the meringue until streaky.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Sift the dry ingredients and gently fold into the meringue until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Bake at 350°F (177°C) until the cake springs back to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_sauce", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Sauce", + "summary": null, + "categories_json": "[\"sauces_liquids\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sauces_liquids\",\"classic\"]", + "yield_quantity": 1895, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_glucose_syrup", + "position": 3, + "ingredient_id": "glucose_syrup", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_cocoa_powder", + "position": 5, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 95, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_heavy_cream", + "position": 6, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_chocolate_dark", + "position": 7, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "58-72%", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the water, sugar, glucose syrup, and salt to a boil. Whisk in the cocoa powder and simmer for 5 minutes.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Make a ganache with the cream and chocolate. Whisk the ganache and sugar/syrup mixture together until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Strain the chocolate sauce through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_semifreddo", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Semifreddo", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 2090, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_chocolate_dark", + "position": 1, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 650, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "66%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 800, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_whites", + "position": 3, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the chocolate to 122°F (50°C); set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks; set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Make a Swiss meringue with the egg whites, sugar, and salt; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Fold the chocolate into the meringue, followed by the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Mold as desired and freeze immediately.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_sheet_cake_with_almond_paste", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Sheet Cake with Almond Paste", + "summary": "Yield: one full sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 1322, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one full sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_almond_paste", + "position": 1, + "ingredient_id": "almond_paste", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_confectioners_sugar", + "position": 2, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_whole", + "position": 3, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 160, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_cornstarch", + "position": 5, + "ingredient_id": "cornstarch", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_cocoa_powder", + "position": 6, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 62, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_butter", + "position": 8, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "melted", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_egg_whites", + "position": 9, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_sugar", + "position": 10, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix the almond paste and sugar until crumbly.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the whole eggs and yolks. Add ⅓ to the almond paste mixture and cream until smooth. Gradually add the rest of the eggs and cream until light, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the sifted dry ingredients and fold into the batter, followed by the melted butter.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Prepare a medium peak French meringue with the egg whites and granulated sugar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Gently fold the meringue into the batter.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 350°F (177°C) until the cake springs back to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_sheet_cake_with_hazelnut_paste", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Sheet Cake with Hazelnut Paste", + "summary": "Yield: one full sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 1125, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one full sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_hazelnut_paste", + "position": 1, + "ingredient_id": "hazelnut_paste", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_confectioners_sugar", + "position": 2, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_cocoa_powder", + "position": 3, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 52, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_whites", + "position": 5, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whites", + "position": 6, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 390, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_confectioners_sugar", + "position": 7, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 130, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_cream_of_tartar", + "position": 8, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the hazelnut paste, sugar, cocoa powder, and salt until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the first weight of egg whites in 3 additions, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Prepare a stiff peak French meringue with the second weight of egg whites, sugar, and cream of tartar.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Gently fold the meringue into the hazelnut mixture.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 375°F (191°C) until the cake springs back to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_souffle", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Soufflé", + "summary": "Yield: fifteen 5.5 oz soufflé ramekins", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 959, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: fifteen 5.5 oz soufflé ramekins\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_milk_whole", + "position": 1, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 625, + "unit_id": "gram", + "percentage": 625, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 70, + "unit_id": "gram", + "percentage": 70, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_yolk", + "position": 3, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 160, + "unit_id": "gram", + "percentage": 160, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_flour_all_purpose", + "position": 4, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": 4, + "basis_member": 0, + "optional": 0, + "notes": "¾ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Make the pastry cream with the milk, sugar, yolks, flour, and salt. This base is good for 3 days in the refrigerator.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Melt the chocolate and whisk into the weight of pastry cream base called for in the soufflé recipe until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Make a medium peak French meringue with the egg whites, sugar, and cream of tartar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Gently fold the meringue into the chocolate pastry cream base.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fill the soufflé ramekins that have been buttered and sugared.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 375°F (191°C) until risen but still soft inside.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_souffle_cakes", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Soufflé Cakes", + "summary": "Yield: eleven 4 oz molds", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 1520, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: eleven 4 oz molds\",\"The cakes can be par-baked at 350°F (177ºC) for 4½ minutes. At that point, they can be cooled, wrapped, and frozen. To finish, bring to room temperature and bake to order for about another 4½ minutes, until very soft and moist in the center without falling apart when unmolding.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_chocolate_dark", + "position": 1, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 2000, + "basis_member": 0, + "optional": 0, + "notes": "72%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_butter", + "position": 2, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 430, + "unit_id": "gram", + "percentage": 2150, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_yolk", + "position": 3, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 1000, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 70, + "unit_id": "gram", + "percentage": 350, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_flour_cake", + "position": 5, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 12.5, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_whites", + "position": 7, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 1500, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_sugar", + "position": 8, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 500, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the chocolate and butter in a bowl large enough to accommodate the entire recipe. Set aside and cool to about 110°F (43°C).", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "thermometer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a whisk attachment, whisk the egg yolks, sugar, flour, and salt until a thick ribbon is achieved.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a separate mixing bowl, make a medium peak French meringue with the egg whites and sugar.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Fold the egg yolk mixture into the ganache, followed by the meringue.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Portion into prepared molds. Bake at 350°F (177ºC) for about 9 minutes; serve immediately.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_souffle_p106", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Soufflé", + "summary": "Yield: fifteen 5.5 oz soufflé ramekins", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 1811, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: fifteen 5.5 oz soufflé ramekins\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_chocolate_dark", + "position": 1, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 800, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "61-72%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_pastry_cream_base", + "position": 2, + "ingredient_id": "pastry_cream_base", + "subrecipe_id": null, + "quantity": 290, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_whites", + "position": 3, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 115, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_cream_of_tartar", + "position": 5, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Make the pastry cream with the milk, sugar, yolks, flour, and salt. This base is good for 3 days in the refrigerator.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Melt the chocolate and whisk into the weight of pastry cream base called for in the soufflé recipe until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Make a medium peak French meringue with the egg whites, sugar, and cream of tartar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Gently fold the meringue into the chocolate pastry cream base.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fill the soufflé ramekins that have been buttered and sugared.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 375°F (191°C) until risen but still soft inside.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_sour_cream_frosting", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Sour Cream Frosting", + "summary": null, + "categories_json": "[\"frostings_glazes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frostings_glazes\",\"classic\"]", + "yield_quantity": 1920, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_chocolate_dark", + "position": 1, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 225, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "99%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_chocolate_dark", + "position": 2, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 113, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "64%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_butter", + "position": 3, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½-inch cubes", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_confectioners_sugar", + "position": 4, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 675, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sour_cream", + "position": 6, + "ingredient_id": "sour_cream", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the chocolates together over a water bath to 118°F (48°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the butter to the melted chocolates and allow them to melt together.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Sift the powdered sugar and salt and combine with the sour cream in a mixer fitted with a paddle attachment and cream on low speed.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the chocolate mixture to the sour cream mixture. Mix on low speed until homogenous, scraping down the bowl as necessary. Do not over mix.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Allow the frosting to set in the refrigerator.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chocolate_tuiles", + "schema_version": 2, + "save_version": 6, + "title": "Chocolate Tuiles", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1574, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_egg_whites", + "position": 1, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": 189.17, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_confectioners_sugar", + "position": 2, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 370, + "unit_id": "gram", + "percentage": 154.17, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 0.52, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_flour_all_purpose", + "position": 4, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_cocoa_powder", + "position": 5, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_butter", + "position": 6, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": 189.17, + "basis_member": 0, + "optional": 0, + "notes": "melted", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Combine the egg whites, sugar, and salt in a bowl of a mixer. Whisk over a flame or water bath until warm, 110°F (43°C).", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "stand_mixer", + "thermometer", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a whisk attachment, add the sifted flour and cocoa powder to the warmed egg white mixture. Whisk until smooth, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Gradually whisk in the warm butter until homogenous.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Chill before use.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Using a template, spread thinly on a silicone baking mat.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 350°F (177°C).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Shape as desired and store in airtight containers.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "choux_aux_craquelin", + "schema_version": 2, + "save_version": 6, + "title": "Choux aux Craquelin", + "summary": "Yield: two full sheet pans", + "categories_json": "[\"doughs\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"doughs\",\"classic\"]", + "yield_quantity": 1160, + "yield_unit_id": "gram", + "yield_servings": 2, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: two full sheet pans\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 360, + "unit_id": "gram", + "percentage": 90, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_brown_sugar", + "position": 3, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_flour_all_purpose", + "position": 4, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.63, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter and sugars.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the sifted dry ingredients and mix just until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Spread the craquelin dough onto a silicone baking mat or parchment paper. Place a piece of parchment paper on top of the dough and roll thin and evenly to 1", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Refrigerate the dough until firm, or freeze.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Pipe the pâte a choux into desired sized rounds. Cut the craquelin dough into circles large enough to cover the uncooked pâte a choux.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Place a craquelin dough circles on top on each pâte a choux round.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Bake at 375°F (191ºC) until golden brown and baked through.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "chow_mein_sauce", + "schema_version": 2, + "save_version": 1, + "title": "Chow Mein Sauce", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"chinese\"]", + "yield_quantity": 343.1, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"chow_mein_sauce\",\"title\":\"Chow Mein Sauce\",\"categories\":[\"sauce\"],\"tags\":[\"chinese\"],\"yield\":{\"amount\":{\"quantity\":343.1,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_oyster_sauce\",\"reference\":{\"ingredient_id\":\"oyster_sauce\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_soy_sauce_light\",\"reference\":{\"ingredient_id\":\"soy_sauce_light\"},\"amount\":{\"quantity\":52,\"unit_id\":\"gram\"},\"percentage\":52},{\"id\":\"line_03_shaoxing_wine\",\"reference\":{\"ingredient_id\":\"shaoxing_wine\"},\"amount\":{\"quantity\":52,\"unit_id\":\"gram\"},\"percentage\":52},{\"id\":\"line_04_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":52,\"unit_id\":\"gram\"},\"percentage\":52},{\"id\":\"line_05_soy_sauce_dark\",\"reference\":{\"ingredient_id\":\"soy_sauce_dark\"},\"amount\":{\"quantity\":35,\"unit_id\":\"gram\"},\"percentage\":35},{\"id\":\"line_06_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":27.6,\"unit_id\":\"gram\"},\"percentage\":27.6},{\"id\":\"line_07_sesame_oil\",\"reference\":{\"ingredient_id\":\"sesame_oil\"},\"amount\":{\"quantity\":10,\"unit_id\":\"gram\"},\"percentage\":10},{\"id\":\"line_08_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":10,\"unit_id\":\"gram\"},\"percentage\":10},{\"id\":\"line_09_msg\",\"reference\":{\"ingredient_id\":\"msg\"},\"amount\":{\"quantity\":3.5,\"unit_id\":\"gram\"},\"percentage\":3.5},{\"id\":\"line_10_white_pepper\",\"reference\":{\"ingredient_id\":\"white_pepper\"},\"amount\":{\"quantity\":1,\"unit_id\":\"gram\"},\"percentage\":1}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine all.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_oyster_sauce", + "position": 1, + "ingredient_id": "oyster_sauce", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_soy_sauce_light", + "position": 2, + "ingredient_id": "soy_sauce_light", + "subrecipe_id": null, + "quantity": 52, + "unit_id": "gram", + "percentage": 52, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_shaoxing_wine", + "position": 3, + "ingredient_id": "shaoxing_wine", + "subrecipe_id": null, + "quantity": 52, + "unit_id": "gram", + "percentage": 52, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_water", + "position": 4, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 52, + "unit_id": "gram", + "percentage": 52, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_soy_sauce_dark", + "position": 5, + "ingredient_id": "soy_sauce_dark", + "subrecipe_id": null, + "quantity": 35, + "unit_id": "gram", + "percentage": 35, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 27.6, + "unit_id": "gram", + "percentage": 27.6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sesame_oil", + "position": 7, + "ingredient_id": "sesame_oil", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 10, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 10, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_msg", + "position": 9, + "ingredient_id": "msg", + "subrecipe_id": null, + "quantity": 3.5, + "unit_id": "gram", + "percentage": 3.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_white_pepper", + "position": 10, + "ingredient_id": "white_pepper", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine all.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "churros", + "schema_version": 2, + "save_version": 6, + "title": "Churros", + "summary": null, + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breakfast\",\"classic\"]", + "yield_quantity": 1167, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 230, + "unit_id": "gram", + "percentage": 82.14, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_milk_whole", + "position": 2, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 230, + "unit_id": "gram", + "percentage": 82.14, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_butter", + "position": 3, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": 42.86, + "basis_member": 0, + "optional": 0, + "notes": "cubed", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": 8.93, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 2.5, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_flour_all_purpose", + "position": 6, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 280, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_whole", + "position": 7, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 107.14, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the water, milk, butter, sugar, and salt to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Remove the pan from the heat and stir in the sifted flour all at once.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Place the pan back on medium heat and cook the paste to dry it out, stirring continuously for 2-3 minutes. A thin film will form on the bottom and the paste will pull away from the pan.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Transfer the dough to a mixer fitted with a paddle attachment and beat to release the steam. Allow the mixture to cool enough so as to not cook the eggs when added.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Slowly add the eggs, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Transfer the dough to a piping bag fitted with a large star tip.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Add oil to a deep-sided pan. Over medium heat, bring the temperature of the oil to 360°F (182°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Carefully pipe the dough into the oil, cutting with a hot knife or metal spatula in 6-inch lengths, being careful not to crowd the pan. Fry until golden brown and cooked through to the center. Drain on paper towels, then toss the churros in plain or cinnamon sugar as desired.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "cilantro_lime_rice", + "schema_version": 2, + "save_version": 1, + "title": "Cilantro Lime Rice", + "summary": null, + "categories_json": "[\"side\"]", + "tags_json": "[\"rice\"]", + "yield_quantity": 245.5, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"cilantro_lime_rice\",\"title\":\"Cilantro Lime Rice\",\"categories\":[\"side\"],\"tags\":[\"rice\"],\"yield\":{\"amount\":{\"quantity\":245.5,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_rice\",\"reference\":{\"ingredient_id\":\"rice\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":125,\"unit_id\":\"gram\"},\"percentage\":125},{\"id\":\"line_03_oil\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":8,\"unit_id\":\"gram\"},\"percentage\":8},{\"id\":\"line_04_lemon_juice\",\"reference\":{\"ingredient_id\":\"lemon_juice\"},\"amount\":{\"quantity\":4.25,\"unit_id\":\"gram\"},\"percentage\":4.25},{\"id\":\"line_05_lime_juice\",\"reference\":{\"ingredient_id\":\"lime_juice\"},\"amount\":{\"quantity\":4.25,\"unit_id\":\"gram\"},\"percentage\":4.25},{\"id\":\"line_06_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":2.25,\"unit_id\":\"gram\"},\"percentage\":2.25},{\"id\":\"line_07_cilantro_chopped\",\"reference\":{\"ingredient_id\":\"cilantro\"},\"amount\":{\"quantity\":1.75,\"unit_id\":\"gram\"},\"percentage\":1.75,\"prep\":[{\"action_id\":\"chop\"}]}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Rinse rice cold water.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Cook rice.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Combine salt, cilantro, lemon & lime juice.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Stir until salt dissolves.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Pour seasoning liquid on rice, stir.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_rice", + "position": 1, + "ingredient_id": "rice", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": 125, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_oil", + "position": 3, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 8, + "unit_id": "gram", + "percentage": 8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_lemon_juice", + "position": 4, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 4.25, + "unit_id": "gram", + "percentage": 4.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lime_juice", + "position": 5, + "ingredient_id": "lime_juice", + "subrecipe_id": null, + "quantity": 4.25, + "unit_id": "gram", + "percentage": 4.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.25, + "unit_id": "gram", + "percentage": 2.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_cilantro_chopped", + "position": 7, + "ingredient_id": "cilantro", + "subrecipe_id": null, + "quantity": 1.75, + "unit_id": "gram", + "percentage": 1.75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [ + { + "position": 1, + "action_id": "chop", + "yield_factor": null, + "notes": null + } + ] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Rinse rice cold water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Cook rice.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Combine salt, cilantro, lemon & lime juice.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Stir until salt dissolves.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Pour seasoning liquid on rice, stir.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "cinnamon_crunch_bagel", + "schema_version": 2, + "save_version": 1, + "title": "Cinnamon Crunch Bagel", + "summary": null, + "categories_json": "[\"bread\"]", + "tags_json": "[\"bagel\"]", + "yield_quantity": 212.75, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"cinnamon_crunch_bagel\",\"title\":\"Cinnamon Crunch Bagel\",\"categories\":[\"bread\"],\"tags\":[\"bagel\"],\"yield\":{\"amount\":{\"quantity\":212.75,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_bread\",\"reference\":{\"ingredient_id\":\"flour_bread\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":65,\"unit_id\":\"gram\"},\"percentage\":65},{\"id\":\"line_03_white_chocolate\",\"reference\":{\"ingredient_id\":\"white_chocolate\"},\"amount\":{\"quantity\":39,\"unit_id\":\"gram\"},\"percentage\":39},{\"id\":\"line_04_brown_sugar\",\"reference\":{\"ingredient_id\":\"brown_sugar\"},\"amount\":{\"quantity\":4,\"unit_id\":\"gram\"},\"percentage\":4},{\"id\":\"line_05_instant_yeast\",\"reference\":{\"ingredient_id\":\"instant_yeast\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_06_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_07_cinnamon\",\"reference\":{\"ingredient_id\":\"cinnamon\"},\"amount\":{\"quantity\":0.75,\"unit_id\":\"gram\"},\"percentage\":0.75}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"TODO: Add complete preparation instructions for this recipe.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 65, + "unit_id": "gram", + "percentage": 65, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_white_chocolate", + "position": 3, + "ingredient_id": "white_chocolate", + "subrecipe_id": null, + "quantity": 39, + "unit_id": "gram", + "percentage": 39, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_brown_sugar", + "position": 4, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": 4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_instant_yeast", + "position": 5, + "ingredient_id": "instant_yeast", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_cinnamon", + "position": 7, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 0.75, + "unit_id": "gram", + "percentage": 0.75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "TODO: Add complete preparation instructions for this recipe.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "cinnamon_filling", + "schema_version": 2, + "save_version": 1, + "title": "Cinnamon Filling", + "summary": null, + "categories_json": "[\"component\"]", + "tags_json": "[\"filling\"]", + "yield_quantity": 191.3, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"cinnamon_filling\",\"title\":\"Cinnamon Filling\",\"categories\":[\"component\"],\"tags\":[\"filling\"],\"yield\":{\"amount\":{\"quantity\":191.3,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_brown_sugar\",\"reference\":{\"ingredient_id\":\"brown_sugar\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_shortening\",\"reference\":{\"ingredient_id\":\"shortening\"},\"amount\":{\"quantity\":36.4,\"unit_id\":\"gram\"},\"percentage\":36.4},{\"id\":\"line_03_corn_syrup\",\"reference\":{\"ingredient_id\":\"corn_syrup_light\"},\"amount\":{\"quantity\":27.3,\"unit_id\":\"gram\"},\"percentage\":27.3},{\"id\":\"line_04_cinnamon\",\"reference\":{\"ingredient_id\":\"cinnamon\"},\"amount\":{\"quantity\":13.6,\"unit_id\":\"gram\"},\"percentage\":13.6},{\"id\":\"line_05_cocoa_powder\",\"reference\":{\"ingredient_id\":\"cocoa_powder\"},\"amount\":{\"quantity\":3.6,\"unit_id\":\"gram\"},\"percentage\":3.6},{\"id\":\"line_06_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1.4,\"unit_id\":\"gram\"},\"percentage\":1.4},{\"id\":\"line_07_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":9,\"unit_id\":\"gram\"},\"percentage\":9}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Mix the ingredients until combined.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_brown_sugar", + "position": 1, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_shortening", + "position": 2, + "ingredient_id": "shortening", + "subrecipe_id": null, + "quantity": 36.4, + "unit_id": "gram", + "percentage": 36.4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_corn_syrup", + "position": 3, + "ingredient_id": "corn_syrup_light", + "subrecipe_id": null, + "quantity": 27.3, + "unit_id": "gram", + "percentage": 27.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_cinnamon", + "position": 4, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 13.6, + "unit_id": "gram", + "percentage": 13.6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_cocoa_powder", + "position": 5, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 3.6, + "unit_id": "gram", + "percentage": 3.6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.4, + "unit_id": "gram", + "percentage": 1.4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_water", + "position": 7, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 9, + "unit_id": "gram", + "percentage": 9, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Mix the ingredients until combined.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "cinnamon_ice_cream", + "schema_version": 2, + "save_version": 6, + "title": "Cinnamon Ice Cream", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_milk_whole", + "position": 1, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 480, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_cinnamon_infusion", + "position": 2, + "ingredient_id": "cinnamon_infusion", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 295, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_milk_powder", + "position": 4, + "ingredient_id": "milk_powder", + "subrecipe_id": null, + "quantity": 92, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_dextrose", + "position": 5, + "ingredient_id": "dextrose", + "subrecipe_id": null, + "quantity": 205, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_invert_sugar", + "position": 6, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 87, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_ice_cream_stabilizer", + "position": 8, + "ingredient_id": "ice_cream_stabilizer", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Ice Cream:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan large enough to accommodate the entire recipe, combine the milk, infusion, and cream. With an immersion blender, blend in the milk powder and dextrose to dissolve.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Heat until warm, 105°F (40°C); whisk in the sugars mixed with the stabilizer and salt.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir with a whisk and heat to 185°F (85°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Chill immediately and allow to mature for 6 to 12 hours.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Blend with an immersion blender before spinning.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Cinnamon Infusion:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "The ratio for cold infusion is 100 g (3.5 oz) of cinnamon sticks per liter of cold water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Break up the sticks and put the bits in a blender. Add the cold water and blend until well ground.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Transfer to airtight containers and store in the refrigerator for a minimum of 5 days or up to several weeks if a stronger infusion is desired. Strain through a fine-mesh strainer before use.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "cinnamon_roll", + "schema_version": 2, + "save_version": 1, + "title": "Cinnamon Roll", + "summary": null, + "categories_json": "[\"bread\"]", + "tags_json": "[\"roll\",\"sweet dough\"]", + "yield_quantity": 225.77, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"cinnamon_roll\",\"title\":\"Cinnamon Roll\",\"categories\":[\"bread\"],\"tags\":[\"roll\",\"sweet dough\"],\"yield\":{\"amount\":{\"quantity\":225.77,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_all_purpose\",\"reference\":{\"ingredient_id\":\"flour_all_purpose\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_tangzhong\",\"reference\":{\"recipe_id\":\"tangzhong\"},\"amount\":{\"quantity\":38.3,\"unit_id\":\"gram\"},\"percentage\":38.3},{\"id\":\"line_03_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":41.6,\"unit_id\":\"gram\"},\"percentage\":41.6},{\"id\":\"line_04_corn_syrup\",\"reference\":{\"ingredient_id\":\"corn_syrup_light\"},\"amount\":{\"quantity\":5,\"unit_id\":\"gram\"},\"percentage\":5},{\"id\":\"line_05_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":16,\"unit_id\":\"gram\"},\"percentage\":16},{\"id\":\"line_06_oil\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":12.8,\"unit_id\":\"gram\"},\"percentage\":12.8},{\"id\":\"line_07_shortening\",\"reference\":{\"ingredient_id\":\"shortening\"},\"amount\":{\"quantity\":6.4,\"unit_id\":\"gram\"},\"percentage\":6.4},{\"id\":\"line_08_instant_yeast\",\"reference\":{\"ingredient_id\":\"instant_yeast\"},\"amount\":{\"quantity\":2.6,\"unit_id\":\"gram\"},\"percentage\":2.6},{\"id\":\"line_09_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1.9,\"unit_id\":\"gram\"},\"percentage\":1.9},{\"id\":\"line_10_lecithin_powder\",\"reference\":{\"ingredient_id\":\"lecithin_powder\"},\"amount\":{\"quantity\":0.67,\"unit_id\":\"gram\"},\"percentage\":0.67},{\"id\":\"line_11_baking_powder\",\"reference\":{\"ingredient_id\":\"baking_powder\"},\"amount\":{\"quantity\":0.5,\"unit_id\":\"gram\"},\"percentage\":0.5}]}],\"equipment_ids\":[\"mixing_bowl\",\"stand_mixer\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Add the water, corn syrup, sugar, and tangzhong to the mixer bowl.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Mix until the tangzhong disperses.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Add the flour, lecithin powder, and baking powder.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Mix until no dry flour remains.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Rest the dough for 10-20 minutes to hydrate.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Add the salt and yeast.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Mix with the dough hook until the dough starts to become smooth and elastic.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Add the shortening.\",\"component_ids\":[\"main\"]},{\"id\":\"step_09\",\"order\":9,\"instruction\":\"Mix until the shortening is fully incorporated.\",\"component_ids\":[\"main\"]},{\"id\":\"step_10\",\"order\":10,\"instruction\":\"Stream in the oil slowly while mixing.\",\"component_ids\":[\"main\"]},{\"id\":\"step_11\",\"order\":11,\"instruction\":\"Mix until the dough is smooth, soft, and extensible.\",\"component_ids\":[\"main\"]},{\"id\":\"step_12\",\"order\":12,\"instruction\":\"Refrigerate the dough as needed to keep it below 78 F.\",\"component_ids\":[\"main\"]},{\"id\":\"step_13\",\"order\":13,\"instruction\":\"Cover the dough and bulk ferment it in the refrigerator until noticeably puffy.\",\"component_ids\":[\"main\"]},{\"id\":\"step_14\",\"order\":14,\"instruction\":\"Degas the dough gently.\",\"component_ids\":[\"main\"]},{\"id\":\"step_15\",\"order\":15,\"instruction\":\"Roll, fill, shape, and pan the dough.\",\"component_ids\":[\"main\"]},{\"id\":\"step_16\",\"order\":16,\"instruction\":\"Proof the rolls until very puffy and the dough springs back slowly when pressed.\",\"component_ids\":[\"main\"]},{\"id\":\"step_17\",\"order\":17,\"instruction\":\"Bake the rolls at 350 F for at least 22 minutes, until set and lightly browned.\",\"component_ids\":[\"main\"]},{\"id\":\"step_18\",\"order\":18,\"instruction\":\"Cool the rolls briefly before icing.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "mixing_bowl", + "stand_mixer" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_tangzhong", + "position": 2, + "ingredient_id": null, + "subrecipe_id": "tangzhong", + "quantity": 38.3, + "unit_id": "gram", + "percentage": 38.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_water", + "position": 3, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 41.6, + "unit_id": "gram", + "percentage": 41.6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_corn_syrup", + "position": 4, + "ingredient_id": "corn_syrup_light", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 16, + "unit_id": "gram", + "percentage": 16, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_oil", + "position": 6, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 12.8, + "unit_id": "gram", + "percentage": 12.8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_shortening", + "position": 7, + "ingredient_id": "shortening", + "subrecipe_id": null, + "quantity": 6.4, + "unit_id": "gram", + "percentage": 6.4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_instant_yeast", + "position": 8, + "ingredient_id": "instant_yeast", + "subrecipe_id": null, + "quantity": 2.6, + "unit_id": "gram", + "percentage": 2.6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.9, + "unit_id": "gram", + "percentage": 1.9, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_lecithin_powder", + "position": 10, + "ingredient_id": "lecithin_powder", + "subrecipe_id": null, + "quantity": 0.67, + "unit_id": "gram", + "percentage": 0.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_baking_powder", + "position": 11, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 0.5, + "unit_id": "gram", + "percentage": 0.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Add the water, corn syrup, sugar, and tangzhong to the mixer bowl.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Mix until the tangzhong disperses.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Add the flour, lecithin powder, and baking powder.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Mix until no dry flour remains.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Rest the dough for 10-20 minutes to hydrate.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Add the salt and yeast.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Mix with the dough hook until the dough starts to become smooth and elastic.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Add the shortening.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_09", + "position": 9, + "instruction": "Mix until the shortening is fully incorporated.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Stream in the oil slowly while mixing.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_11", + "position": 11, + "instruction": "Mix until the dough is smooth, soft, and extensible.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_12", + "position": 12, + "instruction": "Refrigerate the dough as needed to keep it below 78 F.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_13", + "position": 13, + "instruction": "Cover the dough and bulk ferment it in the refrigerator until noticeably puffy.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_14", + "position": 14, + "instruction": "Degas the dough gently.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_15", + "position": 15, + "instruction": "Roll, fill, shape, and pan the dough.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_16", + "position": 16, + "instruction": "Proof the rolls until very puffy and the dough springs back slowly when pressed.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_17", + "position": 17, + "instruction": "Bake the rolls at 350 F for at least 22 minutes, until set and lightly browned.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_18", + "position": 18, + "instruction": "Cool the rolls briefly before icing.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "cinnamon_sugar", + "schema_version": 2, + "save_version": 1, + "title": "Cinnamon Sugar", + "summary": null, + "categories_json": "[\"component\"]", + "tags_json": "[\"seasoning\"]", + "yield_quantity": 206, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"cinnamon_sugar\",\"title\":\"Cinnamon Sugar\",\"categories\":[\"component\"],\"tags\":[\"seasoning\"],\"yield\":{\"amount\":{\"quantity\":206,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_brown_sugar\",\"reference\":{\"ingredient_id\":\"brown_sugar\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100},{\"id\":\"line_03_cinnamon\",\"reference\":{\"ingredient_id\":\"cinnamon\"},\"amount\":{\"quantity\":6,\"unit_id\":\"gram\"},\"percentage\":6}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Mix\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sugar", + "position": 1, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_brown_sugar", + "position": 2, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_cinnamon", + "position": 3, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Mix", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "classic_caramel_sauce", + "schema_version": 2, + "save_version": 6, + "title": "Classic Caramel Sauce", + "summary": null, + "categories_json": "[\"sauces_liquids\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sauces_liquids\",\"classic\"]", + "yield_quantity": 1800, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"This recipe makes a classic caramel sauce with a subtle buttery flavor rounded out with hints of salt and vanilla. Serve at room temperature or warm.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sugar", + "position": 1, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 920, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_corn_syrup", + "position": 3, + "ingredient_id": "corn_syrup", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_heavy_cream", + "position": 4, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 475, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_butter", + "position": 5, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 3.75, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¾ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_vanilla_extract", + "position": 7, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Make an amber caramel with the sugar, water, and corn syrup.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Meanwhile, heat the cream, butter, and salt until the butter melts.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk the cream/butter mixture into the caramel in several additions until emulsified, followed by the extract.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "classic_chocolate_truffle_ganache", + "schema_version": 2, + "save_version": 6, + "title": "Classic Chocolate Truffle Ganache", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1545, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_invert_sugar", + "position": 2, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 70, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_chocolate_dark", + "position": 4, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 680, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "58-64%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_butter", + "position": 5, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_liqueur", + "position": 6, + "ingredient_id": "liqueur", + "subrecipe_id": null, + "quantity": 114, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the cream, sugar, and salt to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Pour the hot mixture over the chocolate. Allow to stand for one minute, then emulsify, from the center out, until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Stir in the softened butter and emulsify until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Gradually pour in the liqueur, stirring continuously to maintain an emulsion.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Cover the surface of the ganache with plastic wrap and allow to set up at room temperature.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Pipe the ganache into rounds that are as spherical as possible, then refrigerate until firm.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Roll the ganache into spheres by hand and chill again. At this point, the rolled spheres may be refrigerated for several days before being finished.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Allow the spheres to temper from the refrigerator before coating twice in tempered chocolate.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_9", + "position": 9, + "instruction": "After the second coating, roll the truffles in sifted cocoa powder before the chocolate sets. Once set, sift the excess cocoa powder off the finished truffles.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Use a good quality liqueur like Cognac, Armagnac, Grand Marnier or dark rum.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "classic_creme_brulee", + "schema_version": 2, + "save_version": 6, + "title": "Classic Crème Brûlée", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1250, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Crème brûlée has a shelf life up to 3 days. For a less rich custard, substitute some of the heavy cream for whole milk.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 940, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 qt", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_vanilla_bean", + "position": 3, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "split & scraped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the cream, first weight of sugar, and vanilla beans to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixing bowl, whisk together the egg yolks, second weight of sugar, and salt.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "mixing_bowl", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Temper the hot cream into the egg yolk mixture until smooth and homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Strain through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Remove excess air bubbles from the top of the crème brûlée custard by placing a piece of plastic wrap or paper towel on the surface and then removing.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 275°F (135°C) in a water bath, covered, until the custard trembles slightly when shaken.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "classic_ice_cream_sandwich_cookie", + "schema_version": 2, + "save_version": 6, + "title": "Classic Ice Cream Sandwich Cookie", + "summary": "Yield: two half sheet pans", + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1040, + "yield_unit_id": "gram", + "yield_servings": 2, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: two half sheet pans\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_chocolate_dark", + "position": 2, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 170, + "unit_id": "gram", + "percentage": 68, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 80, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 40, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_coffee_extract", + "position": 5, + "ingredient_id": "coffee_extract", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": 12, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_vanilla_extract", + "position": 6, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 4, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_flour_all_purpose", + "position": 7, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_cocoa_powder", + "position": 8, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 24, + "unit_id": "gram", + "percentage": 9.6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_baking_powder", + "position": 9, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_salt", + "position": 10, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 0.5, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the butter and chocolate over a water bath.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the sugar into the melted butter/chocolate mixture to combine, followed by the eggs and extracts until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk the sifted dry ingredients into the wet ingredients until smooth and homogenous.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Spread the batter onto two half sheet pans and bake at 350°F (177°C) until dry to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "sheet_pan", + "thermometer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Line a frozen, flat half sheet pan with plastic wrap. Spread softened ice cream onto the pan and level smooth. Freeze until firm.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Unmold the frozen ice cream onto one of the cookies, then top with the other. Wrap and freeze until firm.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Unwrap sandwich and using a serrated knife, cut into rectangles, wiping off blade between cuts.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "classic_pound_cake", + "schema_version": 2, + "save_version": 6, + "title": "Classic Pound Cake", + "summary": "Yield: two 9-inch loaf pans", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 1794, + "yield_unit_id": "gram", + "yield_servings": 2, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: two 9-inch loaf pans\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": 113.5, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_superfine_sugar", + "position": 2, + "ingredient_id": "superfine_sugar", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_vanilla_bean", + "position": 3, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": 0.25, + "basis_member": 0, + "optional": 0, + "notes": "seeds", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_heavy_cream", + "position": 5, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": 30, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_flour_cake", + "position": 6, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_baking_powder", + "position": 7, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 2.5, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 2.5, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter, sugar, and vanilla bean seeds.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the eggs and cream to blend and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Alternately fold the sifted dry and wet ingredients into the butter mixture in several additions.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Bake at 325ºF (163ºC) until a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "classic_puff_pastry", + "schema_version": 2, + "save_version": 6, + "title": "Classic Puff Pastry", + "summary": null, + "categories_json": "[\"doughs\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"doughs\",\"classic\"]", + "yield_quantity": 1345, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"The butter packet should be the same consistency as the dough packet when you begin assembly as this facilitates smooth and even lamination.\",\"Acid like vinegar helps relax gluten, making the dough more pliable.\",\"Puff pastry can be refrigerated for 3 days or frozen up to 2 months.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "dough_packet_detrempe", + "position": 1, + "name": "Dough Packet (Détrempe)", + "notes_json": "[]" + }, + { + "id": "butter_packet_beurrage", + "position": 2, + "name": "Butter Packet (Beurrage)", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "butter_packet_beurrage", + "id": "line_06_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": "cold & softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_02_salt", + "position": 2, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_03_butter", + "position": 3, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": 15, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_04_water", + "position": 4, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 260, + "unit_id": "gram", + "percentage": 52, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_05_white_vinegar", + "position": 5, + "ingredient_id": "white_vinegar", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.5, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Dough Packet:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a paddle attachment, combine the flour, salt, and butter. Mix until the butter has coated the flour and is no longer visible.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Combine the water and vinegar. Add it to the dry ingredients and mix to form a dough. Do not over mix, but be sure there are no dry spots of flour in the dough.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Pat the dough packet into a square, wrap in plastic wrap, and refrigerate for at least 1 hour.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Butter Packet:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Soften the butter to the same consistency as the rested and chilled dough packet.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Assembly:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "On a floured work surface, roll the corners of the dough packet into flaps.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Put the butter packet into the center of the dough packet and fold the flaps to completely cover the butter. Seal in the dough package.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Give the dough 2 letter turns rolling the dough ⅜-inch thick letting the dough rest in the refrigerator wrapped in plastic wrap for 30 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_11", + "position": 11, + "instruction": "Repeat 2 more letter turns letting the dough rest in the refrigerator wrapped in plastic wrap for 30 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_12", + "position": 12, + "instruction": "Perform the last 2 letter turns for a total of 6.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "classic_yellow_butter_cake", + "schema_version": 2, + "save_version": 6, + "title": "Classic Yellow Butter Cake", + "summary": "Yield: two 10-inch cake pans", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 1747, + "yield_unit_id": "gram", + "yield_servings": 2, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: two 10-inch cake pans\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_egg_yolk", + "position": 1, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 180, + "unit_id": "gram", + "percentage": 40, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_milk_whole", + "position": 2, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": 20, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_vanilla_extract", + "position": 3, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 2.22, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_almond_extract", + "position": 4, + "ingredient_id": "almond_extract", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.11, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_flour_cake", + "position": 5, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 450, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 450, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_baking_powder", + "position": 7, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": 6.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 1.56, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_butter", + "position": 9, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 255, + "unit_id": "gram", + "percentage": 56.67, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_milk_whole", + "position": 10, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 270, + "unit_id": "gram", + "percentage": 60, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Whisk the egg yolks, first weight of milk, and extracts until smooth; set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a paddle attachment, blend the sifted dry ingredients until aerated.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the softened butter and second weight of milk and mix for about 2 minutes on medium speed, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Gradually add the egg yolk mixture in several additions, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Mix the batter for 30 seconds on medium speed.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 350°F (177ºC) until a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "clear_vanilla_sauce", + "schema_version": 2, + "save_version": 6, + "title": "Clear Vanilla Sauce", + "summary": null, + "categories_json": "[\"sauces_liquids\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sauces_liquids\",\"classic\"]", + "yield_quantity": 1250, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_vanilla_bean", + "position": 3, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "split & scraped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_xanthan_gum", + "position": 4, + "ingredient_id": "xanthan_gum", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 T", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In saucepan, bring the water, sugar, and vanilla beans to a boil. Set aside to infuse until room temperature.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Strain through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Place the vanilla syrup in a blender. With the blender on low speed, sprinkle in the xanthan gum then blend on high speed for 2 minutes.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Cool the sauce down immediately over an ice bath.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Remove the bubbles in the sauce using a vacuum packaging machine.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "cobbler_dough", + "schema_version": 2, + "save_version": 6, + "title": "Cobbler Dough", + "summary": null, + "categories_json": "[\"doughs\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"doughs\",\"classic\"]", + "yield_quantity": 1045, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"The dough can be refrigerated for 3 days or frozen up to 2 months.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 265, + "unit_id": "gram", + "percentage": 50, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_flour_cake", + "position": 2, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 265, + "unit_id": "gram", + "percentage": 50, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 130, + "unit_id": "gram", + "percentage": 24.53, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_baking_powder", + "position": 4, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 1.89, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 0.94, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_butter", + "position": 6, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 170, + "unit_id": "gram", + "percentage": 32.08, + "basis_member": 0, + "optional": 0, + "notes": "½-inch cubes, cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_heavy_cream", + "position": 7, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 37.74, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix the flours, sugar, baking powder, salt, and butter until the butter is ¼-inch, or \"pea sized.\"", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the cream and mix just until a dough is formed; do not over mix.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Wrap the dough in plastic wrap and refrigerate for a minimum of 1 hour, preferably overnight.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Roll the dough to about ¼-inch thick and cut out desired sized discs with a cookie cutter.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Overlap the discs on top of your favorite prepared fruit filling to make a \"cobblestone\" look.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 350ºF (177ºC) until golden brown.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "coconut_bavarian_cream", + "schema_version": 2, + "save_version": 6, + "title": "Coconut Bavarian Cream", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 1480, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_coconut_puree", + "position": 4, + "ingredient_id": "coconut_puree", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "10% sugar", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_milk_whole", + "position": 5, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_yolk", + "position": 7, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_sugar", + "position": 8, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks; set aside in the refrigerator.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a saucepan, bring the puree, milk, and first weight of sugar to a boil. Meanwhile, whisk the egg yolks, second weight of sugar, and salt until light and thick. Temper ⅓ of the coconut mixture into the yolk mixture. Return everything back to the saucepan and cook on mediumlow heat until the mixture coats the back of a wooden spoon.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "saucepan", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Once cooked, remove from heat, add the bloomed and drained gelatin, and whisk to dissolve.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Strain through a fine-mesh strainer and cool to about 65°F (18°C), or until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the whipped cream into the cooled coconut crème anglaise.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "coconut_bonbon_ganache", + "schema_version": 2, + "save_version": 6, + "title": "Coconut Bonbon Ganache", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_chocolate_white", + "position": 1, + "ingredient_id": "chocolate_white", + "subrecipe_id": null, + "quantity": 556, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_cocoa_butter", + "position": 2, + "ingredient_id": "cocoa_butter", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_coconut_puree", + "position": 3, + "ingredient_id": "coconut_puree", + "subrecipe_id": null, + "quantity": 322, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_heavy_cream", + "position": 4, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_coconut", + "position": 5, + "ingredient_id": "coconut", + "subrecipe_id": null, + "quantity": 72, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "toasted", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the chocolate and cocoa butter in a bowl large enough to accommodate the entire recipe.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, bring the puree and cream to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Pour the hot puree mixture over the chocolate. Allow to stand for one minute, then emulsify until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir in the toasted coconut.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Cover the surface of the ganache with plastic wrap. Allow to rest at room temperature until it reaches 78°F (26°C). The cooled ganache should have a thick, yet fluid consistency to properly fill bonbon shells.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "coconut_chiboust", + "schema_version": 2, + "save_version": 6, + "title": "Coconut Chiboust", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1670, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_coconut_milk", + "position": 3, + "ingredient_id": "coconut_milk", + "subrecipe_id": null, + "quantity": 480, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_cornstarch", + "position": 5, + "ingredient_id": "cornstarch", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_water", + "position": 8, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 160, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_egg_whites", + "position": 9, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 360, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Make a pastry cream with the milk, egg yolks, cornstarch, and the first weight of sugar. Whisk the bloomed and drained gelatin into the hot pastry cream and mix until homogenous.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Place the finished pastry cream in a bowl large enough to accommodate the entire recipe. Press plastic wrap on the surface to prevent a skin from forming and set aside to cool until warm. Alternatively, in a mixer fitted with a paddle attachment, mix the hot pastry cream until warm.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "stand_mixer" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Prepare an Italian meringue with the second weight of sugar, water, and egg whites. Whip until warm, 120°F (49ºC).", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "stand_mixer", + "thermometer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Sacrifice ¼ of the warm meringue into the warm pastry cream and whisk until the smooth. Fold the rest of the meringue into the lightened pastry cream until homogenous.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Use immediately; chill or freeze until set.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "coconut_creme_mousseline", + "schema_version": 2, + "save_version": 6, + "title": "Coconut Crème Mousseline", + "summary": null, + "categories_json": "[\"frostings_glazes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frostings_glazes\",\"classic\"]", + "yield_quantity": 2850, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"See the Chef's Notes in the Basic Crème Mousseline recipe on page 179.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_pastry_cream", + "position": 1, + "ingredient_id": "pastry_cream", + "subrecipe_id": null, + "quantity": 1500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_coconut_milk", + "position": 2, + "ingredient_id": "coconut_milk", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_dark_rum", + "position": 3, + "ingredient_id": "dark_rum", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_butter_or_buttercream", + "position": 4, + "ingredient_id": "butter_or_buttercream", + "subrecipe_id": null, + "quantity": 750, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_desiccated_coconut", + "position": 5, + "ingredient_id": "desiccated_coconut", + "subrecipe_id": null, + "quantity": 390, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Prepare the pastry cream on page 218.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a paddle attachment, cream the pastry cream, milk, and rum until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the butter or buttercream and mix until smooth, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Mix in the coconut.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "coconut_frangipane", + "schema_version": 2, + "save_version": 6, + "title": "Coconut Frangipane", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1340, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_almond_cream", + "position": 1, + "ingredient_id": "almond_cream", + "subrecipe_id": null, + "quantity": 800, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_pastry_cream", + "position": 2, + "ingredient_id": "pastry_cream", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_dark_rum", + "position": 3, + "ingredient_id": "dark_rum", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_coconut", + "position": 4, + "ingredient_id": "coconut", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "shredded", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix the creams and rum until light, fluffy, and smooth, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Mix in the shredded coconut until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "公", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "coconut_haystacks", + "schema_version": 2, + "save_version": 6, + "title": "Coconut Haystacks", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 800, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 170, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_whole", + "position": 3, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_desiccated_coconut", + "position": 4, + "ingredient_id": "desiccated_coconut", + "subrecipe_id": null, + "quantity": 255, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_orange_zest", + "position": 6, + "ingredient_id": "orange_zest", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Gently melt the butter and sugar in a saucepan until the sugar is dissolved.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Remove from the heat and whisk in the eggs until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Stir in the coconut, salt, and zest.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Return to the heat and cook, stirring continuously, until the mixture pulls away from the pan.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Let cool to room temperature.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Pipe out mound shaped kisses with a star tip, or use a small ice cream scoop to scoop round balls.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Bake at 400°F (204°C) until lightly browned.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Brush with simple syrup as soon as they come out of the oven.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "coconut_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Coconut Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 2430, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 750, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_coconut_puree", + "position": 4, + "ingredient_id": "coconut_puree", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "10% sugar", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lime_juice", + "position": 5, + "ingredient_id": "lime_juice", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whites", + "position": 6, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Warm ⅓ of the puree and melt the bloomed and drained gelatin into it. Whisk that warm mixture back into the rest of the puree and add the juice. Cool to about 65°F (18°C), or until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make an Italian meringue with the sugar and egg whites; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold ½ of the puree into the meringue. Fold the other ½ into the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the two mixtures together.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "coconut_tapioca", + "schema_version": 2, + "save_version": 6, + "title": "Coconut Tapioca", + "summary": "This dessert looks like a bowl full of translucent bubbles and has the texture of a light cream soup.", + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 3500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"The tapioca has a shelf life of 3 days and benefits from a night in the refrigerator; the resting time leaves it even more supple and silky.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_tapioca_pearls", + "position": 1, + "ingredient_id": "tapioca_pearls", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "small", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_tapioca_pearls", + "position": 2, + "ingredient_id": "tapioca_pearls", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "large", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_milk_whole", + "position": 3, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 2440, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 435, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_coconut_milk", + "position": 5, + "ingredient_id": "coconut_milk", + "subrecipe_id": null, + "quantity": 618, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_heavy_cream", + "position": 6, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 464, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Soak the tapioca pearls separately in cold water for 4 hours, or overnight in the refrigerator.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Strain the hydrated pearls, keeping them separate.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a saucepan, bring the whole milk and sugar to a boil. Divide into 2 saucepans.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Simmer the pearls in separate saucepans, stirring continuously until translucent and soft. Do not allow the mixtures to boil. The small pearls will cook faster than the large ones.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Combine the cooked pearls into one container.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "In a saucepan, bring the coconut milk and cream to a boil. Pour over the cooked pearls, stirring to combine.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Chill over an ice bath, stirring periodically as it cools. The stirring helps to prevent the pearls from sticking to each other while chilling.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "coconut_tuiles", + "schema_version": 2, + "save_version": 6, + "title": "Coconut Tuiles", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_confectioners_sugar", + "position": 1, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "sifted", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_egg_whole", + "position": 2, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_desiccated_coconut", + "position": 3, + "ingredient_id": "desiccated_coconut", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_orange_zest", + "position": 4, + "ingredient_id": "orange_zest", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_butter", + "position": 5, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "melted", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the sifted sugar, eggs, coconut, and zest until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Gradually whisk in the warm butter until homogenous.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Chill before use.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Using a template, spread thinly on a silicone baking mat.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 300°F (149°C).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Shape as desired and store in airtight containers.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "coffee_cake", + "schema_version": 2, + "save_version": 6, + "title": "Coffee Cake", + "summary": "Yield: one half sheet pan", + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breakfast\",\"classic\"]", + "yield_quantity": 3080, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one half sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": 45.4, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 720, + "unit_id": "gram", + "percentage": 72, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_invert_sugar", + "position": 3, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": 8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_lemon_zest", + "position": 4, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": 0.1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_whole", + "position": 5, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 40, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_flour_all_purpose", + "position": 6, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_cinnamon", + "position": 7, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 1.5, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_baking_powder", + "position": 8, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 1.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_milk_whole", + "position": 10, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 355, + "unit_id": "gram", + "percentage": 35.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_vanilla_extract", + "position": 11, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": 3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter, sugars, and zest.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the eggs one at a time, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Alternately add the sifted dry and wet ingredients, beginning and ending with the dry.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Spread the batter onto a parchment-lined half sheet pan.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Top the batter with 1.6 kg (3 lb 8.4 oz) of streusel on page 38.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 325ºF (163ºC) until a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "coffee_ice_cream", + "schema_version": 2, + "save_version": 6, + "title": "Coffee Ice Cream", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_coffee_beans", + "position": 1, + "ingredient_id": "coffee_beans", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_milk_whole", + "position": 2, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 820, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 130, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_vanilla_bean", + "position": 4, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "split & scraped (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_milk_powder", + "position": 5, + "ingredient_id": "milk_powder", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_dextrose", + "position": 6, + "ingredient_id": "dextrose", + "subrecipe_id": null, + "quantity": 225, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_yolk", + "position": 7, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 140, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_sugar", + "position": 8, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_invert_sugar", + "position": 9, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_sugar", + "position": 10, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_ice_cream_stabilizer", + "position": 11, + "ingredient_id": "ice_cream_stabilizer", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_salt", + "position": 12, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Lightly roast the coffee beans until fragrant, then coarsely grind in a food processor.", + "critical_control_point": 0, + "equipment_ids": [ + "food_processor" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan large enough to accommodate the entire recipe, bring the milk, cream, ground coffee beans, and vanilla bean to a scald. Set aside to infuse until cool.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Strain the coffee infused milk through a fine-mesh strainer, then rescale to the original weight with additional milk and cream.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "With an immersion blender, blend the milk powder and dextrose into the coffee infused milk to dissolve.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Heat until warm, 105°F (40°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Meanwhile, whisk together the egg yolks and the first weight of granulated sugar. Add the egg yolk mixture, invert sugar, second weight of sugar mixed with with the stabilizer, and salt to the warm milk mixture.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "whisk" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Stir with a whisk and heat to 185°F (85°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Chill immediately and allow to mature for 6 to 12 hours.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Blend with an immersion blender before spinning.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "coffee_sabayon_cream", + "schema_version": 2, + "save_version": 6, + "title": "Coffee Sabayon Cream", + "summary": null, + "categories_json": "[\"sauces_liquids\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sauces_liquids\",\"classic\"]", + "yield_quantity": 1151, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 13, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_coffee", + "position": 6, + "ingredient_id": "coffee", + "subrecipe_id": null, + "quantity": 88, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_coffee_liquor", + "position": 7, + "ingredient_id": "coffee_liquor", + "subrecipe_id": null, + "quantity": 88, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_cr_me_anglaise", + "position": 8, + "ingredient_id": "cr_me_anglaise", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_coffee_extract", + "position": 9, + "ingredient_id": "coffee_extract", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 T", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water. The gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside in the refrigerator.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk the egg yolks, sugar, coffee, and liquor over a water bath until thickened and a ribbon is achieved.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Whisk the bloomed and drained gelatin into the hot sabayon to dissolve.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Whisk the sabayon over an ice bath until about 65°F (18°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the crème anglaise and extract into the sabayon, followed by the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "corn_bread", + "schema_version": 2, + "save_version": 6, + "title": "Corn Bread", + "summary": "Yield: one half sheet pan", + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breakfast\",\"classic\"]", + "yield_quantity": 2500, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one half sheet pan\",\"This is a base recipe that can be customized to one's tastes. You can reduce the sugar and take it in a more savory direction if desired. Some suggestions for additions include: herbs, spices, chili paste, sautéed onions, peppers, garlic, and grilled or sautéed corn kernels.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sugar", + "position": 1, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 450, + "unit_id": "gram", + "percentage": 67.16, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_egg_whole", + "position": 2, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 44.78, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_corn_oil", + "position": 3, + "ingredient_id": "corn_oil", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 44.78, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_flour_all_purpose", + "position": 4, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 670, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_baking_powder", + "position": 5, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 5.97, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 1.49, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_cornmeal", + "position": 7, + "ingredient_id": "cornmeal", + "subrecipe_id": null, + "quantity": 170, + "unit_id": "gram", + "percentage": 25.37, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_milk_whole", + "position": 8, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 560, + "unit_id": "gram", + "percentage": 83.58, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a whisk attachment, whisk the sugar and eggs until light and thick.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Gradually add the oil.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Alternately add the sifted dry ingredients with the milk, beginning and ending with the dry.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Bake at 325ºF (163ºC) until a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "corn_muffins", + "schema_version": 2, + "save_version": 6, + "title": "Corn Muffins", + "summary": null, + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breakfast\",\"classic\"]", + "yield_quantity": 2657, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 36.38, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 284, + "unit_id": "gram", + "percentage": 45.51, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_invert_sugar", + "position": 3, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 29, + "unit_id": "gram", + "percentage": 4.65, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_honey", + "position": 4, + "ingredient_id": "honey", + "subrecipe_id": null, + "quantity": 86, + "unit_id": "gram", + "percentage": 13.78, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sour_cream", + "position": 5, + "ingredient_id": "sour_cream", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 36.38, + "basis_member": 0, + "optional": 0, + "notes": "room temperature", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_buttermilk", + "position": 6, + "ingredient_id": "buttermilk", + "subrecipe_id": null, + "quantity": 242, + "unit_id": "gram", + "percentage": 38.78, + "basis_member": 0, + "optional": 0, + "notes": "room temperature", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_corn_oil", + "position": 7, + "ingredient_id": "corn_oil", + "subrecipe_id": null, + "quantity": 170, + "unit_id": "gram", + "percentage": 27.24, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_egg_whole", + "position": 8, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 24.04, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_egg_yolk", + "position": 9, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 170, + "unit_id": "gram", + "percentage": 27.24, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_flour_all_purpose", + "position": 10, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 624, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_cornmeal", + "position": 11, + "ingredient_id": "cornmeal", + "subrecipe_id": null, + "quantity": 398, + "unit_id": "gram", + "percentage": 63.78, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_baking_powder", + "position": 12, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 43, + "unit_id": "gram", + "percentage": 6.89, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_baking_soda", + "position": 13, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 1.12, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter, sugars, and honey.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the sour cream and mix until aerated.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Combine the buttermilk, oil, whole eggs, and yolks until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Alternately fold the sifted dry and wet ingredients, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 350ºF (177ºC) until a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "cornmeal_pate_sable", + "schema_version": 2, + "save_version": 6, + "title": "Cornmeal Pâte Sablé", + "summary": null, + "categories_json": "[\"doughs\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"doughs\",\"classic\"]", + "yield_quantity": 1115, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"This dough is good for baked fruit tarts as well as cookies.\",\"The dough can be refrigerated for 3 days or frozen up to 2 months.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 340, + "unit_id": "gram", + "percentage": 151.11, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 225, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_lemon_zest", + "position": 3, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": 0.44, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 26.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_honey", + "position": 5, + "ingredient_id": "honey", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": 13.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_vanilla_extract", + "position": 6, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 2.22, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_flour_bread", + "position": 7, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 225, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_cornmeal", + "position": 8, + "ingredient_id": "cornmeal", + "subrecipe_id": null, + "quantity": 225, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 2.22, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter, sugar, and zest.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the egg yolks one at a time, followed by the honey and extract, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the flour, cornmeal, and salt and mix just until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Wrap the dough in plastic wrap and refrigerate for a minimum of 1 hour, preferably overnight.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "cornmeal_pound_cake", + "schema_version": 2, + "save_version": 6, + "title": "Cornmeal Pound Cake", + "summary": "Yield: two 9-inch loaf pans", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 1936, + "yield_unit_id": "gram", + "yield_servings": 2, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: two 9-inch loaf pans\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 548, + "unit_id": "gram", + "percentage": 130.48, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 71.43, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_invert_sugar", + "position": 3, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 38, + "unit_id": "gram", + "percentage": 9.05, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 450, + "unit_id": "gram", + "percentage": 107.14, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_flour_cake", + "position": 5, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 420, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_cornmeal", + "position": 6, + "ingredient_id": "cornmeal", + "subrecipe_id": null, + "quantity": 105, + "unit_id": "gram", + "percentage": 25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_baking_powder", + "position": 7, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 2.38, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.19, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_milk_whole", + "position": 9, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 45, + "unit_id": "gram", + "percentage": 10.71, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_vanilla_extract", + "position": 10, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 2.38, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_rosewater_or_orange_blossom_water", + "position": 11, + "ingredient_id": "rosewater_or_orange_blossom_water", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.19, + "basis_member": 0, + "optional": 0, + "notes": "optional", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter and sugars.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the eggs one at a time; scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Alternately fold the sifted dry and wet ingredients into the butter mixture in several additions.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Bake at 325ºF (163ºC) until a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "country_cream", + "schema_version": 2, + "save_version": 6, + "title": "Country Cream", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1065, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_greek_yogurt", + "position": 1, + "ingredient_id": "greek_yogurt", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_cr_me_fra_che", + "position": 2, + "ingredient_id": "cr_me_fra_che", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_mascarpone", + "position": 3, + "ingredient_id": "mascarpone", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sour_cream", + "position": 4, + "ingredient_id": "sour_cream", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_heavy_cream", + "position": 5, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_confectioners_sugar", + "position": 6, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_vanilla_extract", + "position": 7, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_lemon_zest", + "position": 8, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a whisk attachment, whisk all of the ingredients together to medium peaks.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Refrigerate until ready for use.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "crab_rangoon", + "schema_version": 2, + "save_version": 1, + "title": "Crab Rangoon", + "summary": null, + "categories_json": "[\"side\"]", + "tags_json": "[\"seafood\",\"filling\"]", + "yield_quantity": 134.9, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"crab_rangoon\",\"title\":\"Crab Rangoon\",\"categories\":[\"side\"],\"tags\":[\"seafood\",\"filling\"],\"yield\":{\"amount\":{\"quantity\":134.9,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_cream_cheese\",\"reference\":{\"ingredient_id\":\"cream_cheese\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_imitation_crab_minced\",\"reference\":{\"ingredient_id\":\"imitation_crab\"},\"amount\":{\"quantity\":18,\"unit_id\":\"gram\"},\"percentage\":18,\"prep\":[{\"action_id\":\"mince\"}]},{\"id\":\"line_03_scallion_minced\",\"reference\":{\"ingredient_id\":\"green_onion\"},\"amount\":{\"quantity\":11,\"unit_id\":\"gram\"},\"percentage\":11,\"prep\":[{\"action_id\":\"mince\"}]},{\"id\":\"line_04_soy_sauce_light\",\"reference\":{\"ingredient_id\":\"soy_sauce_light\"},\"amount\":{\"quantity\":2.3,\"unit_id\":\"gram\"},\"percentage\":2.3},{\"id\":\"line_05_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":1.7,\"unit_id\":\"gram\"},\"percentage\":1.7},{\"id\":\"line_06_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":0.62,\"unit_id\":\"gram\"},\"percentage\":0.62},{\"id\":\"line_07_msg\",\"reference\":{\"ingredient_id\":\"msg\"},\"amount\":{\"quantity\":0.45,\"unit_id\":\"gram\"},\"percentage\":0.45},{\"id\":\"line_08_white_pepper\",\"reference\":{\"ingredient_id\":\"white_pepper\"},\"amount\":{\"quantity\":0.45,\"unit_id\":\"gram\"},\"percentage\":0.45},{\"id\":\"line_09_sesame_oil\",\"reference\":{\"ingredient_id\":\"sesame_oil\"},\"amount\":{\"quantity\":0.2,\"unit_id\":\"gram\"},\"percentage\":0.2},{\"id\":\"line_10_garlic_powder\",\"reference\":{\"ingredient_id\":\"garlic_powder\"},\"amount\":{\"quantity\":0.18,\"unit_id\":\"gram\"},\"percentage\":0.18}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Mix all into room temp cream cheese.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Refrigerate.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Form into balls.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Freeze balls.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_cream_cheese", + "position": 1, + "ingredient_id": "cream_cheese", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_imitation_crab_minced", + "position": 2, + "ingredient_id": "imitation_crab", + "subrecipe_id": null, + "quantity": 18, + "unit_id": "gram", + "percentage": 18, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [ + { + "position": 1, + "action_id": "mince", + "yield_factor": null, + "notes": null + } + ] + }, + { + "component_id": "main", + "id": "line_03_scallion_minced", + "position": 3, + "ingredient_id": "green_onion", + "subrecipe_id": null, + "quantity": 11, + "unit_id": "gram", + "percentage": 11, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [ + { + "position": 1, + "action_id": "mince", + "yield_factor": null, + "notes": null + } + ] + }, + { + "component_id": "main", + "id": "line_04_soy_sauce_light", + "position": 4, + "ingredient_id": "soy_sauce_light", + "subrecipe_id": null, + "quantity": 2.3, + "unit_id": "gram", + "percentage": 2.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 1.7, + "unit_id": "gram", + "percentage": 1.7, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.62, + "unit_id": "gram", + "percentage": 0.62, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_msg", + "position": 7, + "ingredient_id": "msg", + "subrecipe_id": null, + "quantity": 0.45, + "unit_id": "gram", + "percentage": 0.45, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_white_pepper", + "position": 8, + "ingredient_id": "white_pepper", + "subrecipe_id": null, + "quantity": 0.45, + "unit_id": "gram", + "percentage": 0.45, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_sesame_oil", + "position": 9, + "ingredient_id": "sesame_oil", + "subrecipe_id": null, + "quantity": 0.2, + "unit_id": "gram", + "percentage": 0.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_garlic_powder", + "position": 10, + "ingredient_id": "garlic_powder", + "subrecipe_id": null, + "quantity": 0.18, + "unit_id": "gram", + "percentage": 0.18, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Mix all into room temp cream cheese.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Refrigerate.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Form into balls.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Freeze balls.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "cranberry_granite", + "schema_version": 2, + "save_version": 6, + "title": "Cranberry Granité", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 1075, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_vanilla_bean", + "position": 3, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "split & scraped (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_cinnamon_stick", + "position": 4, + "ingredient_id": "cinnamon_stick", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_cranberries", + "position": 5, + "ingredient_id": "cranberries", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_gelatin_sheet", + "position": 6, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_water", + "position": 7, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_orange_zest", + "position": 8, + "ingredient_id": "orange_zest", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_orange_juice", + "position": 9, + "ingredient_id": "orange_juice", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_lemon_juice", + "position": 10, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Combine the water, sugar, vanilla, and cinnamon in a saucepan; simmer to dissolve the sugar.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the cranberries and gently cook for several minutes until they burst.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Cool over an ice bath; remove the vanilla bean and cinnamon stick.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Puree in a blender and strain through a fine-mesh strainer, discarding the solids.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water. Drain and gently melt with 2 tablespoons of the strained puree.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Whisk the melted gelatin, puree, zest, and juices together until blended.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "whisk" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Measure and adjust the °Brix between 15°-20° depending on your taste.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Pour into a shallow pan and begin to freeze, stirring every 15 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "cream_cheese_flan", + "schema_version": 2, + "save_version": 6, + "title": "Cream Cheese Flan", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1405, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_cream_cheese", + "position": 1, + "ingredient_id": "cream_cheese", + "subrecipe_id": null, + "quantity": 228, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_condensed_milk", + "position": 2, + "ingredient_id": "condensed_milk", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_whole", + "position": 3, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_evaporated_milk", + "position": 5, + "ingredient_id": "evaporated_milk", + "subrecipe_id": null, + "quantity": 340, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_milk_whole", + "position": 6, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 170, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_vanilla_extract", + "position": 7, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Coat the bottom of desired molds with caramel slackened with a touch of warm water and set aside to cool.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a paddle attachment, mix the cream cheese with the condensed milk until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Separately, whisk together the whole eggs, yolks, milks, extract, and salt.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the milk/egg mixture to the cream cheese mixture in several additions and mix until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Pour the custard over the caramelized sugar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 275°F (135ºC) in a water bath, covered, until the custard trembles slightly when shaken.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "cream_cheese_icing", + "schema_version": 2, + "save_version": 1, + "title": "Cream Cheese Icing", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"icing\"]", + "yield_quantity": 161, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"cream_cheese_icing\",\"title\":\"Cream Cheese Icing\",\"categories\":[\"sauce\"],\"tags\":[\"icing\"],\"yield\":{\"amount\":{\"quantity\":161,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_confectioners_sugar\",\"reference\":{\"ingredient_id\":\"confectioners_sugar\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_cream_cheese\",\"reference\":{\"ingredient_id\":\"cream_cheese\"},\"amount\":{\"quantity\":60,\"unit_id\":\"gram\"},\"percentage\":60},{\"id\":\"line_03_vanilla_extract\",\"reference\":{\"ingredient_id\":\"vanilla_extract\"},\"amount\":{\"quantity\":0.6,\"unit_id\":\"gram\"},\"percentage\":0.6},{\"id\":\"line_04_lemon_juice\",\"reference\":{\"ingredient_id\":\"lemon_juice\"},\"amount\":{\"quantity\":0.4,\"unit_id\":\"gram\"},\"percentage\":0.4}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Paddle cream cheese, sugar until well blended.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Add liquids, blend on medium until light, fluffy.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Blend in more liquid for softer buttercream.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_confectioners_sugar", + "position": 1, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_cream_cheese", + "position": 2, + "ingredient_id": "cream_cheese", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 60, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_vanilla_extract", + "position": 3, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": 0.6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_lemon_juice", + "position": 4, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 0.4, + "unit_id": "gram", + "percentage": 0.4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Paddle cream cheese, sugar until well blended.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Add liquids, blend on medium until light, fluffy.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Blend in more liquid for softer buttercream.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "cream_cheese_icing_2", + "schema_version": 2, + "save_version": 1, + "title": "Cream Cheese Icing 2", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"icing\",\"frosting\"]", + "yield_quantity": 347.4, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"cream_cheese_icing_2\",\"title\":\"Cream Cheese Icing 2\",\"categories\":[\"sauce\"],\"tags\":[\"icing\",\"frosting\"],\"yield\":{\"amount\":{\"quantity\":347.4,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_cream_cheese\",\"reference\":{\"ingredient_id\":\"cream_cheese\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_confectioners_sugar\",\"reference\":{\"ingredient_id\":\"confectioners_sugar\"},\"amount\":{\"quantity\":212,\"unit_id\":\"gram\"},\"percentage\":212},{\"id\":\"line_03_shortening\",\"reference\":{\"ingredient_id\":\"shortening\"},\"amount\":{\"quantity\":25,\"unit_id\":\"gram\"},\"percentage\":25},{\"id\":\"line_04_vanilla_extract\",\"reference\":{\"ingredient_id\":\"vanilla_extract\"},\"amount\":{\"quantity\":3.25,\"unit_id\":\"gram\"},\"percentage\":3.25},{\"id\":\"line_05_corn_syrup\",\"reference\":{\"ingredient_id\":\"corn_syrup_light\"},\"amount\":{\"quantity\":6.5,\"unit_id\":\"gram\"},\"percentage\":6.5},{\"id\":\"line_06_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":0.35,\"unit_id\":\"gram\"},\"percentage\":0.35},{\"id\":\"line_07_butter_extract\",\"reference\":{\"ingredient_id\":\"butter_extract\"},\"amount\":{\"quantity\":0.3,\"unit_id\":\"gram\"},\"percentage\":0.3}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Soften the cream cheese to cool room temperature, about 60°F.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Beat the shortening until smooth and slightly aerated.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Add the cream cheese.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Beat until uniform and smooth.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Add the confectioners' sugar in 2 to 3 additions.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Mix on low speed after each confectioners' sugar addition.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Beat on medium speed until smooth.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Add the salt, vanilla extract, corn syrup, and butter extract.\",\"component_ids\":[\"main\"]},{\"id\":\"step_09\",\"order\":9,\"instruction\":\"Mix until spreadable or slow-flowing.\",\"component_ids\":[\"main\"]},{\"id\":\"step_10\",\"order\":10,\"instruction\":\"Beat for 15 to 30 seconds to finish.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_cream_cheese", + "position": 1, + "ingredient_id": "cream_cheese", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_confectioners_sugar", + "position": 2, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 212, + "unit_id": "gram", + "percentage": 212, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_shortening", + "position": 3, + "ingredient_id": "shortening", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": 25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_vanilla_extract", + "position": 4, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 3.25, + "unit_id": "gram", + "percentage": 3.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_corn_syrup", + "position": 5, + "ingredient_id": "corn_syrup_light", + "subrecipe_id": null, + "quantity": 6.5, + "unit_id": "gram", + "percentage": 6.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.35, + "unit_id": "gram", + "percentage": 0.35, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_butter_extract", + "position": 7, + "ingredient_id": "butter_extract", + "subrecipe_id": null, + "quantity": 0.3, + "unit_id": "gram", + "percentage": 0.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Soften the cream cheese to cool room temperature, about 60°F.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Beat the shortening until smooth and slightly aerated.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Add the cream cheese.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Beat until uniform and smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Add the confectioners' sugar in 2 to 3 additions.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Mix on low speed after each confectioners' sugar addition.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Beat on medium speed until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Add the salt, vanilla extract, corn syrup, and butter extract.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_09", + "position": 9, + "instruction": "Mix until spreadable or slow-flowing.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Beat for 15 to 30 seconds to finish.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "cream_cheese_pound_cake", + "schema_version": 2, + "save_version": 6, + "title": "Cream Cheese Pound Cake", + "summary": "Yield: two 9-inch loaf pans", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 1867, + "yield_unit_id": "gram", + "yield_servings": 2, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: two 9-inch loaf pans\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 340, + "unit_id": "gram", + "percentage": 66.67, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 284, + "unit_id": "gram", + "percentage": 55.69, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_cream_cheese", + "position": 3, + "ingredient_id": "cream_cheese", + "subrecipe_id": null, + "quantity": 170, + "unit_id": "gram", + "percentage": 33.33, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 350, + "unit_id": "gram", + "percentage": 68.63, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_milk_whole", + "position": 5, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 170, + "unit_id": "gram", + "percentage": 33.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_vanilla_extract", + "position": 6, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 13, + "unit_id": "gram", + "percentage": 2.55, + "basis_member": 0, + "optional": 0, + "notes": "2½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_flour_cake", + "position": 7, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 510, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_baking_powder", + "position": 8, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 3.92, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 1.96, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter and sugar.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the softened cream cheese and mix until smooth and fluffy, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk the eggs, milk, and extract to blend and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Alternately fold the sifted dry and wet ingredients into the butter mixture in 3 additions.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 325ºF (163ºC) until a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "creamed_berry_muffin", + "schema_version": 2, + "save_version": 1, + "title": "Creamed Berry Muffin", + "summary": null, + "categories_json": "[\"dessert\"]", + "tags_json": "[\"muffin\"]", + "yield_quantity": 388.5, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"creamed_berry_muffin\",\"title\":\"Creamed Berry Muffin\",\"categories\":[\"dessert\"],\"tags\":[\"muffin\"],\"yield\":{\"amount\":{\"quantity\":388.5,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_cake\",\"reference\":{\"ingredient_id\":\"flour_cake\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":75,\"unit_id\":\"gram\"},\"percentage\":75},{\"id\":\"line_03_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":65,\"unit_id\":\"gram\"},\"percentage\":65},{\"id\":\"line_04_shortening\",\"reference\":{\"ingredient_id\":\"shortening\"},\"amount\":{\"quantity\":50,\"unit_id\":\"gram\"},\"percentage\":50},{\"id\":\"line_05_frozen_berries\",\"reference\":{\"recipe_id\":\"blueberry_raspberry_blend\"},\"amount\":{\"quantity\":50,\"unit_id\":\"gram\"},\"percentage\":50},{\"id\":\"line_06_egg_whole\",\"reference\":{\"ingredient_id\":\"egg_whole\"},\"amount\":{\"quantity\":30,\"unit_id\":\"gram\"},\"percentage\":30},{\"id\":\"line_07_nonfat_milk_powder\",\"reference\":{\"ingredient_id\":\"nonfat_milk_powder\"},\"amount\":{\"quantity\":7,\"unit_id\":\"gram\"},\"percentage\":7},{\"id\":\"line_08_baking_powder\",\"reference\":{\"ingredient_id\":\"baking_powder\"},\"amount\":{\"quantity\":5,\"unit_id\":\"gram\"},\"percentage\":5},{\"id\":\"line_09_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":4,\"unit_id\":\"gram\"},\"percentage\":4},{\"id\":\"line_10_vanilla_extract\",\"reference\":{\"ingredient_id\":\"vanilla_extract\"},\"amount\":{\"quantity\":2.5,\"unit_id\":\"gram\"},\"percentage\":2.5}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Cobine fat, sugar, salt, spices, milk powder.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Paddle mix until light.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Add eggs in 2 to 3 stages, cream well between stages.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Sift in dry ingredients.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Stir together liquid until combined.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Add sifted dry alternately with liquids.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"1/4 dry -- mix until just blended.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"1/3 liquid -- mix until just blended.\",\"component_ids\":[\"main\"]},{\"id\":\"step_09\",\"order\":9,\"instruction\":\"Repeat, scrape, done.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_cake", + "position": 1, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": 75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 65, + "unit_id": "gram", + "percentage": 65, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_shortening", + "position": 4, + "ingredient_id": "shortening", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_frozen_berries", + "position": 5, + "ingredient_id": null, + "subrecipe_id": "blueberry_raspberry_blend", + "quantity": 50, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whole", + "position": 6, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": 30, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_nonfat_milk_powder", + "position": 7, + "ingredient_id": "nonfat_milk_powder", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 7, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_baking_powder", + "position": 8, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": 4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_vanilla_extract", + "position": 10, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 2.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Cobine fat, sugar, salt, spices, milk powder.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Paddle mix until light.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Add eggs in 2 to 3 stages, cream well between stages.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Sift in dry ingredients.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Stir together liquid until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Add sifted dry alternately with liquids.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "1/4 dry -- mix until just blended.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "1/3 liquid -- mix until just blended.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_09", + "position": 9, + "instruction": "Repeat, scrape, done.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "creamed_chocolate_chip_muffin", + "schema_version": 2, + "save_version": 1, + "title": "Creamed Chocolate Chip Muffin", + "summary": null, + "categories_json": "[\"dessert\"]", + "tags_json": "[\"muffin\",\"chocolate\"]", + "yield_quantity": 329.5, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"creamed_chocolate_chip_muffin\",\"title\":\"Creamed Chocolate Chip Muffin\",\"categories\":[\"dessert\"],\"tags\":[\"muffin\",\"chocolate\"],\"yield\":{\"amount\":{\"quantity\":329.5,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_cake\",\"reference\":{\"ingredient_id\":\"flour_cake\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_shortening\",\"reference\":{\"ingredient_id\":\"shortening\"},\"amount\":{\"quantity\":90,\"unit_id\":\"gram\"},\"percentage\":90},{\"id\":\"line_03_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":50,\"unit_id\":\"gram\"},\"percentage\":50},{\"id\":\"line_04_egg_whole\",\"reference\":{\"ingredient_id\":\"egg_whole\"},\"amount\":{\"quantity\":30,\"unit_id\":\"gram\"},\"percentage\":30},{\"id\":\"line_05_chocolate_chip\",\"reference\":{\"ingredient_id\":\"semisweet_chocolate\"},\"amount\":{\"quantity\":30,\"unit_id\":\"gram\"},\"percentage\":30,\"notes\":\"chips\"},{\"id\":\"line_06_brown_sugar\",\"reference\":{\"ingredient_id\":\"brown_sugar\"},\"amount\":{\"quantity\":15,\"unit_id\":\"gram\"},\"percentage\":15},{\"id\":\"line_07_nonfat_milk_powder\",\"reference\":{\"ingredient_id\":\"nonfat_milk_powder\"},\"amount\":{\"quantity\":7,\"unit_id\":\"gram\"},\"percentage\":7},{\"id\":\"line_08_baking_powder\",\"reference\":{\"ingredient_id\":\"baking_powder\"},\"amount\":{\"quantity\":5,\"unit_id\":\"gram\"},\"percentage\":5},{\"id\":\"line_09_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1.25,\"unit_id\":\"gram\"},\"percentage\":1.25},{\"id\":\"line_10_vanilla_extract\",\"reference\":{\"ingredient_id\":\"vanilla_extract\"},\"amount\":{\"quantity\":1.25,\"unit_id\":\"gram\"},\"percentage\":1.25}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Cobine fat, sugar, salt, spices, milk powder.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Paddle mix until light.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Add eggs in 2 to 3 stages, cream well between stages.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Sift in dry ingredients.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Stir together liquid until combined.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Add sifted dry alternately with liquids.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"1/4 dry -- mix until just blended.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"1/3 liquid -- mix until just blended.\",\"component_ids\":[\"main\"]},{\"id\":\"step_09\",\"order\":9,\"instruction\":\"Repeat, scrape, done.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_cake", + "position": 1, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_shortening", + "position": 2, + "ingredient_id": "shortening", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": 90, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": 30, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_chocolate_chip", + "position": 5, + "ingredient_id": "semisweet_chocolate", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": 30, + "basis_member": 0, + "optional": 0, + "notes": "chips", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_brown_sugar", + "position": 6, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 15, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_nonfat_milk_powder", + "position": 7, + "ingredient_id": "nonfat_milk_powder", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 7, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_baking_powder", + "position": 8, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 1.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_vanilla_extract", + "position": 10, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 1.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Cobine fat, sugar, salt, spices, milk powder.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Paddle mix until light.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Add eggs in 2 to 3 stages, cream well between stages.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Sift in dry ingredients.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Stir together liquid until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Add sifted dry alternately with liquids.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "1/4 dry -- mix until just blended.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "1/3 liquid -- mix until just blended.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_09", + "position": 9, + "instruction": "Repeat, scrape, done.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "creme_anglaise_buttercream", + "schema_version": 2, + "save_version": 6, + "title": "Crème Anglaise Buttercream", + "summary": null, + "categories_json": "[\"frostings_glazes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frostings_glazes\",\"classic\"]", + "yield_quantity": 2035, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"One of the advantages of a crème anglaise based buttercream is that it allows flavoring via infusion.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_milk_whole", + "position": 1, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 225, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "divided", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_vanilla_bean", + "position": 3, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "split & scraped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 140, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_water", + "position": 7, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 35, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_egg_whites", + "position": 8, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_sugar", + "position": 9, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_butter", + "position": 10, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Make a very thick crème anglaise with the first 5 ingredients.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Strain through a fine-mesh strainer and chill over an ice bath.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Prepare an Italian meringue with the next 4 ingredients; whisk until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the butter into the meringue in several additions, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Add the cooled crème anglaise to the meringue buttercream.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "creme_anglaise_chocolate_buttercream", + "schema_version": 2, + "save_version": 6, + "title": "Crème Anglaise Chocolate Buttercream", + "summary": null, + "categories_json": "[\"frostings_glazes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frostings_glazes\",\"classic\"]", + "yield_quantity": 2528, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_chocolate_dark", + "position": 1, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 680, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "58-72%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_coffee", + "position": 2, + "ingredient_id": "coffee", + "subrecipe_id": null, + "quantity": 236, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_milk_whole", + "position": 3, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 160, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 304, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "divided", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_yolk", + "position": 5, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_butter", + "position": 7, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 908, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the chocolate and emulsify with the coffee, cool until tepid.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, bring the milk and ½ of the sugar to a boil. Meanwhile, whisk the egg yolks, the other ½ of the sugar, and salt until light and thick. Temper the egg mixture with the hot milk and return everything back to the pan. Cook on medium-low heat until very thick, but not scrambled.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Strain the mixture through a fine-mesh strainer into a mixer fitted with the whisk attachment and whisk until cool.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the tempered butter to the whipping crème anglaise and whisk until smooth, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Add the tepid coffee ganache to the buttercream and whisk until smooth and homogenous.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "creme_anglaise_sous_vide_method", + "schema_version": 2, + "save_version": 6, + "title": "Crème Anglaise Sous-Vide Method", + "summary": null, + "categories_json": "[\"sauces_liquids\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sauces_liquids\",\"classic\"]", + "yield_quantity": 1380, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Make sure the water bath has reached 180ºF (82°C) before adding the vacuum bags. The water temperature will drop when the bags are added. Let the temperature rise back to 180ºF (82°C) before setting the timer.\",\"Crème anglaise has a shelf-life up to 3 days.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_milk_whole", + "position": 1, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_yolk", + "position": 3, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 180, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vanilla_bean", + "position": 5, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "seeds", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Puree all of the ingredients together in a blender until smooth and chill until cold.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Seal the mixture in vacuum bags.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Cook the vacuum packed crème anglaise in a covered water bath using an immersion circulator set to 180°F (82°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Cook the bags for 15 minutes for ice cream base or 25 minutes for sauce.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Remove the bags and shake them a few times to emulsify the mixture.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Cool the crème anglaise down immediately over an ice bath.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Refrigerate until ready to use.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "creme_fraiche_panna_cotta", + "schema_version": 2, + "save_version": 6, + "title": "Crème Fraîche Panna Cotta", + "summary": "Yield: twelve 4 oz molds", + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1680, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: twelve 4 oz molds\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_milk_whole", + "position": 2, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_condensed_milk", + "position": 3, + "ingredient_id": "condensed_milk", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_cr_me_fra_che", + "position": 4, + "ingredient_id": "cr_me_fra_che", + "subrecipe_id": null, + "quantity": 255, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_heavy_cream", + "position": 5, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_vanilla_extract", + "position": 6, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in the cold milk; the gelatin will absorb the majority of the milk.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Mix the condensed milk with the crème fraîche until smooth. Add the cream, extract, and salt.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Warm the milk until the gelatin is dissolved.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir the warm milk mixture into the crème fraîche mixture and mix until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Strain through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Stir over an ice bath until slightly thickened and pour into desired molds.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "crepe_batter", + "schema_version": 2, + "save_version": 6, + "title": "Crepe Batter", + "summary": null, + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breakfast\",\"classic\"]", + "yield_quantity": 1045, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_milk_whole", + "position": 1, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 280, + "unit_id": "gram", + "percentage": 112, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_vanilla_bean", + "position": 3, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": 0.4, + "basis_member": 0, + "optional": 0, + "notes": "seeds", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_flour_all_purpose", + "position": 5, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 140, + "unit_id": "gram", + "percentage": 56, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Procedure — By Hand:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the milk, cream, vanilla bean seeds, and eggs until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Sift the dry ingredients in a bowl large enough to accommodate the whole recipe.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Whisk ½ of the liquid mixture into the dry ingredients until smooth. Whisk in the rest of the liquid until the batter is smooth again.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Strain the mixture through a fine-mesh strainer and let rest in the refrigerator for 30 minutes before using.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Procedure — By Food Processor:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Whisk the milk, cream, vanilla bean seed, and eggs until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Put the sifted dry ingredients in the food processor. With the machine on, pour the liquid ingredients through the hole and process until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "food_processor" + ] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Strain the mixture through a fine-mesh strainer and let rest in the refrigerator for 30 minutes before using.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "crepe_suzette_caramel_sauce", + "schema_version": 2, + "save_version": 6, + "title": "Crêpe Suzette Caramel Sauce", + "summary": null, + "categories_json": "[\"sauces_liquids\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sauces_liquids\",\"classic\"]", + "yield_quantity": 2166, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"This sauce is meant to be reduced with the crepes à la minute until nappe.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sugar", + "position": 1, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_orange_juice", + "position": 2, + "ingredient_id": "orange_juice", + "subrecipe_id": null, + "quantity": 908, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_orange_liqueur", + "position": 3, + "ingredient_id": "orange_liqueur", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_butter", + "position": 4, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 908, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cubed", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Make a medium-amber caramel with the sugar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Deglaze the caramel with the juice, followed by the liqueur.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Emulsify the butter into the caramel sauce with an immersion blender until homogenous.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "crisp_dacquoise", + "schema_version": 2, + "save_version": 6, + "title": "Crisp Dacquoise", + "summary": "Yield: three 9-inch discs", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 652, + "yield_unit_id": "gram", + "yield_servings": 3, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: three 9-inch discs\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_nut_flour", + "position": 1, + "ingredient_id": "nut_flour", + "subrecipe_id": null, + "quantity": 170, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_confectioners_sugar", + "position": 2, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 213, + "unit_id": "gram", + "percentage": 125.29, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 1.47, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whites", + "position": 4, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 180, + "unit_id": "gram", + "percentage": 105.88, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 85, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_cream_of_tartar", + "position": 6, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 1.18, + "basis_member": 0, + "optional": 0, + "notes": "¾ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Sift the dry ingredients and set aside.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Make a stiff peak French meringue with the egg whites, sugar, and cream of tartar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Gently fold the sifted dry ingredients into the meringue.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Pipe immediately.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 200ºF (93ºC) until dry and crisp with little to no color.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "crisp_flatbread", + "schema_version": 2, + "save_version": 6, + "title": "Crisp Flatbread", + "summary": "Yield: seven full sheet pans", + "categories_json": "[\"breads\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breads\",\"classic\"]", + "yield_quantity": 1655, + "yield_unit_id": "gram", + "yield_servings": 7, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: seven full sheet pans\",\"Can be stored in airtight containers for up to 2 days .\",\"Suggested toppings include a blend of grated parmesan cheese, sesame, poppy, and caraway seeds.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 946, + "unit_id": "gram", + "percentage": 150.64, + "basis_member": 0, + "optional": 0, + "notes": "110°F/43°C", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_flour_all_purpose", + "position": 2, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 28, + "unit_id": "gram", + "percentage": 4.46, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 22, + "unit_id": "gram", + "percentage": 3.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_yeast_fresh", + "position": 4, + "ingredient_id": "yeast_fresh", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 2.39, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_flour_all_purpose", + "position": 5, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": 95.54, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 22, + "unit_id": "gram", + "percentage": 3.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_canola_oil", + "position": 7, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 22, + "unit_id": "gram", + "percentage": 3.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Whisk the first four ingredients together in a 5-quart mixing bowl. Cover with plastic wrap and allow to rise at room temperature until 3-4 times original volume (about 20 minutes).", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a whisk attachment, mix in the second weight of flour and salt until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "With the mixer running, gradually stream in the oil and continue to mix until the batter is smooth, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "stand_mixer" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Pour into a tall, 6-8 quart plastic container. Cover and refrigerate overnight, or up to 18 hours.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Emulsify the batter with an immersion blender or in a mixer fitted with a whisk attachment.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "With an off-set spatula, evenly spread one 8-oz ladle of batter on a full sheet pan lined with a silicone baking mat.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Sprinkle the top of the batter with desired toppings.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Bake at 300°F (149°C) until evenly browned (about 18-20 minutes).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "crispy_hazelnut_semifreddo", + "schema_version": 2, + "save_version": 6, + "title": "Crispy Hazelnut Semifreddo", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 6186.25, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"The croquant can be stored in airtight containers for up to 2 weeks.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "parfait", + "position": 1, + "name": "Parfait", + "notes_json": "[]" + }, + { + "id": "croquant", + "position": 2, + "name": "Croquant", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "croquant", + "id": "line_09_sliced_almonds", + "position": 1, + "ingredient_id": "sliced_almonds", + "subrecipe_id": null, + "quantity": 340, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "croquant", + "id": "line_10_hazelnut", + "position": 2, + "ingredient_id": "hazelnut", + "subrecipe_id": null, + "quantity": 570, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "croquant", + "id": "line_11_butter", + "position": 3, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 114, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "melted", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "croquant", + "id": "line_12_simple_syrup", + "position": 4, + "ingredient_id": "simple_syrup", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "croquant", + "id": "line_13_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "croquant", + "id": "line_14_total_croquant_weight", + "position": 6, + "ingredient_id": "total_croquant_weight", + "subrecipe_id": null, + "quantity": 1100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "parfait", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 940, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 qt", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "parfait", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 67, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "parfait", + "id": "line_03_egg_yolk", + "position": 3, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "parfait", + "id": "line_04_praline_paste", + "position": 4, + "ingredient_id": "praline_paste", + "subrecipe_id": null, + "quantity": 267, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "parfait", + "id": "line_05_egg_whites", + "position": 5, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "parfait", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 167, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "parfait", + "id": "line_07_croquant", + "position": 7, + "ingredient_id": "croquant", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "parfait", + "id": "line_08_total_parfait_weight", + "position": 8, + "ingredient_id": "total_parfait_weight", + "subrecipe_id": null, + "quantity": 1930, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Parfait:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks; set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Make a pâte a bombe with the first weight of sugar and egg yolks. Whip until cool, then add the paste and whip until smooth, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "mixing_bowl", + "stand_mixer" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make an Italian meringue with the egg whites and second weight of sugar; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold the meringue and ½ of the croquant into the pâte a bombe.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the whipped cream and the remaining croquant into that.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Mold as desired and freeze immediately.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Croquant:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Toss the sliced almonds and chopped hazelnuts with the melted butter, simple syrup and salt to coat.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Spread the nuts out evenly onto a parchment-lined sheet pan or a silicone baking mat.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_11", + "position": 11, + "instruction": "Roast the nuts at 325°F (163°C), tossing several times during the roasting process.", + "critical_control_point": 0, + "equipment_ids": [ + "food_processor", + "oven", + "thermometer" + ] + }, + { + "id": "step_12", + "position": 12, + "instruction": "Allow to cool, then break up into pieces.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "croissant_dough", + "schema_version": 2, + "save_version": 6, + "title": "Croissant Dough", + "summary": "Yield: approximately twenty-two croissants", + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breakfast\",\"classic\"]", + "yield_quantity": 3674, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: approximately twenty-two croissants\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "dough_packet_detrempe", + "position": 1, + "name": "Dough Packet (Détrempe)", + "notes_json": "[]" + }, + { + "id": "butter_packet_beurrage", + "position": 2, + "name": "Butter Packet (Beurrage)", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "butter_packet_beurrage", + "id": "line_10_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": 60.53, + "basis_member": 0, + "optional": 0, + "notes": "cold & softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "butter_packet_beurrage", + "id": "line_11_total_paton_weight", + "position": 2, + "ingredient_id": "total_paton_weight", + "subrecipe_id": null, + "quantity": 1837, + "unit_id": "gram", + "percentage": 244.93, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": 66.67, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_02_flour_cake", + "position": 2, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 33.33, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_03_butter", + "position": 3, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 38, + "unit_id": "gram", + "percentage": 5.07, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": 10, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 17, + "unit_id": "gram", + "percentage": 2.27, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_06_yeast_fresh", + "position": 6, + "ingredient_id": "yeast_fresh", + "subrecipe_id": null, + "quantity": 38, + "unit_id": "gram", + "percentage": 5.07, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_07_milk_powder", + "position": 7, + "ingredient_id": "milk_powder", + "subrecipe_id": null, + "quantity": 38, + "unit_id": "gram", + "percentage": 5.07, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_08_water", + "position": 8, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 30.27, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_09_milk_whole", + "position": 9, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 26.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix the dough packet ingredients until combined. Switch to a hook attachment and mix on medium speed for about 2-3 minutes, or until a smooth, slightly sticky dough comes together.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Shape the dough and place in an oiled bowl, cover with plastic wrap, and let it bulk proof for 60-90 minutes at room temperature.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Roll the dough into a rectangle about ⅜-inch thick, wrap in plastic wrap and freeze for about 30 minutes, or until firm but not frozen. Alternatively, you can refrigerate the dough for 8 hours or overnight.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Soften the butter packet until it is pliable, but still cold. Shape the butter into a square ½ the size of the rectangle of dough packet. The butter packet should be of similar consistency as the dough packet when assembling them together.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Place the butter inside the dough and fold over to make a package.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Give the paton 2 double turns, resting the dough for 30 minutes in between each turn.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Roll the croissant dough to ¼-inch thick.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "With a sharp knife or croissant cutter, cut 8-inch long x 4-inch wide triangles out of the dough.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Shape, egg wash, proof, and egg wash a second time.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Bake at 375°F (191°C) for the first ½ of the baking, then lower the oven to 350°F (177°C) and continue baking until deep golden brown.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "cuban_mustard_mayo", + "schema_version": 2, + "save_version": 1, + "title": "Cuban Mustard Mayo", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"spread\"]", + "yield_quantity": 133, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"cuban_mustard_mayo\",\"title\":\"Cuban Mustard Mayo\",\"categories\":[\"sauce\"],\"tags\":[\"spread\"],\"yield\":{\"amount\":{\"quantity\":133,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_mayonnaise\",\"reference\":{\"ingredient_id\":\"mayonnaise\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_mustard\",\"reference\":{\"ingredient_id\":\"mustard_yellow\"},\"amount\":{\"quantity\":33,\"unit_id\":\"gram\"},\"percentage\":33}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Mix.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_mayonnaise", + "position": 1, + "ingredient_id": "mayonnaise", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_mustard", + "position": 2, + "ingredient_id": "mustard_yellow", + "subrecipe_id": null, + "quantity": 33, + "unit_id": "gram", + "percentage": 33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Mix.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "danish_pastry_dough", + "schema_version": 2, + "save_version": 6, + "title": "Danish Pastry Dough", + "summary": "Yield: twenty-four pastries", + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breakfast\",\"classic\"]", + "yield_quantity": 2810.25, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: twenty-four pastries\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "dough_packet_detrempe", + "position": 1, + "name": "Dough Packet (Détrempe)", + "notes_json": "[]" + }, + { + "id": "butter_packet_beurrage", + "position": 2, + "name": "Butter Packet (Beurrage)", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "butter_packet_beurrage", + "id": "line_11_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 340, + "unit_id": "gram", + "percentage": 59.96, + "basis_member": 0, + "optional": 0, + "notes": "cold & softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "butter_packet_beurrage", + "id": "line_12_total_paton_weight", + "position": 2, + "ingredient_id": "total_paton_weight", + "subrecipe_id": null, + "quantity": 1400, + "unit_id": "gram", + "percentage": 246.91, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_01_yeast_fresh", + "position": 1, + "ingredient_id": "yeast_fresh", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": 5.29, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_02_milk_powder", + "position": 2, + "ingredient_id": "milk_powder", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": 5.29, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_03_water", + "position": 3, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 237, + "unit_id": "gram", + "percentage": 41.8, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_04_flour_bread", + "position": 4, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 340, + "unit_id": "gram", + "percentage": 59.96, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_05_flour_cake", + "position": 5, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 40.04, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 8.82, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 0.88, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_08_cardamom", + "position": 8, + "ingredient_id": "cardamom", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 0.22, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_09_butter", + "position": 9, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 8.82, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_10_egg_whole", + "position": 10, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 17.64, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Dissolve the yeast and milk powder into the cold water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a hook attachment, mix the dough packet (détrempe) ingredients to combine; do not over develop the gluten at this point. The dough should be slightly shaggy, with no dry spots.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Pat the dough into a square, wrap in plastic wrap, and refrigerate for at least 30 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Soften the butter packet (beurrage) to a similar consistency as the chilled détrempe.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Roll the dough into a rectangle approximately ½-inch thick.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Place the softened butter packet on one half of the dough and fold over to make a paton; be sure to seal the edges well.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Give the dough 3 single turns, rolling the dough to ¼-inch thick. Let rest for 20-30 minutes in between each turn.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "G", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "dark_chocolate_praline_feuilletine", + "schema_version": 2, + "save_version": 6, + "title": "Dark Chocolate Praline Feuilletine", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 772, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_cocoa_butter", + "position": 1, + "ingredient_id": "cocoa_butter", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_chocolate_dark", + "position": 2, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 137, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "58-66%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_praline_paste", + "position": 3, + "ingredient_id": "praline_paste", + "subrecipe_id": null, + "quantity": 375, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_feuilletine", + "position": 5, + "ingredient_id": "feuilletine", + "subrecipe_id": null, + "quantity": 210, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the cocoa butter over a water bath, add the chocolate and melt together, stirring until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a paddle attachment, cream the chocolate mixture with the praline paste and salt until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Stir in the feuilletine until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "dark_espresso_brownie", + "schema_version": 2, + "save_version": 1, + "title": "Dark Espresso Brownie", + "summary": null, + "categories_json": "[\"dessert\"]", + "tags_json": "[\"brownie\",\"chocolate\"]", + "yield_quantity": 1256.8, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"dark_espresso_brownie\",\"title\":\"Dark Espresso Brownie\",\"categories\":[\"dessert\"],\"tags\":[\"brownie\",\"chocolate\"],\"yield\":{\"amount\":{\"quantity\":1256.8,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_all_purpose\",\"reference\":{\"ingredient_id\":\"flour_all_purpose\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":360,\"unit_id\":\"gram\"},\"percentage\":360},{\"id\":\"line_03_fat\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":272,\"unit_id\":\"gram\"},\"percentage\":272},{\"id\":\"line_04_egg_whole\",\"reference\":{\"ingredient_id\":\"egg_whole\"},\"amount\":{\"quantity\":236,\"unit_id\":\"gram\"},\"percentage\":236},{\"id\":\"line_05_dark_chocolate\",\"reference\":{\"ingredient_id\":\"dark_chocolate\"},\"amount\":{\"quantity\":136,\"unit_id\":\"gram\"},\"percentage\":136},{\"id\":\"line_06_dark_cocoa_powder\",\"reference\":{\"ingredient_id\":\"dark_cocoa_powder\"},\"amount\":{\"quantity\":92,\"unit_id\":\"gram\"},\"percentage\":92},{\"id\":\"line_07_brown_sugar\",\"reference\":{\"ingredient_id\":\"brown_sugar\"},\"amount\":{\"quantity\":44,\"unit_id\":\"gram\"},\"percentage\":44},{\"id\":\"line_08_vanilla_extract\",\"reference\":{\"ingredient_id\":\"vanilla_extract\"},\"amount\":{\"quantity\":12,\"unit_id\":\"gram\"},\"percentage\":12},{\"id\":\"line_09_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":3.2,\"unit_id\":\"gram\"},\"percentage\":3.2},{\"id\":\"line_10_espresso_powder\",\"reference\":{\"ingredient_id\":\"espresso_powder\"},\"amount\":{\"quantity\":1.6,\"unit_id\":\"gram\"},\"percentage\":1.6}]}],\"equipment_ids\":[\"whisk\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine sugar, brown sugar, salt, egg, vanilla, espresso powder.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Sift together flour, cocoa powder.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Melt fat and chocolate.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Whisk egg mix on high until thick, ≈8 min.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Add chocolate,oil - mix low.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Add flour, cocoa - mix low.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Final mix by hand, folding with spatula.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Grease 13 in × 9 in × 2 in cake pan, line with parchment.\",\"component_ids\":[\"main\"]},{\"id\":\"step_09\",\"order\":9,\"instruction\":\"Pour in batter, level.\",\"component_ids\":[\"main\"]},{\"id\":\"step_10\",\"order\":10,\"instruction\":\"Bake 30 min at 350 °F.\",\"component_ids\":[\"main\"]},{\"id\":\"step_11\",\"order\":11,\"instruction\":\"Cool.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "whisk" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 360, + "unit_id": "gram", + "percentage": 360, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_fat", + "position": 3, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 272, + "unit_id": "gram", + "percentage": 272, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 236, + "unit_id": "gram", + "percentage": 236, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_dark_chocolate", + "position": 5, + "ingredient_id": "dark_chocolate", + "subrecipe_id": null, + "quantity": 136, + "unit_id": "gram", + "percentage": 136, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_dark_cocoa_powder", + "position": 6, + "ingredient_id": "dark_cocoa_powder", + "subrecipe_id": null, + "quantity": 92, + "unit_id": "gram", + "percentage": 92, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_brown_sugar", + "position": 7, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 44, + "unit_id": "gram", + "percentage": 44, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_vanilla_extract", + "position": 8, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 12, + "unit_id": "gram", + "percentage": 12, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 3.2, + "unit_id": "gram", + "percentage": 3.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_espresso_powder", + "position": 10, + "ingredient_id": "espresso_powder", + "subrecipe_id": null, + "quantity": 1.6, + "unit_id": "gram", + "percentage": 1.6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine sugar, brown sugar, salt, egg, vanilla, espresso powder.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Sift together flour, cocoa powder.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Melt fat and chocolate.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Whisk egg mix on high until thick, ≈8 min.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Add chocolate,oil - mix low.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Add flour, cocoa - mix low.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Final mix by hand, folding with spatula.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Grease 13 in × 9 in × 2 in cake pan, line with parchment.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_09", + "position": 9, + "instruction": "Pour in batter, level.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Bake 30 min at 350 °F.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_11", + "position": 11, + "instruction": "Cool.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "dessert_wine_sabayon", + "schema_version": 2, + "save_version": 6, + "title": "Dessert Wine Sabayon", + "summary": null, + "categories_json": "[\"sauces_liquids\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sauces_liquids\",\"classic\"]", + "yield_quantity": 1035, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Any kind of dessert wine can be used for this recipe. Wines like Riesling, Sauternes, or Muscat work especially well because they have a concentrated flavor.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 345, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_egg_yolk", + "position": 2, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_dessert_wine", + "position": 4, + "ingredient_id": "dessert_wine", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Whip the cream to soft peaks and set aside in the refrigerator.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the egg yolks, sugar, and wine over a water bath until thickened and a ribbon is achieved.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk the sabayon over an ice bath until cold.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Fold the whipped cream into the sabayon.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "devil_s_food_cake", + "schema_version": 2, + "save_version": 6, + "title": "Devil's Food Cake", + "summary": "Yield: one half sheet pan or one 10-inch cake pan", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 1630, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one half sheet pan or one 10-inch cake pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_cake", + "position": 1, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 285, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_cocoa_powder", + "position": 2, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": 31.58, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_baking_soda", + "position": 3, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.88, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_baking_powder", + "position": 4, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.88, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.75, + "basis_member": 0, + "optional": 0, + "notes": "1 tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_butter", + "position": 6, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 210, + "unit_id": "gram", + "percentage": 73.68, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 450, + "unit_id": "gram", + "percentage": 157.89, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_egg_whole", + "position": 8, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 70.18, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_egg_yolk", + "position": 9, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 7.02, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_buttermilk", + "position": 10, + "ingredient_id": "buttermilk", + "subrecipe_id": null, + "quantity": 180, + "unit_id": "gram", + "percentage": 63.16, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_coffee", + "position": 11, + "ingredient_id": "coffee", + "subrecipe_id": null, + "quantity": 180, + "unit_id": "gram", + "percentage": 63.16, + "basis_member": 0, + "optional": 0, + "notes": "cooled", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_vanilla_extract", + "position": 12, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.88, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Sift the dry ingredients together; set aside.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter and sugar until light and fluffy.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Gradually add the eggs, scraping down the sides of the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Alternately add the dry and wet ingredients.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 350°F (177ºC) until the cake springs back to the touch and a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "dinner_rolls", + "schema_version": 2, + "save_version": 1, + "title": "Dinner Rolls", + "summary": null, + "categories_json": "[\"bread\"]", + "tags_json": "[\"roll\"]", + "yield_quantity": 197.25, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"dinner_rolls\",\"title\":\"Dinner Rolls\",\"categories\":[\"bread\"],\"tags\":[\"roll\"],\"yield\":{\"amount\":{\"quantity\":197.25,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_bread\",\"reference\":{\"ingredient_id\":\"flour_bread\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":55,\"unit_id\":\"gram\"},\"percentage\":55},{\"id\":\"line_03_shortening\",\"reference\":{\"ingredient_id\":\"shortening\"},\"amount\":{\"quantity\":15,\"unit_id\":\"gram\"},\"percentage\":15},{\"id\":\"line_04_egg_whole\",\"reference\":{\"ingredient_id\":\"egg_whole\"},\"amount\":{\"quantity\":12,\"unit_id\":\"gram\"},\"percentage\":12},{\"id\":\"line_05_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":6,\"unit_id\":\"gram\"},\"percentage\":6},{\"id\":\"line_06_nonfat_milk_powder\",\"reference\":{\"ingredient_id\":\"nonfat_milk_powder\"},\"amount\":{\"quantity\":5.25,\"unit_id\":\"gram\"},\"percentage\":5.25},{\"id\":\"line_07_instant_yeast\",\"reference\":{\"ingredient_id\":\"instant_yeast\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_08_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2}]}],\"equipment_ids\":[\"whisk\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine, whisk dry ingredients.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Combine, whisk wet except shortening.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Mix 5 min until well combined.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Add shortening.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Mix to ≈25 min.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Shape into balls.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Arrange on greased, optionally parchment-lined 13 × 9 pan.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Proof ≈2 hr at 80 °F, covered.\",\"component_ids\":[\"main\"]},{\"id\":\"step_09\",\"order\":9,\"instruction\":\"Egg wash.\",\"component_ids\":[\"main\"]},{\"id\":\"step_10\",\"order\":10,\"instruction\":\"Bake ≈22 min at 350 °F.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "whisk" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 55, + "unit_id": "gram", + "percentage": 55, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_shortening", + "position": 3, + "ingredient_id": "shortening", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 15, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 12, + "unit_id": "gram", + "percentage": 12, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_nonfat_milk_powder", + "position": 6, + "ingredient_id": "nonfat_milk_powder", + "subrecipe_id": null, + "quantity": 5.25, + "unit_id": "gram", + "percentage": 5.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_instant_yeast", + "position": 7, + "ingredient_id": "instant_yeast", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine, whisk dry ingredients.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Combine, whisk wet except shortening.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Mix 5 min until well combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Add shortening.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Mix to ≈25 min.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Shape into balls.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Arrange on greased, optionally parchment-lined 13 × 9 pan.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Proof ≈2 hr at 80 °F, covered.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_09", + "position": 9, + "instruction": "Egg wash.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Bake ≈22 min at 350 °F.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "dog_biscuits", + "schema_version": 2, + "save_version": 6, + "title": "Dog Biscuits", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1440, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Flax seed oil and wheat germ should be refrigerated to prevent rancidity.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_egg_whole", + "position": 1, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 22.06, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_flax_seed_oil", + "position": 2, + "ingredient_id": "flax_seed_oil", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 29.41, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_beef_or_chicken_stock", + "position": 3, + "ingredient_id": "beef_or_chicken_stock", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": 35.29, + "basis_member": 0, + "optional": 0, + "notes": "low-sodium", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_milk_powder", + "position": 4, + "ingredient_id": "milk_powder", + "subrecipe_id": null, + "quantity": 85, + "unit_id": "gram", + "percentage": 12.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_flour_whole_wheat", + "position": 5, + "ingredient_id": "flour_whole_wheat", + "subrecipe_id": null, + "quantity": 340, + "unit_id": "gram", + "percentage": 50, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_flour_bread", + "position": 6, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 340, + "unit_id": "gram", + "percentage": 50, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_wheat_germ", + "position": 7, + "ingredient_id": "wheat_germ", + "subrecipe_id": null, + "quantity": 55, + "unit_id": "gram", + "percentage": 8.09, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_brown_sugar", + "position": 8, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": 4.41, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Mix the eggs with the flax seed oil.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Dissolve the milk powder into the stock.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a mixer fitted with a paddle attachment, mix the wet ingredients into the sifted dry until well combined.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Wrap the dough in plastic wrap and refrigerate for a minimum of 1 hour.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Roll to ½-inch thick, cut with a dog bone cookie cutter, and brush with egg wash before baking.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 300°F (149°C) until golden brown and completely dry throughout.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Store in an airtight container for up to 2 weeks.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "dominos_cheddar_cheese_blend", + "schema_version": 2, + "save_version": 1, + "title": "Domino's-Style Cheddar Cheese Blend", + "summary": "A home-scale approximation of Domino's proprietary cheddar and pizza-cheese blend.", + "categories_json": "[\"component\"]", + "tags_json": "[\"cheese\",\"copycat\",\"dominos\"]", + "yield_quantity": 100, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Domino's identifies cheddar before pizza cheese in its ingredient declaration but does not publish their ratio; 60/40 is an explicit working estimate.\",\"Commercial anti-caking starches, cellulose, preservatives, and the modified ingredients in Domino's Pizza Cheese are omitted from this fresh home-scale blend.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"dominos_cheddar_cheese_blend\",\"title\":\"Domino's-Style Cheddar Cheese Blend\",\"summary\":\"A home-scale approximation of Domino's proprietary cheddar and pizza-cheese blend.\",\"categories\":[\"component\"],\"tags\":[\"cheese\",\"copycat\",\"dominos\"],\"yield\":{\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Cheese blend\",\"items\":[{\"id\":\"cheddar\",\"reference\":{\"ingredient_id\":\"cheddar_cheese\"},\"amount\":{\"quantity\":60,\"unit_id\":\"gram\"},\"percentage\":60,\"basis_member\":true},{\"id\":\"pizza_cheese\",\"reference\":{\"ingredient_id\":\"mozzarella_cheese\"},\"amount\":{\"quantity\":40,\"unit_id\":\"gram\"},\"percentage\":40,\"basis_member\":true}]}],\"steps\":[{\"id\":\"combine\",\"order\":1,\"instruction\":\"Shred both cheeses to the same size and toss until evenly distributed.\",\"component_ids\":[\"main\"],\"item_ids\":[\"cheddar\",\"pizza_cheese\"]}],\"notes\":[\"Domino's identifies cheddar before pizza cheese in its ingredient declaration but does not publish their ratio; 60/40 is an explicit working estimate.\",\"Commercial anti-caking starches, cellulose, preservatives, and the modified ingredients in Domino's Pizza Cheese are omitted from this fresh home-scale blend.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Cheese blend", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "cheddar", + "position": 1, + "ingredient_id": "cheddar_cheese", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 60, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "pizza_cheese", + "position": 2, + "ingredient_id": "mozzarella_cheese", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 40, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "combine", + "position": 1, + "instruction": "Shred both cheeses to the same size and toss until evenly distributed.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "dominos_garlic_oil_blend", + "schema_version": 2, + "save_version": 1, + "title": "Domino's Garlic Oil Blend", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"copycat\",\"dominos\",\"pizza\"]", + "yield_quantity": 124.45, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"dominos_garlic_oil_blend\",\"title\":\"Domino's Garlic Oil Blend\",\"categories\":[\"sauce\"],\"tags\":[\"copycat\",\"dominos\",\"pizza\"],\"yield\":{\"amount\":{\"quantity\":124.45,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_butter_flavored_shortening\",\"reference\":{\"ingredient_id\":\"butter_flavored_shortening\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_canola_oil\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":8,\"unit_id\":\"gram\"},\"percentage\":8},{\"id\":\"line_03_parmesan_cheese\",\"reference\":{\"ingredient_id\":\"parmesan_cheese\"},\"amount\":{\"quantity\":5.6,\"unit_id\":\"gram\"},\"percentage\":5.6},{\"id\":\"line_04_garlic_dehydrated\",\"reference\":{\"ingredient_id\":\"garlic_dehydrated_minced\"},\"amount\":{\"quantity\":5.6,\"unit_id\":\"gram\"},\"percentage\":5.6},{\"id\":\"line_05_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":4.65,\"unit_id\":\"gram\"},\"percentage\":4.65},{\"id\":\"line_06_parsley\",\"reference\":{\"ingredient_id\":\"parsley\"},\"amount\":{\"quantity\":0.6,\"unit_id\":\"gram\"},\"percentage\":0.6}]}],\"equipment_ids\":[\"oven\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Grind the dehydrated garlic to a fine, even powder if it is coarse or granulated.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Thoroughly combine the garlic, Parmesan, and salt.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Warm the butter-flavored shortening and butter-flavored oil together to 45–50 °C (113–122 °F), stirring just until the shortening is fully melted.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"While whisking or blending continuously, gradually add the dry mixture to the warm fat. Continue mixing until no clumps remain.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Let stand for 10 minutes to bloom the dehydrated garlic, stirring once or twice to keep the solids suspended.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Stir in the parsley. Keep the blend warm enough to remain fluid and stir immediately before use.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Brush a thin, even layer onto the crust immediately after the pizza leaves the oven.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "oven" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter_flavored_shortening", + "position": 1, + "ingredient_id": "butter_flavored_shortening", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_canola_oil", + "position": 2, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 8, + "unit_id": "gram", + "percentage": 8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_parmesan_cheese", + "position": 3, + "ingredient_id": "parmesan_cheese", + "subrecipe_id": null, + "quantity": 5.6, + "unit_id": "gram", + "percentage": 5.6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_garlic_dehydrated", + "position": 4, + "ingredient_id": "garlic_dehydrated_minced", + "subrecipe_id": null, + "quantity": 5.6, + "unit_id": "gram", + "percentage": 5.6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 4.65, + "unit_id": "gram", + "percentage": 4.65, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_parsley", + "position": 6, + "ingredient_id": "parsley", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": 0.6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Grind the dehydrated garlic to a fine, even powder if it is coarse or granulated.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Thoroughly combine the garlic, Parmesan, and salt.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Warm the butter-flavored shortening and butter-flavored oil together to 45–50 °C (113–122 °F), stirring just until the shortening is fully melted.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "While whisking or blending continuously, gradually add the dry mixture to the warm fat. Continue mixing until no clumps remain.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Let stand for 10 minutes to bloom the dehydrated garlic, stirring once or twice to keep the solids suspended.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Stir in the parsley. Keep the blend warm enough to remain fluid and stir immediately before use.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Brush a thin, even layer onto the crust immediately after the pizza leaves the oven.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "dominos_oregano_marjoram_blend", + "schema_version": 2, + "save_version": 2, + "title": "Oregano–Marjoram Blend", + "summary": null, + "categories_json": "[\"component\"]", + "tags_json": "[\"herb-blend\",\"dominos\"]", + "yield_quantity": 100, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Domino's identifies its shake-on blend as oregano and marjoram but does not publish the ratio; 50:50 is an explicit provisional formulation.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"dominos_oregano_marjoram_blend\",\"title\":\"Domino's-Style Oregano–Marjoram Blend\",\"categories\":[\"component\"],\"tags\":[\"herb-blend\",\"dominos\"],\"yield\":{\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_oregano\",\"reference\":{\"ingredient_id\":\"oregano\"},\"amount\":{\"quantity\":50,\"unit_id\":\"gram\"},\"percentage\":50,\"basis_member\":true},{\"id\":\"line_02_marjoram\",\"reference\":{\"ingredient_id\":\"marjoram\"},\"amount\":{\"quantity\":50,\"unit_id\":\"gram\"},\"percentage\":50}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine the dried oregano and dried marjoram evenly.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Domino's identifies its shake-on blend as oregano and marjoram but does not publish the ratio; 50:50 is an explicit provisional formulation.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_oregano", + "position": 1, + "ingredient_id": "oregano", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 50, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_marjoram", + "position": 2, + "ingredient_id": "marjoram", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine the dried oregano and dried marjoram evenly.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "dominos_pizza", + "schema_version": 2, + "save_version": 1, + "title": "Domino's Pizza Dough", + "summary": null, + "categories_json": "[\"bread\"]", + "tags_json": "[\"pizza\",\"copycat\",\"dominos\"]", + "yield_quantity": 169.2, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"dominos_pizza\",\"title\":\"Domino's Pizza Dough\",\"categories\":[\"bread\"],\"tags\":[\"pizza\",\"copycat\",\"dominos\"],\"yield\":{\"amount\":{\"quantity\":169.2,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_bread\",\"reference\":{\"ingredient_id\":\"flour_bread\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":60,\"unit_id\":\"gram\"},\"percentage\":60},{\"id\":\"line_03_oil\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":4,\"unit_id\":\"gram\"},\"percentage\":4},{\"id\":\"line_04_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":3.9,\"unit_id\":\"gram\"},\"percentage\":3.9},{\"id\":\"line_05_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1,\"unit_id\":\"gram\"},\"percentage\":1},{\"id\":\"line_06_instant_yeast\",\"reference\":{\"ingredient_id\":\"instant_yeast\"},\"amount\":{\"quantity\":0.3,\"unit_id\":\"gram\"},\"percentage\":0.3}]}],\"equipment_ids\":[\"mixing_bowl\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Add water, then dry ingredients to mixing bowl.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Mix until dough is halfway developed.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Add oil slowly.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Mix to full gluten development.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Divide.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Shape into ball.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Lightly oil ball.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Store in air-tight container, refrigerate.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "mixing_bowl" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 60, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_oil", + "position": 3, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": 4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 3.9, + "unit_id": "gram", + "percentage": 3.9, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_instant_yeast", + "position": 6, + "ingredient_id": "instant_yeast", + "subrecipe_id": null, + "quantity": 0.3, + "unit_id": "gram", + "percentage": 0.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Add water, then dry ingredients to mixing bowl.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Mix until dough is halfway developed.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Add oil slowly.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Mix to full gluten development.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Divide.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Shape into ball.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Lightly oil ball.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Store in air-tight container, refrigerate.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "dominos_pizza_sauce", + "schema_version": 2, + "save_version": 1, + "title": "Domino's Pizza Sauce", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"pizza\",\"copycat\",\"dominos\"]", + "yield_quantity": 107.7, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"dominos_pizza_sauce\",\"title\":\"Domino's Pizza Sauce\",\"categories\":[\"sauce\"],\"tags\":[\"pizza\",\"copycat\",\"dominos\"],\"yield\":{\"amount\":{\"quantity\":107.7,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_tomato_paste\",\"reference\":{\"ingredient_id\":\"tomato_paste\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":3,\"unit_id\":\"gram\"},\"percentage\":3},{\"id\":\"line_03_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":2.7,\"unit_id\":\"gram\"},\"percentage\":2.7},{\"id\":\"line_04_spice_blend\",\"reference\":{\"ingredient_id\":\"spice_blend\"},\"amount\":{\"quantity\":1.6,\"unit_id\":\"gram\"},\"percentage\":1.6},{\"id\":\"line_05_garlic_powder\",\"reference\":{\"ingredient_id\":\"garlic_powder\"},\"amount\":{\"quantity\":0.4,\"unit_id\":\"gram\"},\"percentage\":0.4}]}],\"equipment_ids\":[\"whisk\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Whisk to combine.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "whisk" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_tomato_paste", + "position": 1, + "ingredient_id": "tomato_paste", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.7, + "unit_id": "gram", + "percentage": 2.7, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_spice_blend", + "position": 4, + "ingredient_id": "spice_blend", + "subrecipe_id": null, + "quantity": 1.6, + "unit_id": "gram", + "percentage": 1.6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_garlic_powder", + "position": 5, + "ingredient_id": "garlic_powder", + "subrecipe_id": null, + "quantity": 0.4, + "unit_id": "gram", + "percentage": 0.4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Whisk to combine.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "dominos_pizza_sauce_v2", + "schema_version": 2, + "save_version": 1, + "title": "Domino's Pizza Sauce V2", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"pizza\",\"copycat\",\"dominos\"]", + "yield_quantity": 284.91, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"dominos_pizza_sauce_v2\",\"title\":\"Domino's Pizza Sauce V2\",\"categories\":[\"sauce\"],\"tags\":[\"pizza\",\"copycat\",\"dominos\"],\"yield\":{\"amount\":{\"quantity\":284.91,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_tomato_paste\",\"reference\":{\"ingredient_id\":\"tomato_paste\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":172.35,\"unit_id\":\"gram\"},\"percentage\":172.35},{\"id\":\"line_03_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":6.94,\"unit_id\":\"gram\"},\"percentage\":6.94},{\"id\":\"line_04_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":3,\"unit_id\":\"gram\"},\"percentage\":3},{\"id\":\"line_05_garlic_powder\",\"reference\":{\"ingredient_id\":\"garlic_powder\"},\"amount\":{\"quantity\":0.82,\"unit_id\":\"gram\"},\"percentage\":0.82},{\"id\":\"line_06_oregano\",\"reference\":{\"ingredient_id\":\"oregano\"},\"amount\":{\"quantity\":0.49,\"unit_id\":\"gram\"},\"percentage\":0.49},{\"id\":\"line_07_basil\",\"reference\":{\"ingredient_id\":\"basil\"},\"amount\":{\"quantity\":0.22,\"unit_id\":\"gram\"},\"percentage\":0.22},{\"id\":\"line_08_black_pepper_ground\",\"reference\":{\"ingredient_id\":\"black_pepper_ground\"},\"amount\":{\"quantity\":0.22,\"unit_id\":\"gram\"},\"percentage\":0.22},{\"id\":\"line_09_oil\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":0.68,\"unit_id\":\"gram\"},\"percentage\":0.68},{\"id\":\"line_10_citric_acid\",\"reference\":{\"ingredient_id\":\"citric_acid\"},\"amount\":{\"quantity\":0.16,\"unit_id\":\"gram\"},\"percentage\":0.16},{\"id\":\"line_11_cayenne\",\"reference\":{\"ingredient_id\":\"cayenne\"},\"amount\":{\"quantity\":0.03,\"unit_id\":\"gram\"},\"percentage\":0.03}]}],\"equipment_ids\":[\"whisk\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Reserve 15% of the water and whisk the remainder into the tomato paste until smooth.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Whisk in the reserved water.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Grind the oregano and basil to a fine powder.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Add the sugar, salt, garlic powder, oregano, basil, black pepper, citric acid, and cayenne.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Blend for 20–30 seconds.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Add the oil and blend briefly.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Cover and refrigerate for 12–24 hours.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Apply cold; do not precook.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "whisk" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_tomato_paste", + "position": 1, + "ingredient_id": "tomato_paste", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 172.35, + "unit_id": "gram", + "percentage": 172.35, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 6.94, + "unit_id": "gram", + "percentage": 6.94, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_garlic_powder", + "position": 5, + "ingredient_id": "garlic_powder", + "subrecipe_id": null, + "quantity": 0.82, + "unit_id": "gram", + "percentage": 0.82, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_oregano", + "position": 6, + "ingredient_id": "oregano", + "subrecipe_id": null, + "quantity": 0.49, + "unit_id": "gram", + "percentage": 0.49, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_basil", + "position": 7, + "ingredient_id": "basil", + "subrecipe_id": null, + "quantity": 0.22, + "unit_id": "gram", + "percentage": 0.22, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_black_pepper_ground", + "position": 8, + "ingredient_id": "black_pepper_ground", + "subrecipe_id": null, + "quantity": 0.22, + "unit_id": "gram", + "percentage": 0.22, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_oil", + "position": 9, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 0.68, + "unit_id": "gram", + "percentage": 0.68, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_citric_acid", + "position": 10, + "ingredient_id": "citric_acid", + "subrecipe_id": null, + "quantity": 0.16, + "unit_id": "gram", + "percentage": 0.16, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_cayenne", + "position": 11, + "ingredient_id": "cayenne", + "subrecipe_id": null, + "quantity": 0.03, + "unit_id": "gram", + "percentage": 0.03, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Reserve 15% of the water and whisk the remainder into the tomato paste until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Whisk in the reserved water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Grind the oregano and basil to a fine powder.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Add the sugar, salt, garlic powder, oregano, basil, black pepper, citric acid, and cayenne.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Blend for 20–30 seconds.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Add the oil and blend briefly.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Cover and refrigerate for 12–24 hours.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Apply cold; do not precook.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "dominos_pizza_sauce_v3", + "schema_version": 2, + "save_version": 1, + "title": "Domino's Pizza Sauce V3", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"pizza\",\"copycat\",\"dominos\"]", + "yield_quantity": 254.11, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"dominos_pizza_sauce_v3\",\"title\":\"Domino's Pizza Sauce V3\",\"categories\":[\"sauce\"],\"tags\":[\"pizza\",\"copycat\",\"dominos\"],\"yield\":{\"amount\":{\"quantity\":254.11,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_tomato_paste\",\"reference\":{\"ingredient_id\":\"tomato_paste\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":141.18,\"unit_id\":\"gram\"},\"percentage\":141.18},{\"id\":\"line_03_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":6.35,\"unit_id\":\"gram\"},\"percentage\":6.35},{\"id\":\"line_04_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":3.18,\"unit_id\":\"gram\"},\"percentage\":3.18},{\"id\":\"line_05_garlic_powder\",\"reference\":{\"ingredient_id\":\"garlic_powder\"},\"amount\":{\"quantity\":1.06,\"unit_id\":\"gram\"},\"percentage\":1.06},{\"id\":\"line_06_oregano\",\"reference\":{\"ingredient_id\":\"oregano\"},\"amount\":{\"quantity\":0.65,\"unit_id\":\"gram\"},\"percentage\":0.65},{\"id\":\"line_07_black_pepper_ground\",\"reference\":{\"ingredient_id\":\"black_pepper_ground\"},\"amount\":{\"quantity\":0.32,\"unit_id\":\"gram\"},\"percentage\":0.32},{\"id\":\"line_08_basil\",\"reference\":{\"ingredient_id\":\"basil\"},\"amount\":{\"quantity\":0.21,\"unit_id\":\"gram\"},\"percentage\":0.21},{\"id\":\"line_09_marjoram\",\"reference\":{\"ingredient_id\":\"marjoram\"},\"amount\":{\"quantity\":0.21,\"unit_id\":\"gram\"},\"percentage\":0.21},{\"id\":\"line_10_soybean_oil\",\"reference\":{\"ingredient_id\":\"soybean_oil\"},\"amount\":{\"quantity\":0.65,\"unit_id\":\"gram\"},\"percentage\":0.65},{\"id\":\"line_11_citric_acid\",\"reference\":{\"ingredient_id\":\"citric_acid\"},\"amount\":{\"quantity\":0.24,\"unit_id\":\"gram\"},\"percentage\":0.24},{\"id\":\"line_12_cayenne\",\"reference\":{\"ingredient_id\":\"cayenne\"},\"amount\":{\"quantity\":0.06,\"unit_id\":\"gram\"},\"percentage\":0.06}]}],\"equipment_ids\":[\"whisk\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Reserve 15% of the water and whisk the remainder into the tomato paste until smooth.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Whisk in the reserved water.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Grind the oregano and basil to a fine powder.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Add the sugar, salt, garlic powder, oregano, basil, black pepper, citric acid, and cayenne.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Blend for 20–30 seconds.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Add the oil and blend briefly.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Cover and refrigerate for 12–24 hours.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Apply cold; do not precook.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "whisk" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_tomato_paste", + "position": 1, + "ingredient_id": "tomato_paste", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 141.18, + "unit_id": "gram", + "percentage": 141.18, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 6.35, + "unit_id": "gram", + "percentage": 6.35, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 3.18, + "unit_id": "gram", + "percentage": 3.18, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_garlic_powder", + "position": 5, + "ingredient_id": "garlic_powder", + "subrecipe_id": null, + "quantity": 1.06, + "unit_id": "gram", + "percentage": 1.06, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_oregano", + "position": 6, + "ingredient_id": "oregano", + "subrecipe_id": null, + "quantity": 0.65, + "unit_id": "gram", + "percentage": 0.65, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_black_pepper_ground", + "position": 7, + "ingredient_id": "black_pepper_ground", + "subrecipe_id": null, + "quantity": 0.32, + "unit_id": "gram", + "percentage": 0.32, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_basil", + "position": 8, + "ingredient_id": "basil", + "subrecipe_id": null, + "quantity": 0.21, + "unit_id": "gram", + "percentage": 0.21, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_marjoram", + "position": 9, + "ingredient_id": "marjoram", + "subrecipe_id": null, + "quantity": 0.21, + "unit_id": "gram", + "percentage": 0.21, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_soybean_oil", + "position": 10, + "ingredient_id": "soybean_oil", + "subrecipe_id": null, + "quantity": 0.65, + "unit_id": "gram", + "percentage": 0.65, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_citric_acid", + "position": 11, + "ingredient_id": "citric_acid", + "subrecipe_id": null, + "quantity": 0.24, + "unit_id": "gram", + "percentage": 0.24, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_cayenne", + "position": 12, + "ingredient_id": "cayenne", + "subrecipe_id": null, + "quantity": 0.06, + "unit_id": "gram", + "percentage": 0.06, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Reserve 15% of the water and whisk the remainder into the tomato paste until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Whisk in the reserved water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Grind the oregano and basil to a fine powder.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Add the sugar, salt, garlic powder, oregano, basil, black pepper, citric acid, and cayenne.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Blend for 20–30 seconds.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Add the oil and blend briefly.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Cover and refrigerate for 12–24 hours.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Apply cold; do not precook.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "dominos_stuffed_cheesy_bread", + "schema_version": 2, + "save_version": 1, + "title": "Domino's Stuffed Cheesy Bread", + "summary": null, + "categories_json": "[\"bread\"]", + "tags_json": "[\"bread\",\"cheese\",\"copycat\",\"dominos\"]", + "yield_quantity": 156.08, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"dominos_stuffed_cheesy_bread\",\"title\":\"Domino's Stuffed Cheesy Bread\",\"categories\":[\"bread\"],\"tags\":[\"bread\",\"cheese\",\"copycat\",\"dominos\"],\"yield\":{\"amount\":{\"quantity\":156.08,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_dominos_pizza_dough\",\"reference\":{\"recipe_id\":\"dominos_pizza\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_mozzarella_cheese\",\"reference\":{\"ingredient_id\":\"mozzarella_cheese\"},\"amount\":{\"quantity\":20.4,\"unit_id\":\"gram\"},\"percentage\":20.4},{\"id\":\"line_03_cheddar_cheese_blend\",\"reference\":{\"recipe_id\":\"dominos_cheddar_cheese_blend\"},\"amount\":{\"quantity\":30.58,\"unit_id\":\"gram\"},\"percentage\":30.58},{\"id\":\"line_04_dominos_garlic_oil_blend\",\"reference\":{\"recipe_id\":\"dominos_garlic_oil_blend\"},\"amount\":{\"quantity\":5.1,\"unit_id\":\"gram\"},\"percentage\":5.1}]}],\"equipment_ids\":[\"oven\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Bring one properly proofed 556 g, 14-inch Domino's Pizza dough ball to its normal shaping temperature. Lightly coat it with cornmeal.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Stretch and flatten the dough into a 16 × 10 inch (41 × 25 cm) rectangle, squaring the edges. Do not form a rim.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Cut the rectangle across the center into two 8 × 10 inch (20 × 25 cm) rectangles. Each 278 g rectangle makes one eight-piece bread. Place each on parchment paper over a pizza screen or perforated pizza pan.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"On each rectangle, distribute 56.7 g pizza cheese edge to edge over one 4 × 10 inch half.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Fold the uncovered half over the cheese, matching the corners and edges. Do not crimp or roll the perimeter.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Make seven evenly spaced crosswise cuts through both layers, producing eight attached portions. Make the center cut first, halve each side, and then halve each quarter.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Distribute 85.0 g cheddar cheese blend evenly from edge to edge over the top.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Bake until the bottom is golden brown, the dough is baked through, and the topping is evenly melted. In a home oven, start with 475 °F (245 °C) on a thoroughly preheated screen or perforated pan and begin checking at 10 minutes; use color and doneness rather than time alone.\",\"component_ids\":[\"main\"]},{\"id\":\"step_09\",\"order\":9,\"instruction\":\"Immediately apply 14.2 g warm garlic oil blend, first around the perimeter and then in a zigzag across the center. Serve on the parchment.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "oven" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_dominos_pizza_dough", + "position": 1, + "ingredient_id": null, + "subrecipe_id": "dominos_pizza", + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_mozzarella_cheese", + "position": 2, + "ingredient_id": "mozzarella_cheese", + "subrecipe_id": null, + "quantity": 20.4, + "unit_id": "gram", + "percentage": 20.4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_cheddar_cheese_blend", + "position": 3, + "ingredient_id": null, + "subrecipe_id": "dominos_cheddar_cheese_blend", + "quantity": 30.58, + "unit_id": "gram", + "percentage": 30.58, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_dominos_garlic_oil_blend", + "position": 4, + "ingredient_id": null, + "subrecipe_id": "dominos_garlic_oil_blend", + "quantity": 5.1, + "unit_id": "gram", + "percentage": 5.1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Bring one properly proofed 556 g, 14-inch Domino's Pizza dough ball to its normal shaping temperature. Lightly coat it with cornmeal.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Stretch and flatten the dough into a 16 × 10 inch (41 × 25 cm) rectangle, squaring the edges. Do not form a rim.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Cut the rectangle across the center into two 8 × 10 inch (20 × 25 cm) rectangles. Each 278 g rectangle makes one eight-piece bread. Place each on parchment paper over a pizza screen or perforated pizza pan.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "On each rectangle, distribute 56.7 g pizza cheese edge to edge over one 4 × 10 inch half.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Fold the uncovered half over the cheese, matching the corners and edges. Do not crimp or roll the perimeter.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Make seven evenly spaced crosswise cuts through both layers, producing eight attached portions. Make the center cut first, halve each side, and then halve each quarter.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Distribute 85.0 g cheddar cheese blend evenly from edge to edge over the top.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Bake until the bottom is golden brown, the dough is baked through, and the topping is evenly melted. In a home oven, start with 475 °F (245 °C) on a thoroughly preheated screen or perforated pan and begin checking at 10 minutes; use color and doneness rather than time alone.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_09", + "position": 9, + "instruction": "Immediately apply 14.2 g warm garlic oil blend, first around the perimeter and then in a zigzag across the center. Serve on the parchment.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "donuts", + "schema_version": 2, + "save_version": 1, + "title": "Donuts", + "summary": null, + "categories_json": "[\"dessert\"]", + "tags_json": "[\"fried\"]", + "yield_quantity": 200.21, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"donuts\",\"title\":\"Donuts\",\"categories\":[\"dessert\"],\"tags\":[\"fried\"],\"yield\":{\"amount\":{\"quantity\":200.21,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_bread\",\"reference\":{\"ingredient_id\":\"flour_bread\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":50,\"unit_id\":\"gram\"},\"percentage\":50},{\"id\":\"line_03_shortening\",\"reference\":{\"ingredient_id\":\"shortening\"},\"amount\":{\"quantity\":18.8,\"unit_id\":\"gram\"},\"percentage\":18.8},{\"id\":\"line_04_egg_whole\",\"reference\":{\"ingredient_id\":\"egg_whole\"},\"amount\":{\"quantity\":12.4,\"unit_id\":\"gram\"},\"percentage\":12.4},{\"id\":\"line_05_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":6.5,\"unit_id\":\"gram\"},\"percentage\":6.5},{\"id\":\"line_06_nonfat_milk_powder\",\"reference\":{\"ingredient_id\":\"nonfat_milk_powder\"},\"amount\":{\"quantity\":6.5,\"unit_id\":\"gram\"},\"percentage\":6.5},{\"id\":\"line_07_instant_yeast\",\"reference\":{\"ingredient_id\":\"instant_yeast\"},\"amount\":{\"quantity\":2.21,\"unit_id\":\"gram\"},\"percentage\":2.21},{\"id\":\"line_08_baking_powder\",\"reference\":{\"ingredient_id\":\"baking_powder\"},\"amount\":{\"quantity\":1.75,\"unit_id\":\"gram\"},\"percentage\":1.75},{\"id\":\"line_09_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1.75,\"unit_id\":\"gram\"},\"percentage\":1.75},{\"id\":\"line_10_mace_nutmeg\",\"reference\":{\"ingredient_id\":\"mace_nutmeg\"},\"amount\":{\"quantity\":0.3,\"unit_id\":\"gram\"},\"percentage\":0.3}]}],\"equipment_ids\":[\"stand_mixer\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Add water, egg, sugar, milk, baking powder, salt, nutmeg to mixer.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Add flours, yeast, mix, conditioner.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Mix until well incorporated.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Add shortening.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Mix until intense stage gluten development.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Proof 1 hr, until roughly doubled.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Sheet to 0.5 in.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Cut donuts with 3 in donut cutter.\",\"component_ids\":[\"main\"]},{\"id\":\"step_09\",\"order\":9,\"instruction\":\"Proof ≈45 min at 80 °F 65% rh on parchment.\",\"component_ids\":[\"main\"]},{\"id\":\"step_10\",\"order\":10,\"instruction\":\"Fry 2 min per side at 350-365 °F.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "stand_mixer" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_shortening", + "position": 3, + "ingredient_id": "shortening", + "subrecipe_id": null, + "quantity": 18.8, + "unit_id": "gram", + "percentage": 18.8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 12.4, + "unit_id": "gram", + "percentage": 12.4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 6.5, + "unit_id": "gram", + "percentage": 6.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_nonfat_milk_powder", + "position": 6, + "ingredient_id": "nonfat_milk_powder", + "subrecipe_id": null, + "quantity": 6.5, + "unit_id": "gram", + "percentage": 6.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_instant_yeast", + "position": 7, + "ingredient_id": "instant_yeast", + "subrecipe_id": null, + "quantity": 2.21, + "unit_id": "gram", + "percentage": 2.21, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_baking_powder", + "position": 8, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 1.75, + "unit_id": "gram", + "percentage": 1.75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.75, + "unit_id": "gram", + "percentage": 1.75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_mace_nutmeg", + "position": 10, + "ingredient_id": "mace_nutmeg", + "subrecipe_id": null, + "quantity": 0.3, + "unit_id": "gram", + "percentage": 0.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Add water, egg, sugar, milk, baking powder, salt, nutmeg to mixer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Add flours, yeast, mix, conditioner.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Mix until well incorporated.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Add shortening.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Mix until intense stage gluten development.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Proof 1 hr, until roughly doubled.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Sheet to 0.5 in.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Cut donuts with 3 in donut cutter.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_09", + "position": 9, + "instruction": "Proof ≈45 min at 80 °F 65% rh on parchment.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Fry 2 min per side at 350-365 °F.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "double_chocolate_chip_cookies", + "schema_version": 2, + "save_version": 6, + "title": "Double Chocolate Chip Cookies", + "summary": "Yield: thirty-eight 57 g (2 oz) cookies", + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 2175, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: thirty-eight 57 g (2 oz) cookies\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": 80, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_brown_sugar", + "position": 3, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": 80, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_invert_sugar", + "position": 4, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 20, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_whole", + "position": 5, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_vanilla_extract", + "position": 6, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 2.33, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_flour_all_purpose", + "position": 7, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_cocoa_powder", + "position": 8, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 180, + "unit_id": "gram", + "percentage": 60, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 2.33, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_baking_soda", + "position": 10, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 2.33, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_dark_chocolate_chips", + "position": 11, + "ingredient_id": "dark_chocolate_chips", + "subrecipe_id": null, + "quantity": 168, + "unit_id": "gram", + "percentage": 56, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_milk_chocolate_chips", + "position": 12, + "ingredient_id": "milk_chocolate_chips", + "subrecipe_id": null, + "quantity": 168, + "unit_id": "gram", + "percentage": 56, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_white_chocolate_chips", + "position": 13, + "ingredient_id": "white_chocolate_chips", + "subrecipe_id": null, + "quantity": 168, + "unit_id": "gram", + "percentage": 56, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_14_pecan", + "position": 14, + "ingredient_id": "pecan", + "subrecipe_id": null, + "quantity": 180, + "unit_id": "gram", + "percentage": 60, + "basis_member": 0, + "optional": 0, + "notes": "toasted & chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter and sugars.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Gradually add the eggs, followed by the extract, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the sifted dry ingredients and mix until streaky.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the chocolate chips and chopped nuts. Mix just until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 275°F (135°C).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "egg_noodle", + "schema_version": 2, + "save_version": 1, + "title": "Egg Noodle", + "summary": null, + "categories_json": "[\"side\"]", + "tags_json": "[\"noodle\"]", + "yield_quantity": 164.5, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"egg_noodle\",\"title\":\"Egg Noodle\",\"categories\":[\"side\"],\"tags\":[\"noodle\"],\"yield\":{\"amount\":{\"quantity\":164.5,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_bread\",\"reference\":{\"ingredient_id\":\"flour_bread\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_egg_whole\",\"reference\":{\"ingredient_id\":\"egg_whole\"},\"amount\":{\"quantity\":50,\"unit_id\":\"gram\"},\"percentage\":50},{\"id\":\"line_03_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":12.5,\"unit_id\":\"gram\"},\"percentage\":12.5},{\"id\":\"line_04_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"TODO: Add complete preparation instructions for this recipe.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_egg_whole", + "position": 2, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_water", + "position": 3, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 12.5, + "unit_id": "gram", + "percentage": 12.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "TODO: Add complete preparation instructions for this recipe.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "egg_replacer", + "schema_version": 2, + "save_version": 1, + "title": "Egg Replacer", + "summary": null, + "categories_json": "[\"component\"]", + "tags_json": "[\"base-formula\"]", + "yield_quantity": 100, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"egg_replacer\",\"title\":\"Egg Replacer\",\"categories\":[\"component\"],\"tags\":[\"base-formula\"],\"yield\":{\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":65,\"unit_id\":\"gram\"},\"percentage\":65,\"basis_member\":true},{\"id\":\"line_02_tapioca_starch\",\"reference\":{\"ingredient_id\":\"tapioca_starch\"},\"amount\":{\"quantity\":18.5,\"unit_id\":\"gram\"},\"percentage\":18.5},{\"id\":\"line_03_fat\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":10,\"unit_id\":\"gram\"},\"percentage\":10},{\"id\":\"line_04_liquid_sunflower_lecithin\",\"reference\":{\"ingredient_id\":\"liquid_sunflower_lecithin\"},\"amount\":{\"quantity\":5,\"unit_id\":\"gram\"},\"percentage\":5},{\"id\":\"line_05_baking_powder\",\"reference\":{\"ingredient_id\":\"baking_powder\"},\"amount\":{\"quantity\":1.5,\"unit_id\":\"gram\"},\"percentage\":1.5}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 65, + "unit_id": "gram", + "percentage": 65, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_tapioca_starch", + "position": 2, + "ingredient_id": "tapioca_starch", + "subrecipe_id": null, + "quantity": 18.5, + "unit_id": "gram", + "percentage": 18.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_fat", + "position": 3, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 10, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_liquid_sunflower_lecithin", + "position": 4, + "ingredient_id": "liquid_sunflower_lecithin", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_baking_powder", + "position": 5, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 1.5, + "unit_id": "gram", + "percentage": 1.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "elderflower_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Elderflower Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 2610, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 480, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_elderflower_syrup", + "position": 4, + "ingredient_id": "elderflower_syrup", + "subrecipe_id": null, + "quantity": 750, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_champagne", + "position": 5, + "ingredient_id": "champagne", + "subrecipe_id": null, + "quantity": 390, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_lemon_juice", + "position": 6, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 180, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_yolk", + "position": 7, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 360, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_egg_whites", + "position": 8, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 180, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_sugar", + "position": 9, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk the elderflower syrup, champagne, juice, and egg yolks over a water bath until light and thickened. Add the bloomed and drained gelatin to the hot mixture to dissolve, then cool down over an ice bath until 65°F (18°C), or until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make a Swiss meringue with the egg whites and sugar; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Sacrifice a small amount of the meringue into the cooled elderflower mixture, then fold in the rest of the meringue, followed by the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "english_muffin", + "schema_version": 2, + "save_version": 1, + "title": "English Muffin", + "summary": null, + "categories_json": "[\"bread\"]", + "tags_json": "[\"muffin\"]", + "yield_quantity": 186.5, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"english_muffin\",\"title\":\"English Muffin\",\"categories\":[\"bread\"],\"tags\":[\"muffin\"],\"yield\":{\"amount\":{\"quantity\":186.5,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_bread\",\"reference\":{\"ingredient_id\":\"flour_bread\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":75,\"unit_id\":\"gram\"},\"percentage\":75},{\"id\":\"line_03_shortening\",\"reference\":{\"ingredient_id\":\"shortening\"},\"amount\":{\"quantity\":4,\"unit_id\":\"gram\"},\"percentage\":4},{\"id\":\"line_04_nonfat_milk_powder\",\"reference\":{\"ingredient_id\":\"nonfat_milk_powder\"},\"amount\":{\"quantity\":2.5,\"unit_id\":\"gram\"},\"percentage\":2.5},{\"id\":\"line_05_instant_yeast\",\"reference\":{\"ingredient_id\":\"instant_yeast\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_06_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1.5,\"unit_id\":\"gram\"},\"percentage\":1.5},{\"id\":\"line_07_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":1.5,\"unit_id\":\"gram\"},\"percentage\":1.5}]}],\"equipment_ids\":[\"whisk\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine, whisk dry ingredients.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Combine, whisk wet except shortening.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Mix 5 min until well combined.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Add shortening.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Mix to ≈25 min.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Divide ≈85 g ball.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Proof 1 hr at 77 °F.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Bake 350 °F baking steel.\",\"component_ids\":[\"main\"]},{\"id\":\"step_09\",\"order\":9,\"instruction\":\"Flip 3x.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "whisk" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": 75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_shortening", + "position": 3, + "ingredient_id": "shortening", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": 4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_nonfat_milk_powder", + "position": 4, + "ingredient_id": "nonfat_milk_powder", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 2.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_instant_yeast", + "position": 5, + "ingredient_id": "instant_yeast", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.5, + "unit_id": "gram", + "percentage": 1.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 1.5, + "unit_id": "gram", + "percentage": 1.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine, whisk dry ingredients.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Combine, whisk wet except shortening.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Mix 5 min until well combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Add shortening.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Mix to ≈25 min.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Divide ≈85 g ball.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Proof 1 hr at 77 °F.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Bake 350 °F baking steel.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_09", + "position": 9, + "instruction": "Flip 3x.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "english_muffins", + "schema_version": 2, + "save_version": 6, + "title": "English Muffins", + "summary": null, + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breakfast\",\"classic\"]", + "yield_quantity": 1610, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "sponge", + "position": 1, + "name": "Sponge", + "notes_json": "[]" + }, + { + "id": "dough", + "position": 2, + "name": "Dough", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "dough", + "id": "line_04_sponge", + "position": 1, + "ingredient_id": "sponge", + "subrecipe_id": null, + "quantity": 610, + "unit_id": "gram", + "percentage": 70.93, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_05_milk_whole", + "position": 2, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 46.51, + "basis_member": 0, + "optional": 0, + "notes": "room temperature", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_06_butter", + "position": 3, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": 3.49, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_07_flour_all_purpose", + "position": 4, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 560, + "unit_id": "gram", + "percentage": 65.12, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_08_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 1.16, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "sponge", + "id": "line_01_yeast_fresh", + "position": 1, + "ingredient_id": "yeast_fresh", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 6.98, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "sponge", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 29.07, + "basis_member": 0, + "optional": 0, + "notes": "room temperature", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "sponge", + "id": "line_03_flour_all_purpose", + "position": 3, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 34.88, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Sponge:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Mix the yeast, water, and flour until blended. Cover and allow to ferment at room temperature for 3-6 hours.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Dough:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "In a mixer fitted with a dough hook, combine the sponge, milk, butter, and flour and mix for 2-3 minutes.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Add the salt and mix until gluten is developed and a \"window\" is achieved.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Place the dough in an oiled bowl, cover, and bulk ferment for 1 hour.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Turn, fold and flip the dough over in the bowl. Ferment for another 30-40 minutes.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Turn the dough out onto a well-floured bench. Pat or roll the dough until it is ½-inch thick. Cut the muffins with round cutters.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Prepare a sauté pan with ¼-inch of vegetable oil and butter.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Pan fry the muffins, cooking each side until nicely browned. Remove from the pan onto a cornmeal-lined tray, then transfer onto parchment-lined sheet pans.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_11", + "position": 11, + "instruction": "Bake the cornmeal-coated muffins at 350°F (177°C) for 10-15 minutes, or until cooked through in the center. Cool on a wire rack.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "espresso_bonbon_ganache", + "schema_version": 2, + "save_version": 6, + "title": "Espresso Bonbon Ganache", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_chocolate_dark", + "position": 1, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 303, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "58-64%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_chocolate_milk", + "position": 2, + "ingredient_id": "chocolate_milk", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_espresso_beans", + "position": 3, + "ingredient_id": "espresso_beans", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_heavy_cream", + "position": 4, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 477, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_butter", + "position": 5, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_coffee_liqueur", + "position": 6, + "ingredient_id": "coffee_liqueur", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Combine the chocolates in a bowl large enough to accommodate the entire recipe; set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Dry-roast the espresso beans in a sauté pan over medium heat until aromatic, then coarsely crush the beans.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a saucepan, bring the cream and crushed espresso beans to a boil; set aside to infuse for 30-60 minutes.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Strain the infused cream through a fine-mesh strainer, then rescale to the original weight.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bring the infused cream back to a boil, then pour over the chocolates. Allow to stand for one minute, then emulsify until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Stir in the softened butter, followed by the liqueur.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Cover the surface of the ganache with plastic wrap. Allow to rest at room temperature until it reaches 78°F (26°C). The cooled ganache should have a thick, yet fluid consistency to properly fill bonbon shells.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "espresso_granite", + "schema_version": 2, + "save_version": 6, + "title": "Espresso Granité", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1440, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_coffee", + "position": 3, + "ingredient_id": "coffee", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "fresh & hot", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_instant_espresso_powder", + "position": 4, + "ingredient_id": "instant_espresso_powder", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_simple_syrup", + "position": 5, + "ingredient_id": "simple_syrup", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the espresso powder and bloomed gelatin into the hot coffee, followed by the simple syrup.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Measure and adjust the °Brix between 17°-20° depending on the coffee and your taste.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Pour into a shallow pan and begin to freeze, stirring every 15 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "espresso_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Espresso Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 2100, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sugar", + "position": 1, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 95, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_espresso_beans", + "position": 2, + "ingredient_id": "espresso_beans", + "subrecipe_id": null, + "quantity": 95, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_milk_whole", + "position": 3, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 280, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_vanilla_bean", + "position": 4, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "split & scraped (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_heavy_cream", + "position": 5, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 1013, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_gelatin_sheet", + "position": 6, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 18, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_water", + "position": 7, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_sugar", + "position": 8, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 280, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_egg_yolk", + "position": 9, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 390, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_salt", + "position": 10, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_coffee_extract", + "position": 11, + "ingredient_id": "coffee_extract", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Make a dry caramel with the sugar. Add the espresso beans to coat and spread out onto a silicone baking mat or parchment paper to cool. Once cool, grind the caramel coated beans in a food processor until coarsely ground.", + "critical_control_point": 0, + "equipment_ids": [ + "food_processor", + "sheet_pan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Bring the milk to a scald with the ground mixture and the vanilla bean. Set aside to steep for 15 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Strain the espresso milk through a fine-mesh strainer, then rescale to the original weight with additional milk.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Make a very thick crème anglaise with the espresso milk, second weight of sugar, egg yolks, and salt by cooking it on low heat and stirring continuously.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Once cooked, remove from heat, add the bloomed and drained gelatin and whisk to dissolve.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Strain through a fine-mesh strainer into a mixer fitted with a whisk attachment. Whip until cool, then add the extract.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Fold the whipped cream into the cooled espresso crème anglaise.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "espresso_white_chocolate_chip_cookies", + "schema_version": 2, + "save_version": 6, + "title": "Espresso White Chocolate Chip Cookies", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1590, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 60.53, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 178, + "unit_id": "gram", + "percentage": 47.47, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_brown_sugar", + "position": 3, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 178, + "unit_id": "gram", + "percentage": 47.47, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_invert_sugar", + "position": 4, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 10.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_whole", + "position": 5, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 26.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_vanilla_extract", + "position": 6, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 14, + "unit_id": "gram", + "percentage": 3.73, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_instant_espresso_powder", + "position": 7, + "ingredient_id": "instant_espresso_powder", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 0.8, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_flour_all_purpose", + "position": 8, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 375, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 17, + "unit_id": "gram", + "percentage": 4.53, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_baking_soda", + "position": 10, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 1.6, + "basis_member": 0, + "optional": 0, + "notes": "1¼ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_white_chocolate_chips", + "position": 11, + "ingredient_id": "white_chocolate_chips", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": 121.07, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter and sugars.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Gradually add the eggs, followed by the extract, scraping down the bowl as necessary. Add the espresso powder and mix until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the sifted dry ingredients and mix until streaky.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the chocolate chips and mix until combined, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 275°F (135ºC).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "famous_mignano_bar", + "schema_version": 2, + "save_version": 6, + "title": "Famous \"Mignano Bar\"", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1240, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_graham_cracker_crumbs", + "position": 1, + "ingredient_id": "graham_cracker_crumbs", + "subrecipe_id": null, + "quantity": 649, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 266, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_butter", + "position": 3, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 325, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "melted", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Mix all of the ingredients until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Mignano Bar\" Assembly:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Evenly sprinkle the puffed rice over the set caramel while still in the frame; lightly press the puffed rice into the caramel.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Slowly pour the warm ganache over the puffed rice-caramel sheet; the ganache should be ½-inch thick.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Allow the ganache to set for 4-6 hours or overnight.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Remove the metal frame and invert the chocolate-caramel sheet so the caramel is facing upright.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Spread a thin layer of tempered chocolate over the caramel sheet, then evenly sprinkle the Graham cracker mixture over the tempered chocolate. Press firmly down on the cracker mixture to create an even, tightly compacted crust. Refrigerate for 3 hours or until firm.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Invert the sheet so the cracker mixture is on the bottom; cut into desired shapes and enrobe in tempered chocolate. Sprinkle the top of each candy bar with a small amount Hawaiian sea salt before the chocolate fully sets.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "fig_bars", + "schema_version": 2, + "save_version": 6, + "title": "Fig Bars", + "summary": "Yield: two 20-inch logs", + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1665.25, + "yield_unit_id": "gram", + "yield_servings": 2, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: two 20-inch logs\",\"The dough must be chilled before baking or it will melt and expose the filling.\",\"Baked cookies can be stored in an airtight container for several days or frozen.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "dough", + "position": 1, + "name": "Dough", + "notes_json": "[]" + }, + { + "id": "filling", + "position": 2, + "name": "Filling", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "dough", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 56.82, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 34.09, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_03_egg_whole", + "position": 3, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 11.36, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_04_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 4.55, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 0.28, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_06_flour_all_purpose", + "position": 6, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 360, + "unit_id": "gram", + "percentage": 81.82, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_07_flour_bread", + "position": 7, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": 18.18, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "filling", + "id": "line_08_dried_figs", + "position": 1, + "ingredient_id": "dried_figs", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": 103.18, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "filling", + "id": "line_09_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": 17.05, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "filling", + "id": "line_10_vanilla_sugar", + "position": 3, + "ingredient_id": "vanilla_sugar", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": 5.68, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "filling", + "id": "line_11_water", + "position": 4, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 22.73, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "filling", + "id": "line_12_port_wine", + "position": 5, + "ingredient_id": "port_wine", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 22.73, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "filling", + "id": "line_13_lemon_juice", + "position": 6, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": 0.23, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Dough:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter and sugar.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the whole egg and yolk one at a time, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the sifted dry ingredients and mix just until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Portion into 2 pieces and refrigerate for at least 30 minutes to firm the butter.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Filling:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Remove the woody stems from the figs and coarsely chop.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "In a saucepan, combine the chopped figs, sugars, water, wine, and juice. Cook until tender and set aside to cool. You may need a little more water if the liquid evaporates before the figs are tender.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Assembly:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Roll each portion of dough into a rectangle roughly 6 x 20-inch and place the rectangles on a piece of parchment paper.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_11", + "position": 11, + "instruction": "Brush the edges with egg wash.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_12", + "position": 12, + "instruction": "Place ½ of the filling along the center of each piece of dough.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_13", + "position": 13, + "instruction": "Fold the edges up to cover the filling, overlapping slightly to seal.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_14", + "position": 14, + "instruction": "Lift the parchment paper and roll each log over so that the seam is on the bottom.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_15", + "position": 15, + "instruction": "Chill for 30 minutes before use. Alternatively, the logs may be frozen at this point and baked off as needed.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + }, + { + "id": "step_16", + "position": 16, + "instruction": "Brush the logs with egg wash before baking.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_17", + "position": 17, + "instruction": "Bake at 350°F (177°C) until golden brown.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "flaky_american_pie_dough", + "schema_version": 2, + "save_version": 6, + "title": "Flaky American Pie Dough", + "summary": "Yield: one 9-inch double crust deep-dish pie", + "categories_json": "[\"doughs\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"doughs\",\"classic\"]", + "yield_quantity": 900, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one 9-inch double crust deep-dish pie\",\"To inhibit gluten development, keep all ingredients and mixing bowl as cold as possible.\",\"The exact amount of hydration needed can vary depending upon the type of flour used and the humidity in the air.\",\"The dough can be refrigerated for 3 days or frozen up to 2 months.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 450, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_salt", + "position": 2, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 8, + "unit_id": "gram", + "percentage": 1.78, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 8, + "unit_id": "gram", + "percentage": 1.78, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_butter", + "position": 4, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 230, + "unit_id": "gram", + "percentage": 51.11, + "basis_member": 0, + "optional": 0, + "notes": "½-inch cubes, cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_shortening", + "position": 5, + "ingredient_id": "shortening", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": 20, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_water", + "position": 6, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 107, + "unit_id": "gram", + "percentage": 23.78, + "basis_member": 0, + "optional": 0, + "notes": "ice cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_white_vinegar", + "position": 7, + "ingredient_id": "white_vinegar", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 1.56, + "basis_member": 0, + "optional": 0, + "notes": "white or cider", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix the flour, salt, sugar, butter, and shortening until the butter is ¼-inch, or \"pea sized.\"", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add ½ of the liquid to the dry ingredients and mix for 10 seconds on low speed to hydrate.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the remaining liquid and mix until the dough is shaggy but holds together when pressed between two fingers.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Turn the dough out onto a lightly floured work surface. Gently shape into desired sized rounds.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Wrap the dough in plastic wrap and refrigerate for a minimum of 1 hour, preferably overnight.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "flavored_chantilly_recipes", + "schema_version": 2, + "save_version": 6, + "title": "Flavored Chantilly Recipes", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1240, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_chocolate_dark", + "position": 1, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "58-72%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 940, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 qt", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the chocolate. In a saucepan, combine the cream and sugar and bring to a boil to dissolve the sugar.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the melted chocolate and hot cream together until homogenous. Allow to stand at room temperature for 1 hour, then strain through a fine-mesh strainer and chill.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Melt the chocolate. In a saucepan, bring the cream to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Whisk the melted chocolate and hot cream together until homogenous. Allow to stand at room temperature for 1 hour, then strain through a fine-mesh strainer; stir in the cold milk and chill.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "flavored_chantilly_recipes_p204", + "schema_version": 2, + "save_version": 6, + "title": "Flavored Chantilly Recipes", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1670, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_chocolate_milk", + "position": 1, + "ingredient_id": "chocolate_milk", + "subrecipe_id": null, + "quantity": 650, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 940, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 qt", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_milk_whole", + "position": 3, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the chocolate. In a saucepan, combine the cream and sugar and bring to a boil to dissolve the sugar.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the melted chocolate and hot cream together until homogenous. Allow to stand at room temperature for 1 hour, then strain through a fine-mesh strainer and chill.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Melt the chocolate. In a saucepan, bring the cream to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Whisk the melted chocolate and hot cream together until homogenous. Allow to stand at room temperature for 1 hour, then strain through a fine-mesh strainer; stir in the cold milk and chill.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "flexible_chocolate_ganache", + "schema_version": 2, + "save_version": 6, + "title": "Flexible Chocolate Ganache", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_agave_syrup", + "position": 3, + "ingredient_id": "agave_syrup", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_coffee", + "position": 4, + "ingredient_id": "coffee", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_agar_agar", + "position": 5, + "ingredient_id": "agar_agar", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_glucose_syrup", + "position": 6, + "ingredient_id": "glucose_syrup", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_heavy_cream", + "position": 7, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 900, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_chocolate_dark", + "position": 9, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 375, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "58-72%", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Combine the agave syrup, coffee and agar in a saucepan and bring to a boil. Add the glucose syrup and whisk to blend.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "saucepan", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the cream and salt to the saucepan and return to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the bloomed gelatin to the hot cream mixture and whisk to dissolve.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Pour the hot cream mixture over the chocolate in a bowl and allow to stand for 2 minutes; emulsify until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Pour the ganache onto an acetate lined half-sheet pan.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Refrigerate for 4-6 hours or overnight.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "flourless_chocolate_cake", + "schema_version": 2, + "save_version": 6, + "title": "Flourless Chocolate Cake", + "summary": "Yield: one 9-inch cake pan", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 937, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one 9-inch cake pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 233, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_chocolate_dark", + "position": 2, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "70-72%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_almond_flour", + "position": 3, + "ingredient_id": "almond_flour", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 225, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_whites", + "position": 7, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 180, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the butter and chocolate together; cool until 120°F (49°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Stir in the flour, egg yolks and salt.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a mixer fitted with a whisk attachment, make a medium-soft peak French meringue with the sugar and egg whites.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Fold the meringue into the chocolate mixture.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 350°F (177°C) until a skewer inserted comes out with a few crumbs on it.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Allow the cake to cool in the pan before unmolding.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "flourless_chocolate_truffle_cake", + "schema_version": 2, + "save_version": 6, + "title": "Flourless Chocolate Truffle Cake", + "summary": "Yield: one 9-inch cake pan", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 1400, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one 9-inch cake pan\",\"Toasted and chopped nuts may be added to the batter as desired.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 135, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 248, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_butter", + "position": 4, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 245, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½-inch cubes", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_chocolate_dark", + "position": 5, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 369, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "66-72%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whole", + "position": 6, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 450, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the water, sugar, salt and butter to a boil. Add the chocolate and whisk until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Temper the chocolate mixture with the eggs.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Fill a prepared cake pan that has been buttered and sugared.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Bake at 325°F (163ºC) in a water bath just until set.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Allow the cake to cool in the pan before unmolding.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "focaccia", + "schema_version": 2, + "save_version": 7, + "title": "Focaccia", + "summary": "Yield: one half sheet pan", + "categories_json": "[\"breads\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breads\",\"classic\"]", + "yield_quantity": 1515, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Yield: one half sheet pan\"]", + "source_json": "{\"schema_version\":2,\"id\":\"focaccia\",\"title\":\"Focaccia\",\"categories\":[\"bread\"],\"tags\":[\"loaf\"],\"yield\":{\"amount\":{\"quantity\":197,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_bread\",\"reference\":{\"ingredient_id\":\"flour_bread\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":85,\"unit_id\":\"gram\"},\"percentage\":85},{\"id\":\"line_03_shortening\",\"reference\":{\"ingredient_id\":\"shortening\"},\"amount\":{\"quantity\":7,\"unit_id\":\"gram\"},\"percentage\":7},{\"id\":\"line_04_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_05_instant_yeast\",\"reference\":{\"ingredient_id\":\"instant_yeast\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_06_barley_malt_syrup\",\"reference\":{\"ingredient_id\":\"barley_malt_syrup\"},\"amount\":{\"quantity\":1,\"unit_id\":\"gram\"},\"percentage\":1}]}],\"equipment_ids\":[\"sheet_pan\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Preheat baking steel 45 min, 500 °F.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Combine dry.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Combine liquid.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Mix until well combined.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Add fat.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Intensive mix.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Flatten into oiled 1/2 sheet pan.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Allow proof ≈1 hr, 80 °F.\",\"component_ids\":[\"main\"]},{\"id\":\"step_09\",\"order\":9,\"instruction\":\"Stripple dough halfway through proof.\",\"component_ids\":[\"main\"]},{\"id\":\"step_10\",\"order\":10,\"instruction\":\"Stripple once more at the end of proof.\",\"component_ids\":[\"main\"]},{\"id\":\"step_11\",\"order\":11,\"instruction\":\"Bake 12 min at 500 °F.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "sheet_pan" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 830, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 540, + "unit_id": "gram", + "percentage": 65.06, + "basis_member": 0, + "optional": 0, + "notes": "110ºF/43ºC", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_olive_oil", + "position": 3, + "ingredient_id": "olive_oil", + "subrecipe_id": null, + "quantity": 110, + "unit_id": "gram", + "percentage": 13.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 2.41, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_yeast_fresh", + "position": 5, + "ingredient_id": "yeast_fresh", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 1.81, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, combine all of the ingredients and mix on low speed for 2 minutes.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Continue to mix on medium speed for 3-5 minutes, or until gluten is developed.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Pre-shape into a round and place on an oiled parchment-lined half sheet pan. Rub the top of the dough with olive oil. Cover with plastic wrap and proof until doubled in volume.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stretch the dough carefully to fit an entire half sheet pan, being careful not to over-deflate.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Dimple the dough and top with olive oil and desired toppings. Proof for 20-30 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 400°F (204°C) for 10-12 minutes, or until the internal temperature is between 200-210°F (93-99°C).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "fougasse", + "schema_version": 2, + "save_version": 6, + "title": "Fougasse", + "summary": "Yield: six 290 g (10.2 oz) loaves", + "categories_json": "[\"breads\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breads\",\"classic\"]", + "yield_quantity": 1760, + "yield_unit_id": "gram", + "yield_servings": 6, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: six 290 g (10.2 oz) loaves\",\"Try adding herbs, herb oils, olives, sun dried tomatoes, or cheese to the dough as desired.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_milk_whole", + "position": 2, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 30, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_water", + "position": 3, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 30, + "basis_member": 0, + "optional": 0, + "notes": "110°F/43°C", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_olive_oil", + "position": 4, + "ingredient_id": "olive_oil", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 10, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_yeast_fresh", + "position": 5, + "ingredient_id": "yeast_fresh", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": 2.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": 2.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix the first 5 ingredients on low speed for 2 minutes to hydrate.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Switch to a hook attachment and add the salt and sugar. Mix on medium speed for 6-8 minutes, or until gluten is developed.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Place the dough in an oiled bowl and bulk proof for 2 hours.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Divide into 290 g (10.2 oz) pieces and pre-shape into balls. Cover and bench rest for 15 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Pat the dough into oblong rectangles approximately ¼-inch thick.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "With a bench scraper, cut 1 line through the center of the dough, followed by 3 lines on both sides of the center cut at about a 30º angle to create an \"ear of wheat\" pattern.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Gently lift and stretch the dough onto an oiled sheet pan so the cuts open up about 1½-inches. The pattern can be adjusted once the bread is on the sheet pan.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Proof until doubled in size.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Gently brush the tops with olive oil and garnish with f leur de sel and fresh ground pepper.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Bake at 400°F (204ºC) until golden brown and hollow sounding when tapped.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_11", + "position": 11, + "instruction": "Lightly brush the tops of each fougasse with additional olive oil while still hot from the oven.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "four_spice_syrup", + "schema_version": 2, + "save_version": 6, + "title": "Four Spice Syrup", + "summary": null, + "categories_json": "[\"sauces_liquids\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sauces_liquids\",\"classic\"]", + "yield_quantity": 1000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_honey", + "position": 1, + "ingredient_id": "honey", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_brown_sugar", + "position": 2, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_orange_juice", + "position": 3, + "ingredient_id": "orange_juice", + "subrecipe_id": null, + "quantity": 245, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_passion_fruit_juice", + "position": 4, + "ingredient_id": "passion_fruit_juice", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_fresh_ginger", + "position": 5, + "ingredient_id": "fresh_ginger", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "peeled & grated", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_cinnamon_sticks", + "position": 6, + "ingredient_id": "cinnamon_sticks", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_vanilla_bean", + "position": 7, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "split & scraped (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_whole_nutmeg", + "position": 8, + "ingredient_id": "whole_nutmeg", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "crushed (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, whisk all of the ingredients together and bring to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Lower to a simmer and reduce by ⅓, or until desired consistency is reached.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Strain through a fine-mesh strainer and chill.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "frangipane_sheet_cake", + "schema_version": 2, + "save_version": 6, + "title": "Frangipane Sheet Cake", + "summary": "Yield: one full sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 1660, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one full sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_almond_paste", + "position": 1, + "ingredient_id": "almond_paste", + "subrecipe_id": null, + "quantity": 360, + "unit_id": "gram", + "percentage": 200, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 360, + "unit_id": "gram", + "percentage": 200, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_butter", + "position": 3, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 360, + "unit_id": "gram", + "percentage": 200, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 222.22, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vanilla_extract", + "position": 5, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 1.39, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_flour_cake", + "position": 6, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 180, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 1.39, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix the almond paste and sugar until crumbly.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the butter and then cream until light and smooth, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the eggs one at a time, followed by the extract, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the sifted flour and salt and mix just until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 350°F (177°C) until firm to the touch and a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "french_buttercream", + "schema_version": 2, + "save_version": 6, + "title": "French Buttercream", + "summary": null, + "categories_json": "[\"frostings_glazes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frostings_glazes\",\"classic\"]", + "yield_quantity": 1518, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sugar", + "position": 1, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 175, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_yolk", + "position": 3, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 160, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_butter", + "position": 5, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 908, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, combine the sugar and water.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Using a wet pastry brush, clean all of the sugar crystals from the sides of the pan to prevent crystallization.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Place the saucepan over medium-high heat and cook to soft-ball stage, 235-240°F (113-116°C).", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "thermometer" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Meanwhile, in a mixer fitted with a whisk attachment, whisk the egg yolks and whole egg until light and thick.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "As soon as the syrup reaches soft-ball stage, slowly pour the hot syrup down the sides of the bowl into the whipped eggs with the mixer running. Do not let the syrup hit the whisk attachment.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Whisk until the pâte a bombe is cool.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Incrementally add the softened butter and salt into the pâte a bombe, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Flavor as desired.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "fresh_banana_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Fresh Banana Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 2150, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 750, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_bananas", + "position": 4, + "ingredient_id": "bananas", + "subrecipe_id": null, + "quantity": 750, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ripe", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_dark_rum", + "position": 5, + "ingredient_id": "dark_rum", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_lime_juice", + "position": 6, + "ingredient_id": "lime_juice", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_vanilla_bean", + "position": 7, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "seeds", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_egg_whites", + "position": 8, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_sugar", + "position": 9, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a blender, puree the bananas, rum, juice, and vanilla bean seeds until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make an Italian meringue with the sugar and egg whites; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Melt the bloomed and drained gelatin and whisk it into the puree until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold ½ of the puree into the meringue. Fold the other ½ into the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Fold the two mixtures together.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "fresh_blueberry_pie_filling", + "schema_version": 2, + "save_version": 6, + "title": "Fresh Blueberry Pie Filling", + "summary": "Yield: one 9-inch pie", + "categories_json": "[\"tart_pie_fillings\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"tart_pie_fillings\",\"classic\"]", + "yield_quantity": 953, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one 9-inch pie\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_blueberries", + "position": 1, + "ingredient_id": "blueberries", + "subrecipe_id": null, + "quantity": 750, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_lemon_juice", + "position": 3, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 37, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_lemon_zest", + "position": 4, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vanilla_bean", + "position": 5, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "seeds (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_black_pepper", + "position": 7, + "ingredient_id": "black_pepper", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "freshly ground (⅛ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_instant_tapioca", + "position": 8, + "ingredient_id": "instant_tapioca", + "subrecipe_id": null, + "quantity": 16, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Mix all of the ingredients in a bowl. Allow the blueberries to macerate at room temperature for 30 minutes.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Fill a 9-inch pie crust with the blueberry pie filling.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Cover with the top crust and seal the edges. Cut several slits in the top crust.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Lightly cover the pie with plastic wrap and refrigerate for 30-60 minutes before baking.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 375°F (191°C) until golden brown.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "fried_rice", + "schema_version": 2, + "save_version": 1, + "title": "Fried Rice", + "summary": null, + "categories_json": "[\"side\"]", + "tags_json": "[\"rice\",\"chinese\"]", + "yield_quantity": 309.93, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"fried_rice\",\"title\":\"Fried Rice\",\"categories\":[\"side\"],\"tags\":[\"rice\",\"chinese\"],\"yield\":{\"amount\":{\"quantity\":309.93,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_rice_cooked\",\"reference\":{\"ingredient_id\":\"rice_cooked\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_vegetables_mixed\",\"reference\":{\"ingredient_id\":\"vegetables_mixed\"},\"amount\":{\"quantity\":65,\"unit_id\":\"gram\"},\"percentage\":65},{\"id\":\"line_03_egg_whole\",\"reference\":{\"ingredient_id\":\"egg_whole\"},\"amount\":{\"quantity\":50,\"unit_id\":\"gram\"},\"percentage\":50},{\"id\":\"line_04_bacon\",\"reference\":{\"ingredient_id\":\"bacon\"},\"amount\":{\"quantity\":40,\"unit_id\":\"gram\"},\"percentage\":40},{\"id\":\"line_05_onion\",\"reference\":{\"ingredient_id\":\"onion_yellow\"},\"amount\":{\"quantity\":20,\"unit_id\":\"gram\"},\"percentage\":20},{\"id\":\"line_06_green_onion\",\"reference\":{\"ingredient_id\":\"green_onion\"},\"amount\":{\"quantity\":15,\"unit_id\":\"gram\"},\"percentage\":15},{\"id\":\"line_07_oyster_sauce\",\"reference\":{\"ingredient_id\":\"oyster_sauce\"},\"amount\":{\"quantity\":6,\"unit_id\":\"gram\"},\"percentage\":6},{\"id\":\"line_08_shaoxing_wine\",\"reference\":{\"ingredient_id\":\"shaoxing_wine\"},\"amount\":{\"quantity\":5,\"unit_id\":\"gram\"},\"percentage\":5},{\"id\":\"line_09_soy_sauce_light\",\"reference\":{\"ingredient_id\":\"soy_sauce_light\"},\"amount\":{\"quantity\":5,\"unit_id\":\"gram\"},\"percentage\":5},{\"id\":\"line_10_sesame_oil\",\"reference\":{\"ingredient_id\":\"sesame_oil\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_11_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1.1,\"unit_id\":\"gram\"},\"percentage\":1.1},{\"id\":\"line_12_garlic_dehydrated_minced\",\"reference\":{\"ingredient_id\":\"garlic_dehydrated_minced\"},\"amount\":{\"quantity\":0.75,\"unit_id\":\"gram\"},\"percentage\":0.75},{\"id\":\"line_13_white_pepper\",\"reference\":{\"ingredient_id\":\"white_pepper\"},\"amount\":{\"quantity\":0.08,\"unit_id\":\"gram\"},\"percentage\":0.08}]}],\"equipment_ids\":[\"skillet\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Heat 1½ tbsp oil (wok) or 2 tbsp oil (skillet) over high heat until smoking.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Add onion, garlic, bacon; cook ≈1½ min until bacon light golden.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Add frozen vegetables; cook ≈2 min until thawed and moisture evaporates.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Add rice and sauce; cook ≈1½ min until liquid evaporates.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Push rice aside; add ½ tbsp oil to empty space; add egg; scramble fully.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Add green onion; mix egg into rice; remove from heat; serve immediately.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "skillet" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_rice_cooked", + "position": 1, + "ingredient_id": "rice_cooked", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_vegetables_mixed", + "position": 2, + "ingredient_id": "vegetables_mixed", + "subrecipe_id": null, + "quantity": 65, + "unit_id": "gram", + "percentage": 65, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_whole", + "position": 3, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_bacon", + "position": 4, + "ingredient_id": "bacon", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 40, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_onion", + "position": 5, + "ingredient_id": "onion_yellow", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 20, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_green_onion", + "position": 6, + "ingredient_id": "green_onion", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 15, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_oyster_sauce", + "position": 7, + "ingredient_id": "oyster_sauce", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_shaoxing_wine", + "position": 8, + "ingredient_id": "shaoxing_wine", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_soy_sauce_light", + "position": 9, + "ingredient_id": "soy_sauce_light", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_sesame_oil", + "position": 10, + "ingredient_id": "sesame_oil", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_salt", + "position": 11, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.1, + "unit_id": "gram", + "percentage": 1.1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_garlic_dehydrated_minced", + "position": 12, + "ingredient_id": "garlic_dehydrated_minced", + "subrecipe_id": null, + "quantity": 0.75, + "unit_id": "gram", + "percentage": 0.75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_white_pepper", + "position": 13, + "ingredient_id": "white_pepper", + "subrecipe_id": null, + "quantity": 0.08, + "unit_id": "gram", + "percentage": 0.08, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Heat 1½ tbsp oil (wok) or 2 tbsp oil (skillet) over high heat until smoking.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Add onion, garlic, bacon; cook ≈1½ min until bacon light golden.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Add frozen vegetables; cook ≈2 min until thawed and moisture evaporates.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Add rice and sauce; cook ≈1½ min until liquid evaporates.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Push rice aside; add ½ tbsp oil to empty space; add egg; scramble fully.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Add green onion; mix egg into rice; remove from heat; serve immediately.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "fromage_blanc_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Fromage Blanc Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 1385, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 16, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_goat_cheese", + "position": 4, + "ingredient_id": "goat_cheese", + "subrecipe_id": null, + "quantity": 12, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_whole_fat_yogurt", + "position": 5, + "ingredient_id": "whole_fat_yogurt", + "subrecipe_id": null, + "quantity": 410, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sour_cream", + "position": 6, + "ingredient_id": "sour_cream", + "subrecipe_id": null, + "quantity": 138, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_fromage_blanc", + "position": 7, + "ingredient_id": "fromage_blanc", + "subrecipe_id": null, + "quantity": 70, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_lime", + "position": 8, + "ingredient_id": "lime", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "juice & zest", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_egg_whites", + "position": 9, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_sugar", + "position": 10, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 195, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Pass the goat cheese through a tamis.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "In a large bowl, whisk the cheeses, yogurt, sour cream, juice, and zest until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Melt the bloomed and drained gelatin and whisk into the yogurt mixture until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Make an Italian meringue with the sugar and egg whites; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Fold the meringue into the yogurt mixture, followed by the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "fromage_blanc_sorbet", + "schema_version": 2, + "save_version": 6, + "title": "Fromage Blanc Sorbet", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 322, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 272, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sorbet_stabilizer", + "position": 3, + "ingredient_id": "sorbet_stabilizer", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_invert_sugar", + "position": 4, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 35, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_fromage_blanc", + "position": 5, + "ingredient_id": "fromage_blanc", + "subrecipe_id": null, + "quantity": 368, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sour_cream", + "position": 6, + "ingredient_id": "sour_cream", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_yogurt", + "position": 7, + "ingredient_id": "yogurt", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_lemon_juice", + "position": 8, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_lime_juice", + "position": 9, + "ingredient_id": "lime_juice", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_lime_zest", + "position": 10, + "ingredient_id": "lime_zest", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, heat the water until warm, 105°F (40°C); whisk in the granulated sugar that has been blended with the stabilizer, followed by the invert sugar.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "saucepan", + "thermometer", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Stir with a whisk and heat to 185°F (85°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Chill immediately. Once cool, blend in the fromage blanc, sour cream, yogurt, juices, and zest with an immersion blender until smooth and allow to mature for 6 to 12 hours.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Blend with an immersion blender before spinning.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "fruit_bavarian_cream", + "schema_version": 2, + "save_version": 6, + "title": "Fruit Bavarian Cream", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 1270, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"The quantity of sugar in this base recipe may need to be adjusted depending upon the fruit puree used.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 12, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_fruit_puree", + "position": 4, + "ingredient_id": "fruit_puree", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "divided", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks; set aside in the refrigerator.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a saucepan, bring ½ of the puree and sugar to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Off the heat, add the bloomed and drained gelatin to the hot puree mixture; whisk to dissolve. Stir the other ½ of the cold puree into the hot puree.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Strain through a fine-mesh strainer and cool to about 65°F (18°C), or until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the whipped cream into the cooled puree.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "fruit_cake", + "schema_version": 2, + "save_version": 6, + "title": "Fruit Cake", + "summary": "Yield: two 9-inch loaf pans", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 3075, + "yield_unit_id": "gram", + "yield_servings": 2, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: two 9-inch loaf pans\",\"Dredge the dried fruits and nuts with 3 tablespoons of the dry ingredients to help keep them suspended throughout the batter.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 450, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 88.89, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_honey", + "position": 3, + "ingredient_id": "honey", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 11.11, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_lemon_zest", + "position": 4, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": 0.22, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_orange_zest", + "position": 5, + "ingredient_id": "orange_zest", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": 0.22, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whole", + "position": 6, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 66.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_yolk", + "position": 7, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 13.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_vanilla_extract", + "position": 8, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 2.22, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_flour_bread", + "position": 9, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 450, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_salt", + "position": 10, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.11, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_cinnamon", + "position": 11, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.56, + "basis_member": 0, + "optional": 0, + "notes": "ground (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_nutmeg", + "position": 12, + "ingredient_id": "nutmeg", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 0.28, + "basis_member": 0, + "optional": 0, + "notes": "ground (¼ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_dried_fruit", + "position": 13, + "ingredient_id": "dried_fruit", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": 222.22, + "basis_member": 0, + "optional": 0, + "notes": "macerated in brandy, then drained & patted dry", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_14_mixed_nuts", + "position": 14, + "ingredient_id": "mixed_nuts", + "subrecipe_id": null, + "quantity": 350, + "unit_id": "gram", + "percentage": 77.78, + "basis_member": 0, + "optional": 0, + "notes": "toasted & chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter, sugar, honey, and zests.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the whole eggs and yolks one at a time, followed by the extract, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the sifted dry ingredients and mix just until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the macerated dried fruit and nuts and mix just to incorporate.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 325°F (163°C) until a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Soak with simple syrup spiked with brandy while still hot from the oven.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Allow the cake to cool in the pan just until warm before unmolding.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "fruit_creme_mousseline", + "schema_version": 2, + "save_version": 6, + "title": "Fruit Crème Mousseline", + "summary": null, + "categories_json": "[\"frostings_glazes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frostings_glazes\",\"classic\"]", + "yield_quantity": 2054, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"The quantity of sugar may need to be adjusted depending on the kind of fruit used.\",\"Also see the Chef's Notes in the Basic Crème Mousseline recipe on page 179.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_fruit_puree", + "position": 1, + "ingredient_id": "fruit_puree", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_whole", + "position": 3, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_cornstarch", + "position": 6, + "ingredient_id": "cornstarch", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_butter", + "position": 7, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cubed", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the puree and first weight of sugar to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the whole eggs, yolks, second weight of sugar, and cornstarch in a bowl until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "mixing_bowl", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "When the puree comes to a boil, temper the egg mixture.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the tempered egg mixture back to the pan with the hot puree and bring the mixture to a boil, whisking continuously for 2 minutes.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "In a mixer fitted with a paddle attachment, beat the hot pastry cream until slightly warm, about 110ºF (43ºC).", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "When the pastry cream is slightly warm, add the butter in several additions, beating until completely incorporated and the mixture is light and fluffy.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "fruit_nut_granola", + "schema_version": 2, + "save_version": 6, + "title": "Fruit & Nut Granola", + "summary": null, + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breakfast\",\"classic\"]", + "yield_quantity": 2682, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 230, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_brown_sugar", + "position": 2, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 160, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_honey", + "position": 3, + "ingredient_id": "honey", + "subrecipe_id": null, + "quantity": 170, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_vanilla_extract", + "position": 4, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_cinnamon", + "position": 5, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_rolled_oats", + "position": 7, + "ingredient_id": "rolled_oats", + "subrecipe_id": null, + "quantity": 680, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_unsweetened_coconut", + "position": 8, + "ingredient_id": "unsweetened_coconut", + "subrecipe_id": null, + "quantity": 170, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "shredded", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_raw_cashews", + "position": 9, + "ingredient_id": "raw_cashews", + "subrecipe_id": null, + "quantity": 170, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_pecan", + "position": 10, + "ingredient_id": "pecan", + "subrecipe_id": null, + "quantity": 170, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_raw_pistachios", + "position": 11, + "ingredient_id": "raw_pistachios", + "subrecipe_id": null, + "quantity": 170, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_slivered_almonds", + "position": 12, + "ingredient_id": "slivered_almonds", + "subrecipe_id": null, + "quantity": 170, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_dried_fruits", + "position": 13, + "ingredient_id": "dried_fruits", + "subrecipe_id": null, + "quantity": 570, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "diced", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, combine the butter, sugar, honey, extract, cinnamon, and salt. Bring to a simmer, stirring until the sugar is dissolved. Let cool slightly.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a large bowl, combine the oats, coconut, and nuts. Add the sugar mixture and stir to coat.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Spread the granola onto parchment-lined sheet pans.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Bake at 275°F (135°C) until golden, stirring occasionally. Combine with the dried fruit.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Store in a airtight container for up to 1 month.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "fruit_tuiles", + "schema_version": 2, + "save_version": 6, + "title": "Fruit Tuiles", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1290, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Food coloring may be added to the batter as desired depending upon the fruit puree used.\",\"It is best to bake the tuiles at a lower temperature to preserve the color.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": 160, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_confectioners_sugar", + "position": 2, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": 400, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_fruit_puree", + "position": 3, + "ingredient_id": "fruit_puree", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 200, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_flour_all_purpose", + "position": 4, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 0.83, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter and sugar.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Alternately add the puree and sifted dry ingredients, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Chill before use.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Using a template, spread thinly on a silicone baking mat.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 300°F (149°C).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Shape as desired and store in airtight containers.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "ganache", + "schema_version": 2, + "save_version": 6, + "title": "Ganache", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 3365, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 1785, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_valrhona_ilanka", + "position": 2, + "ingredient_id": "valrhona_ilanka", + "subrecipe_id": null, + "quantity": 1580, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "63%", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the cream to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Pour the hot cream over the chocolate. Allow to stand for 5 minutes, then emulsify until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Make an amber caramel with the sugar and water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Whisk the butter and vanilla bean seeds into the caramel until emulsified.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Stir the puffed rice into the caramel until evenly coated. Evenly spread the caramelized puffed rice onto parchment paper to avoid clumping.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Allow to cool, then coarsely chop.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "ganache_p415", + "schema_version": 2, + "save_version": 6, + "title": "Ganache", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1090, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sugar", + "position": 1, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_butter", + "position": 3, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_vanilla_bean", + "position": 4, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "seeds", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_puffed_rice", + "position": 5, + "ingredient_id": "puffed_rice", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "unsweetened", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the cream to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Pour the hot cream over the chocolate. Allow to stand for 5 minutes, then emulsify until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Make an amber caramel with the sugar and water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Whisk the butter and vanilla bean seeds into the caramel until emulsified.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Stir the puffed rice into the caramel until evenly coated. Evenly spread the caramelized puffed rice onto parchment paper to avoid clumping.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Allow to cool, then coarsely chop.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "general_tso_sauce", + "schema_version": 2, + "save_version": 1, + "title": "General Tso's Sauce", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"chinese\"]", + "yield_quantity": 384, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"general_tso_sauce\",\"title\":\"General Tso's Sauce\",\"categories\":[\"sauce\"],\"tags\":[\"chinese\"],\"yield\":{\"amount\":{\"quantity\":384,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_brown_sugar\",\"reference\":{\"ingredient_id\":\"brown_sugar\"},\"amount\":{\"quantity\":64,\"unit_id\":\"gram\"},\"percentage\":64},{\"id\":\"line_03_soy_sauce_light_low_sodium\",\"reference\":{\"ingredient_id\":\"soy_sauce_light_low_sodium\"},\"amount\":{\"quantity\":50,\"unit_id\":\"gram\"},\"percentage\":50},{\"id\":\"line_04_shaoxing_wine\",\"reference\":{\"ingredient_id\":\"shaoxing_wine\"},\"amount\":{\"quantity\":25,\"unit_id\":\"gram\"},\"percentage\":25},{\"id\":\"line_05_vinegar_5\",\"reference\":{\"ingredient_id\":\"vinegar_5\"},\"amount\":{\"quantity\":25,\"unit_id\":\"gram\"},\"percentage\":25},{\"id\":\"line_06_vinegar_rice\",\"reference\":{\"ingredient_id\":\"vinegar_rice\"},\"amount\":{\"quantity\":25,\"unit_id\":\"gram\"},\"percentage\":25},{\"id\":\"line_07_garlic_minced\",\"reference\":{\"ingredient_id\":\"garlic\"},\"amount\":{\"quantity\":20,\"unit_id\":\"gram\"},\"percentage\":20,\"prep\":[{\"action_id\":\"mince\"}]},{\"id\":\"line_08_ginger_minced\",\"reference\":{\"ingredient_id\":\"ginger\"},\"amount\":{\"quantity\":20,\"unit_id\":\"gram\"},\"percentage\":20,\"prep\":[{\"action_id\":\"mince\"}]},{\"id\":\"line_09_soy_sauce_dark\",\"reference\":{\"ingredient_id\":\"soy_sauce_dark\"},\"amount\":{\"quantity\":17,\"unit_id\":\"gram\"},\"percentage\":17},{\"id\":\"line_10_cornstarch\",\"reference\":{\"ingredient_id\":\"cornstarch\"},\"amount\":{\"quantity\":15,\"unit_id\":\"gram\"},\"percentage\":15},{\"id\":\"line_11_scallion\",\"reference\":{\"ingredient_id\":\"green_onion\"},\"amount\":{\"quantity\":15,\"unit_id\":\"gram\"},\"percentage\":15},{\"id\":\"line_12_sesame_oil\",\"reference\":{\"ingredient_id\":\"sesame_oil\"},\"amount\":{\"quantity\":5,\"unit_id\":\"gram\"},\"percentage\":5},{\"id\":\"line_13_chicken_base\",\"reference\":{\"ingredient_id\":\"chicken_base\"},\"amount\":{\"quantity\":3,\"unit_id\":\"gram\"},\"percentage\":3}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Saute garlic, ginger.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Combine all in sauce pot.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Bring to boil, stirring vigorously until thickened slightly.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_brown_sugar", + "position": 2, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 64, + "unit_id": "gram", + "percentage": 64, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_soy_sauce_light_low_sodium", + "position": 3, + "ingredient_id": "soy_sauce_light_low_sodium", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_shaoxing_wine", + "position": 4, + "ingredient_id": "shaoxing_wine", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": 25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vinegar_5", + "position": 5, + "ingredient_id": "vinegar_5", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": 25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_vinegar_rice", + "position": 6, + "ingredient_id": "vinegar_rice", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": 25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_garlic_minced", + "position": 7, + "ingredient_id": "garlic", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 20, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [ + { + "position": 1, + "action_id": "mince", + "yield_factor": null, + "notes": null + } + ] + }, + { + "component_id": "main", + "id": "line_08_ginger_minced", + "position": 8, + "ingredient_id": "ginger", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 20, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [ + { + "position": 1, + "action_id": "mince", + "yield_factor": null, + "notes": null + } + ] + }, + { + "component_id": "main", + "id": "line_09_soy_sauce_dark", + "position": 9, + "ingredient_id": "soy_sauce_dark", + "subrecipe_id": null, + "quantity": 17, + "unit_id": "gram", + "percentage": 17, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_cornstarch", + "position": 10, + "ingredient_id": "cornstarch", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 15, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_scallion", + "position": 11, + "ingredient_id": "green_onion", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 15, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_sesame_oil", + "position": 12, + "ingredient_id": "sesame_oil", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_chicken_base", + "position": 13, + "ingredient_id": "chicken_base", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Saute garlic, ginger.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Combine all in sauce pot.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Bring to boil, stirring vigorously until thickened slightly.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "genoise_sheet_cake", + "schema_version": 2, + "save_version": 6, + "title": "Genoise Sheet Cake", + "summary": "Yield: one full sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 1285, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one full sheet pan\",\"Approximately 1 kilo (35.3 oz) of batter will fit a 9-inch cake pan.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_egg_whole", + "position": 1, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": 200, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 270, + "unit_id": "gram", + "percentage": 90, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_invert_sugar", + "position": 3, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": 10, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_flour_cake", + "position": 4, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.83, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_butter", + "position": 6, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 85, + "unit_id": "gram", + "percentage": 28.33, + "basis_member": 0, + "optional": 0, + "notes": "melted", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Whisk the eggs and sugars over a water bath until warm, 110°F (43°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a whisk attachment, whisk the egg mixture until a thick ribbon is achieved.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Sift the flour and salt together and gently fold into the egg foam until streaky.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Sacrifice a little of the egg foam mixture into the melted but cooled butter and gently fold that into the rest of the batter until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 350°F (177°C) until the cake springs back to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "genoise_sheet_cake_with_coconut", + "schema_version": 2, + "save_version": 6, + "title": "Genoise Sheet Cake with Coconut", + "summary": "Yield: one full sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 1462, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one full sheet pan\",\"Approximately 1 kilo (35.3 oz) of batter will fit a 9-inch cake pan.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_egg_whole", + "position": 1, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 450, + "unit_id": "gram", + "percentage": 150, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 375, + "unit_id": "gram", + "percentage": 125, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_flour_cake", + "position": 3, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.83, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_desiccated_coconut", + "position": 5, + "ingredient_id": "desiccated_coconut", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_butter", + "position": 6, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 187, + "unit_id": "gram", + "percentage": 62.33, + "basis_member": 0, + "optional": 0, + "notes": "melted", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Whisk the eggs and sugar over a water bath until warm, 110°F (43°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a whisk attachment, whisk the egg mixture until a thick ribbon is achieved.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Sift the flour and salt, then combine with the coconut. Gently fold the dry ingredients into the egg foam until streaky.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Sacrifice a little of the egg foam mixture into the melted but cooled butter and gently fold that into the rest of the batter until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 350°F (177°C) until the cake springs back to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "genoise_sheet_cake_with_nuts", + "schema_version": 2, + "save_version": 6, + "title": "Genoise Sheet Cake with Nuts", + "summary": "Yield: one full sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 1575, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one full sheet pan\",\"Approximately 1 kilo (35.3 oz) of batter will fit a 9-inch cake pan.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_egg_whole", + "position": 1, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": 222.22, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 225, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_invert_sugar", + "position": 3, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 22.22, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_flour_cake", + "position": 4, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 225, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_cornstarch", + "position": 5, + "ingredient_id": "cornstarch", + "subrecipe_id": null, + "quantity": 225, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 1.11, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_nuts", + "position": 7, + "ingredient_id": "nuts", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 111.11, + "basis_member": 0, + "optional": 0, + "notes": "toasted & finely chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_butter", + "position": 8, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 44.44, + "basis_member": 0, + "optional": 0, + "notes": "melted", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Whisk the eggs and sugars over a water bath until warm, 110°F (43°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a whisk attachment, whisk the egg mixture until a thick ribbon is achieved.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Sift the flour, cornstarch, and salt together, then combine with the chopped nuts. Gently fold the dry ingredients into the egg foam until streaky.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Sacrifice a little of the egg foam mixture into the melted but cooled butter, and gently fold that into the rest of the batter until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 350°F (177°C) until the cake springs back to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "german_chocolate_frosting", + "schema_version": 2, + "save_version": 6, + "title": "German Chocolate Frosting", + "summary": "Yield: three 9-inch cakes", + "categories_json": "[\"frostings_glazes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frostings_glazes\",\"classic\"]", + "yield_quantity": 2400, + "yield_unit_id": "gram", + "yield_servings": 3, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: three 9-inch cakes\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_evaporated_milk", + "position": 1, + "ingredient_id": "evaporated_milk", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_brown_sugar", + "position": 2, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 245, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_butter", + "position": 4, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 355, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_yolk", + "position": 5, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_pecan", + "position": 6, + "ingredient_id": "pecan", + "subrecipe_id": null, + "quantity": 340, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "toasted & chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_flaked_coconut", + "position": 7, + "ingredient_id": "flaked_coconut", + "subrecipe_id": null, + "quantity": 310, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_vanilla_extract", + "position": 8, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_dark_rum", + "position": 9, + "ingredient_id": "dark_rum", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_salt", + "position": 10, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Mix the evaporated milk, sugars, butter and egg yolks in a saucepan. Cook over medium-low heat until thickened, stirring constantly.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Stir in the pecans, coconut, extract, rum and salt.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Cool until thick enough to spread.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "gianduja", + "schema_version": 2, + "save_version": 6, + "title": "Gianduja", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1340, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gianduja", + "position": 1, + "ingredient_id": "gianduja", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 940, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 qt", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the gianduja. In a saucepan, bring the cream to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the melted chocolate and hot cream together until homogenous. Allow to stand at room temperature for 1 hour, then strain through a fine-mesh strainer and chill.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a saucepan, bring the cream and vanilla bean to a scald.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make a deep amber caramel with the sugar. Whisk in the butter, followed by the cream in several additions until smooth. Add salt to taste.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Strain through a fine-mesh strainer and chill.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "gianduja_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Gianduja Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 1658, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gianduja", + "position": 1, + "ingredient_id": "gianduja", + "subrecipe_id": null, + "quantity": 405, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_gelatin_sheet", + "position": 2, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 8, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_water", + "position": 3, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_heavy_cream", + "position": 4, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 940, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 qt", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 35, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whole", + "position": 6, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_yolk", + "position": 7, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the chocolate and keep warm.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Whisk the sugar, whole eggs, yolks, and salt over a water bath until light and thick. Add the bloomed and drained gelatin and whip in a mixer fitted with a whisk attachment until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold the whipped cream into the warm gianduja, followed by the egg foam.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "gianduja_p205", + "schema_version": 2, + "save_version": 6, + "title": "Gianduja", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1260, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 940, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 qt", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_vanilla_bean", + "position": 2, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "split & scraped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_butter", + "position": 4, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the gianduja. In a saucepan, bring the cream to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the melted chocolate and hot cream together until homogenous. Allow to stand at room temperature for 1 hour, then strain through a fine-mesh strainer and chill.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a saucepan, bring the cream and vanilla bean to a scald.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make a deep amber caramel with the sugar. Whisk in the butter, followed by the cream in several additions until smooth. Add salt to taste.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Strain through a fine-mesh strainer and chill.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "ginger_molasses_cookie", + "schema_version": 2, + "save_version": 1, + "title": "Ginger Molasses Cookie", + "summary": null, + "categories_json": "[\"dessert\"]", + "tags_json": "[\"cookie\"]", + "yield_quantity": 257.38, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"ginger_molasses_cookie\",\"title\":\"Ginger Molasses Cookie\",\"categories\":[\"dessert\"],\"tags\":[\"cookie\"],\"yield\":{\"amount\":{\"quantity\":257.38,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_bread\",\"reference\":{\"ingredient_id\":\"flour_bread\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_brown_sugar\",\"reference\":{\"ingredient_id\":\"brown_sugar\"},\"amount\":{\"quantity\":71.32,\"unit_id\":\"gram\"},\"percentage\":71.32},{\"id\":\"line_03_butter\",\"reference\":{\"ingredient_id\":\"butter\"},\"amount\":{\"quantity\":44.67,\"unit_id\":\"gram\"},\"percentage\":44.67},{\"id\":\"line_04_molasses\",\"reference\":{\"ingredient_id\":\"molasses\"},\"amount\":{\"quantity\":26.65,\"unit_id\":\"gram\"},\"percentage\":26.65},{\"id\":\"line_05_egg_whole\",\"reference\":{\"ingredient_id\":\"egg_whole\"},\"amount\":{\"quantity\":7.84,\"unit_id\":\"gram\"},\"percentage\":7.84},{\"id\":\"line_06_baking_soda\",\"reference\":{\"ingredient_id\":\"baking_soda\"},\"amount\":{\"quantity\":2.51,\"unit_id\":\"gram\"},\"percentage\":2.51},{\"id\":\"line_07_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1.1,\"unit_id\":\"gram\"},\"percentage\":1.1},{\"id\":\"line_08_cinnamon\",\"reference\":{\"ingredient_id\":\"cinnamon\"},\"amount\":{\"quantity\":0.94,\"unit_id\":\"gram\"},\"percentage\":0.94},{\"id\":\"line_09_ginger\",\"reference\":{\"ingredient_id\":\"ginger_ground\"},\"amount\":{\"quantity\":0.94,\"unit_id\":\"gram\"},\"percentage\":0.94},{\"id\":\"line_10_cloves\",\"reference\":{\"ingredient_id\":\"cloves\"},\"amount\":{\"quantity\":0.63,\"unit_id\":\"gram\"},\"percentage\":0.63},{\"id\":\"line_11_nutmeg\",\"reference\":{\"ingredient_id\":\"nutmeg\"},\"amount\":{\"quantity\":0.47,\"unit_id\":\"gram\"},\"percentage\":0.47},{\"id\":\"line_12_allspice\",\"reference\":{\"ingredient_id\":\"allspice\"},\"amount\":{\"quantity\":0.31,\"unit_id\":\"gram\"},\"percentage\":0.31}]}],\"equipment_ids\":[\"oven\",\"sheet_pan\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Cream the butter and sugar until well combined.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Add the eggs and then the molasses.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Add the dry ingredients and mix until well incorporated.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Scale into 2 lb 3 oz (1000 g) pieces and roll into 17 in (43 cm) logs (sheet pan width).\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Wrap each log in parchment, and refrigerate until ready to bake.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Cut to the desired size [2 oz (50 g) to 4 oz (100 g)], place on parchment-lined sheet pans, and bake at 350 °F in a convection oven for 12 to 15 min.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "oven", + "sheet_pan" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_brown_sugar", + "position": 2, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 71.32, + "unit_id": "gram", + "percentage": 71.32, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_butter", + "position": 3, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 44.67, + "unit_id": "gram", + "percentage": 44.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_molasses", + "position": 4, + "ingredient_id": "molasses", + "subrecipe_id": null, + "quantity": 26.65, + "unit_id": "gram", + "percentage": 26.65, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_whole", + "position": 5, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 7.84, + "unit_id": "gram", + "percentage": 7.84, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_baking_soda", + "position": 6, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 2.51, + "unit_id": "gram", + "percentage": 2.51, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.1, + "unit_id": "gram", + "percentage": 1.1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_cinnamon", + "position": 8, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 0.94, + "unit_id": "gram", + "percentage": 0.94, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_ginger", + "position": 9, + "ingredient_id": "ginger_ground", + "subrecipe_id": null, + "quantity": 0.94, + "unit_id": "gram", + "percentage": 0.94, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_cloves", + "position": 10, + "ingredient_id": "cloves", + "subrecipe_id": null, + "quantity": 0.63, + "unit_id": "gram", + "percentage": 0.63, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_nutmeg", + "position": 11, + "ingredient_id": "nutmeg", + "subrecipe_id": null, + "quantity": 0.47, + "unit_id": "gram", + "percentage": 0.47, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_allspice", + "position": 12, + "ingredient_id": "allspice", + "subrecipe_id": null, + "quantity": 0.31, + "unit_id": "gram", + "percentage": 0.31, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Cream the butter and sugar until well combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Add the eggs and then the molasses.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Add the dry ingredients and mix until well incorporated.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Scale into 2 lb 3 oz (1000 g) pieces and roll into 17 in (43 cm) logs (sheet pan width).", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Wrap each log in parchment, and refrigerate until ready to bake.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Cut to the desired size [2 oz (50 g) to 4 oz (100 g)], place on parchment-lined sheet pans, and bake at 350 °F in a convection oven for 12 to 15 min.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "ginger_sake_sabayon", + "schema_version": 2, + "save_version": 6, + "title": "Ginger-Sake Sabayon", + "summary": null, + "categories_json": "[\"sauces_liquids\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sauces_liquids\",\"classic\"]", + "yield_quantity": 1310, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sake", + "position": 1, + "ingredient_id": "sake", + "subrecipe_id": null, + "quantity": 360, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_fresh_ginger", + "position": 2, + "ingredient_id": "fresh_ginger", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_yolk", + "position": 3, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 320, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lime_juice", + "position": 5, + "ingredient_id": "lime_juice", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_heavy_cream", + "position": 6, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 220, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Peel and slice the ginger into thin medallions. Infuse the medallions with the sake overnight in the refrigerator.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the egg yolks and sugar in a bowl until pale.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk the egg yolks and sugar mixture over a water bath, adding the juice and strained ginger infused sake a little at a time. Cook the sabayon over the water bath, whisking continuously, until thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Whisk the sabayon over an ice bath until cold.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Whip the cream to soft peaks and fold into the cooled sabayon.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "gingerbread_cookies", + "schema_version": 2, + "save_version": 6, + "title": "Gingerbread Cookies", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1400, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 215, + "unit_id": "gram", + "percentage": 35.95, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 215, + "unit_id": "gram", + "percentage": 35.95, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_light_corn_syrup", + "position": 3, + "ingredient_id": "light_corn_syrup", + "subrecipe_id": null, + "quantity": 255, + "unit_id": "gram", + "percentage": 42.64, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_milk_whole", + "position": 4, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": 15.05, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_flour_bread", + "position": 5, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 598, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_baking_soda", + "position": 6, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_cinnamon", + "position": 7, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 1.67, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_ginger", + "position": 8, + "ingredient_id": "ginger", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_cloves", + "position": 9, + "ingredient_id": "cloves", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan large enough to accommodate the entire recipe, heat the butter, sugar, corn syrup, and milk. Stir until a smooth paste forms.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the sifted dry ingredients and mix until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Wrap the dough in plastic wrap and refrigerate overnight.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Roll out small portions of dough very thinly (about 1", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Brush the cookies with egg wash before baking.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 350°F (177°C) for about 8-10 minutes.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "gingerbread_house_dough", + "schema_version": 2, + "save_version": 6, + "title": "Gingerbread House Dough", + "summary": null, + "categories_json": "[\"doughs\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"doughs\",\"classic\"]", + "yield_quantity": 1494, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"If wrapped very well, this dough can keep for several months in the refrigerator and even longer in the freezer.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_margarine", + "position": 1, + "ingredient_id": "margarine", + "subrecipe_id": null, + "quantity": 215, + "unit_id": "gram", + "percentage": 31.48, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 215, + "unit_id": "gram", + "percentage": 31.48, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_corn_syrup", + "position": 3, + "ingredient_id": "corn_syrup", + "subrecipe_id": null, + "quantity": 255, + "unit_id": "gram", + "percentage": 37.34, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_milk_whole", + "position": 4, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": 13.18, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_flour_bread", + "position": 5, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 683, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_baking_soda", + "position": 6, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 0.44, + "basis_member": 0, + "optional": 0, + "notes": "½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 0.44, + "basis_member": 0, + "optional": 0, + "notes": "½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_cinnamon", + "position": 8, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 12, + "unit_id": "gram", + "percentage": 1.76, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_cloves", + "position": 9, + "ingredient_id": "cloves", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 0.88, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_ginger", + "position": 10, + "ingredient_id": "ginger", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 0.88, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_cardamom", + "position": 11, + "ingredient_id": "cardamom", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 0.44, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_baking_soda", + "position": 12, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 0.44, + "basis_member": 0, + "optional": 0, + "notes": "¾ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, heat the margarine, sugar, corn syrup, and milk while stirring until it becomes a smooth paste. Allow the paste to cool just until warm.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Combine the dry ingredients into a bowl of a mixer fitted with a paddle attachment, add the warm paste and mix until a smooth, homogenous dough forms.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Wrap the dough in plastic wrap and refrigerate overnight before use.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "gluten_free_butter_almond_sheet_cake", + "schema_version": 2, + "save_version": 6, + "title": "Gluten-Free Butter-Almond Sheet Cake", + "summary": "Yield: one full sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 1415, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one full sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_egg_whites", + "position": 1, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 480, + "unit_id": "gram", + "percentage": 342.86, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": 85.71, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_cream_of_tartar", + "position": 3, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 2.14, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 280, + "unit_id": "gram", + "percentage": 200, + "basis_member": 0, + "optional": 0, + "notes": "whisked", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_rice_flour", + "position": 5, + "ingredient_id": "rice_flour", + "subrecipe_id": null, + "quantity": 140, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_almond_flour", + "position": 6, + "ingredient_id": "almond_flour", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 71.43, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_confectioners_sugar", + "position": 7, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 71.43, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 1.79, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_butter", + "position": 9, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 190, + "unit_id": "gram", + "percentage": 135.71, + "basis_member": 0, + "optional": 0, + "notes": "melted", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_almond_extract", + "position": 10, + "ingredient_id": "almond_extract", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 1.79, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_vanilla_extract", + "position": 11, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 1.79, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Make a stiff peak French meringue with the egg whites, granulated sugar, and cream of tartar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Fold the egg yolks into the meringue until streaky, followed by the sifted dry ingredients.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Sacrifice a small amount of batter into the melted butter and extract mixture, and fold that into the cake batter.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Bake at 350ºF (177ºC) until the cake springs back to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "gluten_free_chocolate_cupcakes", + "schema_version": 2, + "save_version": 6, + "title": "Gluten-Free Chocolate Cupcakes", + "summary": "Yield: twenty-four 3 oz cupcakes", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 1400, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: twenty-four 3 oz cupcakes\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_canned_black_beans", + "position": 1, + "ingredient_id": "canned_black_beans", + "subrecipe_id": null, + "quantity": 482, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "rinsed", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_egg_whole", + "position": 2, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_butter", + "position": 4, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "melted", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_cocoa_powder", + "position": 5, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_canola_oil", + "position": 6, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_vanilla_extract", + "position": 7, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_espresso_powder", + "position": 8, + "ingredient_id": "espresso_powder", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_baking_soda", + "position": 9, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_salt", + "position": 10, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_chocolate_dark", + "position": 11, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "70%", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Puree all of the ingredients in a blender- except for the chocolate - until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the chocolate and blend for an additional 15 seconds to break down into chips.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Bake at 350°F (177°C) until spongy to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "gluten_free_chocolate_sheet_cake", + "schema_version": 2, + "save_version": 6, + "title": "Gluten-Free Chocolate Sheet Cake", + "summary": "Yield: one full sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 1213, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one full sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_egg_whites", + "position": 1, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 390, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 438, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_cream_of_tartar", + "position": 3, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 260, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "whisked", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_cocoa_powder", + "position": 5, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Make a stiff peak French meringue with the egg whites, sugar, and cream of tartar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Fold the egg yolks into the meringue until streaky.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Sift the cocoa powder and salt over the meringue. Gently fold together until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Bake at 325ºF (163ºC) until the cake springs back to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "gluten_free_ham_cheese_buttermilk_biscuits", + "schema_version": 2, + "save_version": 6, + "title": "Gluten-Free Ham & Cheese Buttermilk Biscuits", + "summary": "Yield: twenty-two 57 g (2 oz) biscuits", + "categories_json": "[\"breads\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breads\",\"classic\"]", + "yield_quantity": 1300, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: twenty-two 57 g (2 oz) biscuits\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_white_rice_flour", + "position": 1, + "ingredient_id": "white_rice_flour", + "subrecipe_id": null, + "quantity": 420, + "unit_id": "gram", + "percentage": 85.71, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_potato_starch", + "position": 2, + "ingredient_id": "potato_starch", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 20.41, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_tapioca_flour", + "position": 3, + "ingredient_id": "tapioca_flour", + "subrecipe_id": null, + "quantity": 70, + "unit_id": "gram", + "percentage": 14.29, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_baking_powder", + "position": 4, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": 6.12, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_baking_soda", + "position": 5, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 2.04, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 2.04, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.02, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_xanthan_gum", + "position": 8, + "ingredient_id": "xanthan_gum", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 0.2, + "basis_member": 0, + "optional": 0, + "notes": "½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_gruy_re_cheese", + "position": 9, + "ingredient_id": "gruy_re_cheese", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": 16.33, + "basis_member": 0, + "optional": 0, + "notes": "grated", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_smoked_ham", + "position": 10, + "ingredient_id": "smoked_ham", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": 16.33, + "basis_member": 0, + "optional": 0, + "notes": "finely diced", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_fresh_chives", + "position": 11, + "ingredient_id": "fresh_chives", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 3.06, + "basis_member": 0, + "optional": 0, + "notes": "chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_egg_whole", + "position": 12, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 40.82, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_buttermilk", + "position": 13, + "ingredient_id": "buttermilk", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 30.61, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_14_canola_oil", + "position": 14, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 140, + "unit_id": "gram", + "percentage": 28.57, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Sift the dry ingredients and place in a bowl large enough to accommodate the entire recipe.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the cheese, ham, and chives to the dry ingredients.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk together the wet ingredients. Add to the dry ingredients and stir to combine.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Drop or scoop 57 g (2 oz) per biscuit onto parchment-lined sheet pans and flatten slightly.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 375°F (191°C) until the sides feel slightly firm and the tops and edges begin to brown.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Brush with melted butter while hot from the oven.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "goat_cheese_cheesecake", + "schema_version": 2, + "save_version": 6, + "title": "Goat Cheese Cheesecake", + "summary": "Yield: one 10-inch cake pan", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 2316, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one 10-inch cake pan\",\"For best results, use a high quality soft goat cheese.\",\"Use 200 g (7 oz) of graham cracker crumb mix on page 70 for one 10-inch cake pan.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_goat_cheese", + "position": 1, + "ingredient_id": "goat_cheese", + "subrecipe_id": null, + "quantity": 582, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_cream_cheese", + "position": 2, + "ingredient_id": "cream_cheese", + "subrecipe_id": null, + "quantity": 450, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 350, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_lemon_zest", + "position": 4, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vanilla_bean", + "position": 5, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "seeds (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whole", + "position": 6, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 350, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sour_cream", + "position": 7, + "ingredient_id": "sour_cream", + "subrecipe_id": null, + "quantity": 350, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_heavy_cream", + "position": 8, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 234, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix the goat cheese, cream cheese, sugar, zest, and vanilla bean seeds on medium speed until smooth and creamy, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "On medium speed, add the eggs in 3 additions, scraping down the bowl again as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the sour cream and heavy cream and mix until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Strain through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 300°F (149ºC) in a water bath.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "goat_milk_ice_cream", + "schema_version": 2, + "save_version": 6, + "title": "Goat Milk Ice Cream", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_goat_milk", + "position": 1, + "ingredient_id": "goat_milk", + "subrecipe_id": null, + "quantity": 850, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 260, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_milk_powder", + "position": 3, + "ingredient_id": "milk_powder", + "subrecipe_id": null, + "quantity": 65, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_dextrose", + "position": 4, + "ingredient_id": "dextrose", + "subrecipe_id": null, + "quantity": 205, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_lemon_zest", + "position": 6, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_invert_sugar", + "position": 7, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_sugar", + "position": 8, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_ice_cream_stabilizer", + "position": 9, + "ingredient_id": "ice_cream_stabilizer", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_salt", + "position": 10, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan large enough to accommodate the entire recipe, combine the milk and cream. With an immersion blender, blend in the milk powder and dextrose to dissolve.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Rub the zest with the first weight of granulated sugar until fragrant.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Combine the second weight of sugar with the stabilizer and salt.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Heat the milk mixture until warm, 105°F (40°C); whisk in the lemon zest sugar, invert sugar, and the second weight of sugar that has been blended with the stabilizer and salt.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "kitchen_scale", + "thermometer", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Stir with a whisk and heat to 185°F (85°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Chill immediately and allow to mature for 6 to 12 hours.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Blend with an immersion blender before spinning.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "graham_cracker_crust", + "schema_version": 2, + "save_version": 1, + "title": "Graham Cracker Crust", + "summary": null, + "categories_json": "[\"pastry\"]", + "tags_json": "[\"crust\"]", + "yield_quantity": 181.4, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"graham_cracker_crust\",\"title\":\"Graham Cracker Crust\",\"categories\":[\"pastry\"],\"tags\":[\"crust\"],\"yield\":{\"amount\":{\"quantity\":181.4,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_graham_cracker_crumbs\",\"reference\":{\"ingredient_id\":\"graham_cracker\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true,\"prep\":[{\"action_id\":\"crush\"}]},{\"id\":\"line_02_butter\",\"reference\":{\"ingredient_id\":\"butter\"},\"amount\":{\"quantity\":48.4,\"unit_id\":\"gram\"},\"percentage\":48.4},{\"id\":\"line_03_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":33,\"unit_id\":\"gram\"},\"percentage\":33}]}],\"equipment_ids\":[\"food_processor\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Mix graham cracker crumbs and sugar in food processor.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Stir in melted butter.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Mix until crumbs are well coated.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Press into bottom of cake pans.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "food_processor" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_graham_cracker_crumbs", + "position": 1, + "ingredient_id": "graham_cracker", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [ + { + "position": 1, + "action_id": "crush", + "yield_factor": null, + "notes": null + } + ] + }, + { + "component_id": "main", + "id": "line_02_butter", + "position": 2, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 48.4, + "unit_id": "gram", + "percentage": 48.4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 33, + "unit_id": "gram", + "percentage": 33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Mix graham cracker crumbs and sugar in food processor.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Stir in melted butter.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Mix until crumbs are well coated.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Press into bottom of cake pans.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "graham_cracker_pate_sable", + "schema_version": 2, + "save_version": 6, + "title": "Graham Cracker Pâte Sablé", + "summary": null, + "categories_json": "[\"doughs\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"doughs\",\"classic\"]", + "yield_quantity": 1200, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"This dough is good for tarts as well as cookies.\",\"The dough can be refrigerated for 3 days or frozen up to 2 months.\",\"For cookies, brush with egg wash and sprinkle with cinnamon sugar. Bake at 300°F/149°C until golden brown.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": 89.02, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_honey", + "position": 2, + "ingredient_id": "honey", + "subrecipe_id": null, + "quantity": 114, + "unit_id": "gram", + "percentage": 22.35, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_brown_sugar", + "position": 3, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 68, + "unit_id": "gram", + "percentage": 13.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 7.84, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vanilla_extract", + "position": 5, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 0.98, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_flour_whole_wheat", + "position": 6, + "ingredient_id": "flour_whole_wheat", + "subrecipe_id": null, + "quantity": 340, + "unit_id": "gram", + "percentage": 66.67, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_flour_all_purpose", + "position": 7, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 170, + "unit_id": "gram", + "percentage": 33.33, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 0.98, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_cinnamon", + "position": 9, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 0.59, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter, honey and light brown sugar.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the egg yolks one at a time, followed by the extract, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the sifted dry ingredients and mix just until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Wrap the dough in plastic wrap and refrigerate for a minimum of 1 hour, preferably overnight.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "grand_marnier_semifreddo", + "schema_version": 2, + "save_version": 6, + "title": "Grand Marnier Semifreddo", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 750, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_grand_marnier", + "position": 2, + "ingredient_id": "grand_marnier", + "subrecipe_id": null, + "quantity": 85, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_yolk", + "position": 3, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_vanilla_bean", + "position": 4, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "seeds", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_orange_zest", + "position": 5, + "ingredient_id": "orange_zest", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whites", + "position": 6, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 180, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_water", + "position": 8, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 85, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_glucose_syrup", + "position": 9, + "ingredient_id": "glucose_syrup", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Whip the cream to soft peaks; set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the Grand Marnier, egg yolks, vanilla bean seeds, and zest over a water bath until a thick ribbon is achieved.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk the sabayon over an ice bath until cold.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make an Italian meringue with the egg whites, sugar, water, and glucose; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold the whipped cream into the chilled sabayon.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Sacrifice some of the whipped cream mixture into the meringue, then fold the two together until homogenous.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "grand_marnier_souffle", + "schema_version": 2, + "save_version": 6, + "title": "Grand Marnier Soufflé", + "summary": "Yield: fifteen 5.5 oz soufflé ramekins", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 985, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: fifteen 5.5 oz soufflé ramekins\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_milk_whole", + "position": 1, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 625, + "unit_id": "gram", + "percentage": 625, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_yolk", + "position": 3, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 160, + "unit_id": "gram", + "percentage": 160, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_flour_all_purpose", + "position": 4, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 1.25, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Make pastry cream with the milk, sugar, egg yolks, flour, and salt.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the Grand Marnier and zest into the pastry cream base until smooth; set aside to cool until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Make a medium peak French meringue with the egg whites, sugar, and egg white powder.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Sacrifice a small amount of the meringue and whisk it into the pastry cream mixture to lighten. Fold in the rest of the meringue until homogenous.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fill the soufflé ramekins that have been buttered and sugared.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 375°F (191°C) until risen but still soft inside.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "grand_marnier_souffle_p108", + "schema_version": 2, + "save_version": 6, + "title": "Grand Marnier Soufflé", + "summary": "Yield: fifteen 5.5 oz soufflé ramekins", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 1890, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: fifteen 5.5 oz soufflé ramekins\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_pastry_cream_base", + "position": 1, + "ingredient_id": "pastry_cream_base", + "subrecipe_id": null, + "quantity": 985, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_grand_marnier", + "position": 2, + "ingredient_id": "grand_marnier", + "subrecipe_id": null, + "quantity": 215, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_orange_zest", + "position": 3, + "ingredient_id": "orange_zest", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whites", + "position": 4, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 450, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_white_powder", + "position": 6, + "ingredient_id": "egg_white_powder", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "2 T", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Make pastry cream with the milk, sugar, egg yolks, flour, and salt.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the Grand Marnier and zest into the pastry cream base until smooth; set aside to cool until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Make a medium peak French meringue with the egg whites, sugar, and egg white powder.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Sacrifice a small amount of the meringue and whisk it into the pastry cream mixture to lighten. Fold in the rest of the meringue until homogenous.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fill the soufflé ramekins that have been buttered and sugared.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 375°F (191°C) until risen but still soft inside.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "granola_buttermilk_waffles", + "schema_version": 2, + "save_version": 6, + "title": "Granola Buttermilk Waffles", + "summary": "Yield: ten 8-inch waffles", + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breakfast\",\"classic\"]", + "yield_quantity": 1050, + "yield_unit_id": "gram", + "yield_servings": 10, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: ten 8-inch waffles\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 165, + "unit_id": "gram", + "percentage": 78.57, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_flour_cake", + "position": 2, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 45, + "unit_id": "gram", + "percentage": 21.43, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": 11.9, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_baking_powder", + "position": 4, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 4.76, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_baking_soda", + "position": 5, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 2.38, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 2.38, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_buttermilk", + "position": 7, + "ingredient_id": "buttermilk", + "subrecipe_id": null, + "quantity": 397, + "unit_id": "gram", + "percentage": 189.05, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_butter", + "position": 8, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 113, + "unit_id": "gram", + "percentage": 53.81, + "basis_member": 0, + "optional": 0, + "notes": "melted", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_egg_whole", + "position": 9, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 47.62, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_vanilla_extract", + "position": 10, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 4.76, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_olive_oil_maple_granola", + "position": 11, + "ingredient_id": "olive_oil_maple_granola", + "subrecipe_id": null, + "quantity": 175, + "unit_id": "gram", + "percentage": 83.33, + "basis_member": 0, + "optional": 0, + "notes": "pg 498", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Sift the dry ingredients into a bowl large enough to accommodate the entire recipe.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the buttermilk, melted butter, eggs, and extract until combined.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Combine the wet and dry ingredients, stirring just until nearly smooth; do not over mix.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Ladle the batter into a preheated waffle iron that has been sprayed with pan spray or brushed with butter.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Sprinkle granola evenly over the batter – the amount of granola will depend upon the size of your waffle iron.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Cook the waffles according to the manufacturer's directions. For an 8-inch round waffle iron, use about 85 g (3 oz) of batter; cook for 2-3 minutes until golden and crisp.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "gravy", + "schema_version": 2, + "save_version": 1, + "title": "Gravy", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[]", + "yield_quantity": 120.1, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"gravy\",\"title\":\"Gravy\",\"categories\":[\"sauce\"],\"tags\":[],\"yield\":{\"amount\":{\"quantity\":120.1,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_fat\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":10,\"unit_id\":\"gram\"},\"percentage\":10},{\"id\":\"line_03_flour_all_purpose\",\"reference\":{\"ingredient_id\":\"flour_all_purpose\"},\"amount\":{\"quantity\":6.7,\"unit_id\":\"gram\"},\"percentage\":6.7},{\"id\":\"line_04_beef_base\",\"reference\":{\"ingredient_id\":\"beef_base\"},\"amount\":{\"quantity\":3.2,\"unit_id\":\"gram\"},\"percentage\":3.2},{\"id\":\"line_05_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":0.2,\"unit_id\":\"gram\"},\"percentage\":0.2}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Blend base and flour.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Gradually add small amount cold water until smooth.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Add boiling water, stirring until smooth.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Bring to low boil.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Add oil to pan.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Add flour to pan.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_fat", + "position": 2, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 10, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_flour_all_purpose", + "position": 3, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 6.7, + "unit_id": "gram", + "percentage": 6.7, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_beef_base", + "position": 4, + "ingredient_id": "beef_base", + "subrecipe_id": null, + "quantity": 3.2, + "unit_id": "gram", + "percentage": 3.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.2, + "unit_id": "gram", + "percentage": 0.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Blend base and flour.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Gradually add small amount cold water until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Add boiling water, stirring until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Bring to low boil.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Add oil to pan.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Add flour to pan.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "green_apple_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Green Apple Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 2120, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_green_apple_puree", + "position": 4, + "ingredient_id": "green_apple_puree", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "10% sugar", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lemon_juice", + "position": 5, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_apple_brandy", + "position": 6, + "ingredient_id": "apple_brandy", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_whites", + "position": 7, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_sugar", + "position": 8, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 170, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Warm ⅓ of the puree and melt the bloomed and drained gelatin into it. Whisk that warm mixture back into the rest of the puree and add the juice and brandy. Cool to about 65°F (18°C), or until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make an Italian meringue with the sugar and egg whites; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold ½ of the puree into the meringue. Fold the other ½ into the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the two mixtures together.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "green_tea_coconut_diamant", + "schema_version": 2, + "save_version": 6, + "title": "Green Tea-Coconut Diamant", + "summary": "Yield: seven 200 g (7 oz) logs", + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1490, + "yield_unit_id": "gram", + "yield_servings": 7, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: seven 200 g (7 oz) logs\",\"200 g (7 oz) logs will yield petits fours sized cookies.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_orange_zest", + "position": 3, + "ingredient_id": "orange_zest", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.63, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 15, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vanilla_extract", + "position": 5, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 12, + "unit_id": "gram", + "percentage": 3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_desiccated_coconut", + "position": 6, + "ingredient_id": "desiccated_coconut", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_flour_all_purpose", + "position": 7, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_matcha_powder", + "position": 8, + "ingredient_id": "matcha_powder", + "subrecipe_id": null, + "quantity": 18, + "unit_id": "gram", + "percentage": 4.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 0.31, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix the first 3 ingredients, being sure not to aerate.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the yolks one at a time, followed by the extract, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a food processor, grind the dry ingredients until fine. Add to the butter mixture and mix just until combined.", + "critical_control_point": 0, + "equipment_ids": [ + "food_processor" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Portion the dough into 200 g (7 oz) pieces and roll into 16-inch round logs; chill until firm.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Brush the logs with egg whites and roll in granulated sugar before baking.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Slice into medallions about ½-inch thick or as desired.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Bake at 325°F (163ºC).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "green_tea_panna_cotta", + "schema_version": 2, + "save_version": 6, + "title": "Green Tea Panna Cotta", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_matcha", + "position": 3, + "ingredient_id": "matcha", + "subrecipe_id": null, + "quantity": 9, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_heavy_cream", + "position": 4, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_milk_whole", + "position": 5, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_vanilla_extract", + "position": 7, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Sift the matcha and set aside.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a saucepan, bring the cream, milk, and sugar to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Whisk some of the hot cream mixture into the matcha to make a loose paste.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Off the heat, add the matcha paste, bloomed and drained gelatin, and extract to the hot cream and gently whisk to minimize air bubbles.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Strain through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Stir over an ice bath until slightly thickened and pour into desired molds.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "guacamole", + "schema_version": 2, + "save_version": 1, + "title": "Guacamole", + "summary": null, + "categories_json": "[\"side\"]", + "tags_json": "[\"dip\"]", + "yield_quantity": 103.81, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"guacamole\",\"title\":\"Guacamole\",\"categories\":[\"side\"],\"tags\":[\"dip\"],\"yield\":{\"amount\":{\"quantity\":103.81,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_avocado\",\"reference\":{\"ingredient_id\":\"avocado\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_lime_juice\",\"reference\":{\"ingredient_id\":\"lime_juice\"},\"amount\":{\"quantity\":2.15,\"unit_id\":\"gram\"},\"percentage\":2.15},{\"id\":\"line_03_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1,\"unit_id\":\"gram\"},\"percentage\":1},{\"id\":\"line_04_ascorbic_acid\",\"reference\":{\"ingredient_id\":\"ascorbic_acid\"},\"amount\":{\"quantity\":0.2,\"unit_id\":\"gram\"},\"percentage\":0.2},{\"id\":\"line_05_chili_powder\",\"reference\":{\"ingredient_id\":\"chili_powder\"},\"amount\":{\"quantity\":0.13,\"unit_id\":\"gram\"},\"percentage\":0.13},{\"id\":\"line_06_cumin\",\"reference\":{\"ingredient_id\":\"cumin\"},\"amount\":{\"quantity\":0.11,\"unit_id\":\"gram\"},\"percentage\":0.11},{\"id\":\"line_07_garlic_powder\",\"reference\":{\"ingredient_id\":\"garlic_powder\"},\"amount\":{\"quantity\":0.11,\"unit_id\":\"gram\"},\"percentage\":0.11},{\"id\":\"line_08_onion_powder\",\"reference\":{\"ingredient_id\":\"onion_powder\"},\"amount\":{\"quantity\":0.11,\"unit_id\":\"gram\"},\"percentage\":0.11}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine all.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Mash to desired texture.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_avocado", + "position": 1, + "ingredient_id": "avocado", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_lime_juice", + "position": 2, + "ingredient_id": "lime_juice", + "subrecipe_id": null, + "quantity": 2.15, + "unit_id": "gram", + "percentage": 2.15, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_ascorbic_acid", + "position": 4, + "ingredient_id": "ascorbic_acid", + "subrecipe_id": null, + "quantity": 0.2, + "unit_id": "gram", + "percentage": 0.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_chili_powder", + "position": 5, + "ingredient_id": "chili_powder", + "subrecipe_id": null, + "quantity": 0.13, + "unit_id": "gram", + "percentage": 0.13, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_cumin", + "position": 6, + "ingredient_id": "cumin", + "subrecipe_id": null, + "quantity": 0.11, + "unit_id": "gram", + "percentage": 0.11, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_garlic_powder", + "position": 7, + "ingredient_id": "garlic_powder", + "subrecipe_id": null, + "quantity": 0.11, + "unit_id": "gram", + "percentage": 0.11, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_onion_powder", + "position": 8, + "ingredient_id": "onion_powder", + "subrecipe_id": null, + "quantity": 0.11, + "unit_id": "gram", + "percentage": 0.11, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine all.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Mash to desired texture.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "guava_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Guava Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 2100, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_guava_puree", + "position": 4, + "ingredient_id": "guava_puree", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "10% sugar", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lime_juice", + "position": 5, + "ingredient_id": "lime_juice", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whites", + "position": 6, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Warm ⅓ of the puree and melt the bloomed and drained gelatin into it. Whisk that warm mixture back into the rest of the puree and add the juice. Cool to about 65°F (18°C), or until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make an Italian meringue with the sugar and egg whites; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold ½ of the puree into the meringue. Fold the other ½ into the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the two mixtures together.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "gyro_meat", + "schema_version": 2, + "save_version": 1, + "title": "Gyro Meat", + "summary": null, + "categories_json": "[\"meat\"]", + "tags_json": "[\"beef\"]", + "yield_quantity": 155.45, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"gyro_meat\",\"title\":\"Gyro Meat\",\"categories\":[\"meat\"],\"tags\":[\"beef\"],\"yield\":{\"amount\":{\"quantity\":155.45,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_ground_beef_73_27_raw\",\"reference\":{\"ingredient_id\":\"ground_beef_73_27_raw\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water_ice\",\"reference\":{\"ingredient_id\":\"water_ice\"},\"amount\":{\"quantity\":25,\"unit_id\":\"gram\"},\"percentage\":25},{\"id\":\"line_03_bread_crumbs\",\"reference\":{\"ingredient_id\":\"bread_crumbs\"},\"amount\":{\"quantity\":15,\"unit_id\":\"gram\"},\"percentage\":15},{\"id\":\"line_04_fat\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":7.7,\"unit_id\":\"gram\"},\"percentage\":7.7},{\"id\":\"line_05_nonfat_milk_powder\",\"reference\":{\"ingredient_id\":\"nonfat_milk_powder\"},\"amount\":{\"quantity\":4,\"unit_id\":\"gram\"},\"percentage\":4},{\"id\":\"line_06_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_07_onion_powder\",\"reference\":{\"ingredient_id\":\"onion_powder\"},\"amount\":{\"quantity\":0.4,\"unit_id\":\"gram\"},\"percentage\":0.4},{\"id\":\"line_08_msg\",\"reference\":{\"ingredient_id\":\"msg\"},\"amount\":{\"quantity\":0.3,\"unit_id\":\"gram\"},\"percentage\":0.3},{\"id\":\"line_09_oregano\",\"reference\":{\"ingredient_id\":\"oregano\"},\"amount\":{\"quantity\":0.3,\"unit_id\":\"gram\"},\"percentage\":0.3},{\"id\":\"line_10_paprika\",\"reference\":{\"ingredient_id\":\"paprika\"},\"amount\":{\"quantity\":0.2,\"unit_id\":\"gram\"},\"percentage\":0.2},{\"id\":\"line_11_coriander\",\"reference\":{\"ingredient_id\":\"coriander\"},\"amount\":{\"quantity\":0.2,\"unit_id\":\"gram\"},\"percentage\":0.2},{\"id\":\"line_12_garlic_powder\",\"reference\":{\"ingredient_id\":\"garlic_powder\"},\"amount\":{\"quantity\":0.15,\"unit_id\":\"gram\"},\"percentage\":0.15},{\"id\":\"line_13_cumin\",\"reference\":{\"ingredient_id\":\"cumin\"},\"amount\":{\"quantity\":0.1,\"unit_id\":\"gram\"},\"percentage\":0.1},{\"id\":\"line_14_cinnamon\",\"reference\":{\"ingredient_id\":\"cinnamon\"},\"amount\":{\"quantity\":0.1,\"unit_id\":\"gram\"},\"percentage\":0.1}]}],\"equipment_ids\":[\"food_processor\",\"sheet_pan\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Chill meat to 32 °F.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Hand mix salt, meat.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Chill for 1 hr.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Combine all but ice.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Food processor emulsify until temp climbs to 45 °F.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Add ice.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Repeat until well emulsified.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Optionally:\",\"component_ids\":[\"main\"]},{\"id\":\"step_09\",\"order\":9,\"instruction\":\"Line sheet pan aluminum foil.\",\"component_ids\":[\"main\"]},{\"id\":\"step_10\",\"order\":10,\"instruction\":\"Form meat into loaf 2 in thick.\",\"component_ids\":[\"main\"]},{\"id\":\"step_11\",\"order\":11,\"instruction\":\"Bake ≈30 min at 300 °F until 155 °F internal.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "food_processor", + "sheet_pan" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_ground_beef_73_27_raw", + "position": 1, + "ingredient_id": "ground_beef_73_27_raw", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water_ice", + "position": 2, + "ingredient_id": "water_ice", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": 25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_bread_crumbs", + "position": 3, + "ingredient_id": "bread_crumbs", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 15, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_fat", + "position": 4, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 7.7, + "unit_id": "gram", + "percentage": 7.7, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_nonfat_milk_powder", + "position": 5, + "ingredient_id": "nonfat_milk_powder", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": 4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_onion_powder", + "position": 7, + "ingredient_id": "onion_powder", + "subrecipe_id": null, + "quantity": 0.4, + "unit_id": "gram", + "percentage": 0.4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_msg", + "position": 8, + "ingredient_id": "msg", + "subrecipe_id": null, + "quantity": 0.3, + "unit_id": "gram", + "percentage": 0.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_oregano", + "position": 9, + "ingredient_id": "oregano", + "subrecipe_id": null, + "quantity": 0.3, + "unit_id": "gram", + "percentage": 0.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_paprika", + "position": 10, + "ingredient_id": "paprika", + "subrecipe_id": null, + "quantity": 0.2, + "unit_id": "gram", + "percentage": 0.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_coriander", + "position": 11, + "ingredient_id": "coriander", + "subrecipe_id": null, + "quantity": 0.2, + "unit_id": "gram", + "percentage": 0.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_garlic_powder", + "position": 12, + "ingredient_id": "garlic_powder", + "subrecipe_id": null, + "quantity": 0.15, + "unit_id": "gram", + "percentage": 0.15, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_cumin", + "position": 13, + "ingredient_id": "cumin", + "subrecipe_id": null, + "quantity": 0.1, + "unit_id": "gram", + "percentage": 0.1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_14_cinnamon", + "position": 14, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 0.1, + "unit_id": "gram", + "percentage": 0.1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Chill meat to 32 °F.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Hand mix salt, meat.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Chill for 1 hr.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Combine all but ice.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Food processor emulsify until temp climbs to 45 °F.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Add ice.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Repeat until well emulsified.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Optionally:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_09", + "position": 9, + "instruction": "Line sheet pan aluminum foil.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Form meat into loaf 2 in thick.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_11", + "position": 11, + "instruction": "Bake ≈30 min at 300 °F until 155 °F internal.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "halal_guys_white_sauce_v1", + "schema_version": 2, + "save_version": 1, + "title": "Halal Guys White Sauce V1", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"copycat\",\"halal-guys\"]", + "yield_quantity": 118.07, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"halal_guys_white_sauce_v1\",\"title\":\"Halal Guys White Sauce V1\",\"categories\":[\"sauce\"],\"tags\":[\"copycat\",\"halal-guys\"],\"yield\":{\"amount\":{\"quantity\":118.07,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_mayonnaise\",\"reference\":{\"ingredient_id\":\"mayonnaise\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_vinegar_5\",\"reference\":{\"ingredient_id\":\"vinegar_5\"},\"amount\":{\"quantity\":6.67,\"unit_id\":\"gram\"},\"percentage\":6.67},{\"id\":\"line_03_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":6,\"unit_id\":\"gram\"},\"percentage\":6},{\"id\":\"line_04_lemon_juice\",\"reference\":{\"ingredient_id\":\"lemon_juice\"},\"amount\":{\"quantity\":4,\"unit_id\":\"gram\"},\"percentage\":4},{\"id\":\"line_05_black_pepper_ground\",\"reference\":{\"ingredient_id\":\"black_pepper_ground\"},\"amount\":{\"quantity\":1.4,\"unit_id\":\"gram\"},\"percentage\":1.4}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Mix.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_mayonnaise", + "position": 1, + "ingredient_id": "mayonnaise", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_vinegar_5", + "position": 2, + "ingredient_id": "vinegar_5", + "subrecipe_id": null, + "quantity": 6.67, + "unit_id": "gram", + "percentage": 6.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_water", + "position": 3, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_lemon_juice", + "position": 4, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": 4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_black_pepper_ground", + "position": 5, + "ingredient_id": "black_pepper_ground", + "subrecipe_id": null, + "quantity": 1.4, + "unit_id": "gram", + "percentage": 1.4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Mix.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "halal_guys_white_sauce_v2", + "schema_version": 2, + "save_version": 1, + "title": "Halal Guys White Sauce V2", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"copycat\",\"halal-guys\"]", + "yield_quantity": 139.47, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"halal_guys_white_sauce_v2\",\"title\":\"Halal Guys White Sauce V2\",\"categories\":[\"sauce\"],\"tags\":[\"copycat\",\"halal-guys\"],\"yield\":{\"amount\":{\"quantity\":139.47,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_mayonnaise\",\"reference\":{\"ingredient_id\":\"mayonnaise\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":25,\"unit_id\":\"gram\"},\"percentage\":25},{\"id\":\"line_03_lemon_juice\",\"reference\":{\"ingredient_id\":\"lemon_juice\"},\"amount\":{\"quantity\":14,\"unit_id\":\"gram\"},\"percentage\":14},{\"id\":\"line_04_black_pepper_ground\",\"reference\":{\"ingredient_id\":\"black_pepper_ground\"},\"amount\":{\"quantity\":0.2,\"unit_id\":\"gram\"},\"percentage\":0.2},{\"id\":\"line_05_cardamom\",\"reference\":{\"ingredient_id\":\"cardamom\"},\"amount\":{\"quantity\":0.15,\"unit_id\":\"gram\"},\"percentage\":0.15},{\"id\":\"line_06_xanthan_gum\",\"reference\":{\"ingredient_id\":\"xanthan_gum\"},\"amount\":{\"quantity\":0.12,\"unit_id\":\"gram\"},\"percentage\":0.12}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Mix.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_mayonnaise", + "position": 1, + "ingredient_id": "mayonnaise", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": 25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_lemon_juice", + "position": 3, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 14, + "unit_id": "gram", + "percentage": 14, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_black_pepper_ground", + "position": 4, + "ingredient_id": "black_pepper_ground", + "subrecipe_id": null, + "quantity": 0.2, + "unit_id": "gram", + "percentage": 0.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_cardamom", + "position": 5, + "ingredient_id": "cardamom", + "subrecipe_id": null, + "quantity": 0.15, + "unit_id": "gram", + "percentage": 0.15, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_xanthan_gum", + "position": 6, + "ingredient_id": "xanthan_gum", + "subrecipe_id": null, + "quantity": 0.12, + "unit_id": "gram", + "percentage": 0.12, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Mix.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "hamburger_bun", + "schema_version": 2, + "save_version": 1, + "title": "Hamburger Bun", + "summary": null, + "categories_json": "[\"bread\"]", + "tags_json": "[\"bun\",\"burger\"]", + "yield_quantity": 182.2, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"hamburger_bun\",\"title\":\"Hamburger Bun\",\"categories\":[\"bread\"],\"tags\":[\"bun\",\"burger\"],\"yield\":{\"amount\":{\"quantity\":182.2,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_bread\",\"reference\":{\"ingredient_id\":\"flour_bread\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":63,\"unit_id\":\"gram\"},\"percentage\":63},{\"id\":\"line_03_butter_flavored_shortening\",\"reference\":{\"ingredient_id\":\"butter_flavored_shortening\"},\"amount\":{\"quantity\":7.6,\"unit_id\":\"gram\"},\"percentage\":7.6},{\"id\":\"line_04_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":3.8,\"unit_id\":\"gram\"},\"percentage\":3.8},{\"id\":\"line_05_nonfat_milk_powder\",\"reference\":{\"ingredient_id\":\"nonfat_milk_powder\"},\"amount\":{\"quantity\":3.8,\"unit_id\":\"gram\"},\"percentage\":3.8},{\"id\":\"line_06_instant_yeast\",\"reference\":{\"ingredient_id\":\"instant_yeast\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_07_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Mix dough to full gluten development.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Divide into 85 g portions.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Shape into smooth balls.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Arrange 6 equidistant dough balls in one parchment-lined 9 in x 13 in pan.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Press dough flat to form oblate spheroid.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Proof in high humidity.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Apply wash and seeds.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Bake 18 min at 380 °F.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 63, + "unit_id": "gram", + "percentage": 63, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_butter_flavored_shortening", + "position": 3, + "ingredient_id": "butter_flavored_shortening", + "subrecipe_id": null, + "quantity": 7.6, + "unit_id": "gram", + "percentage": 7.6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 3.8, + "unit_id": "gram", + "percentage": 3.8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_nonfat_milk_powder", + "position": 5, + "ingredient_id": "nonfat_milk_powder", + "subrecipe_id": null, + "quantity": 3.8, + "unit_id": "gram", + "percentage": 3.8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_instant_yeast", + "position": 6, + "ingredient_id": "instant_yeast", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Mix dough to full gluten development.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Divide into 85 g portions.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Shape into smooth balls.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Arrange 6 equidistant dough balls in one parchment-lined 9 in x 13 in pan.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Press dough flat to form oblate spheroid.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Proof in high humidity.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Apply wash and seeds.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Bake 18 min at 380 °F.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "hazelnut_pound_cake", + "schema_version": 2, + "save_version": 6, + "title": "Hazelnut Pound Cake", + "summary": "Yield: two 9-inch loaf pans", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 1700, + "yield_unit_id": "gram", + "yield_servings": 2, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: two 9-inch loaf pans\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 44.44, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 270, + "unit_id": "gram", + "percentage": 60, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_praline_paste", + "position": 3, + "ingredient_id": "praline_paste", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 11.11, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_invert_sugar", + "position": 4, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": 6.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_whole", + "position": 5, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 44.44, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_flour_all_purpose", + "position": 6, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 450, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 2.22, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_baking_powder", + "position": 8, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.56, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_baking_soda", + "position": 9, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.56, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_buttermilk", + "position": 10, + "ingredient_id": "buttermilk", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": 53.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_hazelnut", + "position": 11, + "ingredient_id": "hazelnut", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 55.56, + "basis_member": 0, + "optional": 0, + "notes": "toasted & chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter, sugars, and praline paste.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the eggs one at a time, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Alternately fold the sifted dry ingredients and buttermilk into the butter mixture in several additions, followed by the hazelnuts.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Bake at 325ºF (163ºC) until a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "hazelnut_sable_cookies", + "schema_version": 2, + "save_version": 6, + "title": "Hazelnut Sablé Cookies", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1640, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": 120, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_confectioners_sugar", + "position": 2, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_hazelnut_flour", + "position": 3, + "ingredient_id": "hazelnut_flour", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.5, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_yolk", + "position": 5, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_flour_all_purpose", + "position": 6, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter, sugar, hazelnut flour, and salt.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the egg yolks one at a time, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the all-purpose flour and mix just until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Chill before use.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 350°F (177°C) until light golden brown.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "hoagie", + "schema_version": 2, + "save_version": 1, + "title": "Hoagie", + "summary": null, + "categories_json": "[\"bread\"]", + "tags_json": "[\"roll\"]", + "yield_quantity": 169, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"hoagie\",\"title\":\"Hoagie\",\"categories\":[\"bread\"],\"tags\":[\"roll\"],\"yield\":{\"amount\":{\"quantity\":169,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_bread\",\"reference\":{\"ingredient_id\":\"flour_bread\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":57,\"unit_id\":\"gram\"},\"percentage\":57},{\"id\":\"line_03_fat\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":5,\"unit_id\":\"gram\"},\"percentage\":5},{\"id\":\"line_04_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":3,\"unit_id\":\"gram\"},\"percentage\":3},{\"id\":\"line_05_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_06_instant_yeast\",\"reference\":{\"ingredient_id\":\"instant_yeast\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"TODO: Add complete preparation instructions for this recipe.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 57, + "unit_id": "gram", + "percentage": 57, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_fat", + "position": 3, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_instant_yeast", + "position": 6, + "ingredient_id": "instant_yeast", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "TODO: Add complete preparation instructions for this recipe.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "honey_bavarian_cream", + "schema_version": 2, + "save_version": 6, + "title": "Honey Bavarian Cream", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 1400, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_milk_whole", + "position": 4, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_honey", + "position": 5, + "ingredient_id": "honey", + "subrecipe_id": null, + "quantity": 63, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 38, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_yolk", + "position": 7, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_sugar", + "position": 8, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 38, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks; set aside in the refrigerator.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a saucepan, bring the milk, honey, and first weight of sugar to a boil. Meanwhile, whisk the egg yolks, second weight of sugar, and salt until light and thick. Temper ⅓ of the honey mixture into the yolk mixture. Return everything back to the saucepan and cook on mediumlow heat until the mixture coats the back of a wooden spoon.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "saucepan", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Once cooked, remove from heat, add the bloomed and drained gelatin, and whisk to dissolve.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Strain through a fine-mesh strainer and cool to about 65°F (18°C), or until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the whipped cream into the cooled honey crème anglaise.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "honey_ice_cream", + "schema_version": 2, + "save_version": 6, + "title": "Honey Ice Cream", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_milk_whole", + "position": 1, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 900, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 145, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_milk_powder", + "position": 3, + "ingredient_id": "milk_powder", + "subrecipe_id": null, + "quantity": 23, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_powdered_glucose", + "position": 4, + "ingredient_id": "powdered_glucose", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_ice_cream_stabilizer", + "position": 5, + "ingredient_id": "ice_cream_stabilizer", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_honey", + "position": 7, + "ingredient_id": "honey", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_butter", + "position": 8, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "melted", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_egg_yolk", + "position": 9, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "whisked", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan large enough to accommodate the entire recipe, combine the milk and cream. With an immersion blender, blend in the milk powder to dissolve.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Heat until warm, 105°F (40°C); whisk in the glucose mixed with the stabilizer and salt, followed by the honey, melted butter, and egg yolks.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Stir with a whisk and heat to 185°F (85°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Chill immediately and allow to mature for 6 to 12 hours.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Blend with an immersion blender before spinning.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "honey_rosemary_creme_brulee", + "schema_version": 2, + "save_version": 6, + "title": "Honey-Rosemary Crème Brûlée", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1308, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Crème brûlée has a shelf life up to 3 days.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 940, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 qt", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_honey", + "position": 2, + "ingredient_id": "honey", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_rosemary", + "position": 3, + "ingredient_id": "rosemary", + "subrecipe_id": null, + "quantity": 38, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "fresh", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 43, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the cream, honey, and rosemary to a boil. Set aside to infuse for about 20 minutes, then strain.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixing bowl, whisk together the egg yolks, sugar, and salt.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Temper the warm cream into the egg yolk mixture until smooth and homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Strain through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Remove excess air bubbles from the top of the crème brûlée custard by placing a piece of plastic wrap or paper towel on the surface and then removing.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 275°F (135°C) in a water bath, covered, until the custard trembles slightly when shaken.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "honey_whole_wheat_tuiles", + "schema_version": 2, + "save_version": 6, + "title": "Honey Whole Wheat Tuiles", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1545, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 288, + "unit_id": "gram", + "percentage": 75, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_confectioners_sugar", + "position": 2, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 384, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_honey", + "position": 3, + "ingredient_id": "honey", + "subrecipe_id": null, + "quantity": 288, + "unit_id": "gram", + "percentage": 75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whites", + "position": 4, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 180, + "unit_id": "gram", + "percentage": 46.88, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_flour_whole_wheat", + "position": 5, + "ingredient_id": "flour_whole_wheat", + "subrecipe_id": null, + "quantity": 384, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_ginger", + "position": 6, + "ingredient_id": "ginger", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 5.21, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 0.33, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter, sugar, and honey.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the egg whites in 3 additions and mix until incorporated, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the sifted dry ingredients and mix until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Chill before use.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Using a template, spread thinly on a silicone baking mat.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 325°F (163°C).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Shape as desired and store in airtight containers.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "hot_fudge_sauce", + "schema_version": 2, + "save_version": 6, + "title": "Hot Fudge Sauce", + "summary": "Yield: approximately 1 kg (2 lb 3.3 oz). This hot fudge sauce is super rich and delicious. You'll always want to keep some on hand for topping ice cream, semifreddos, and cake.", + "categories_json": "[\"sauces_liquids\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sauces_liquids\",\"classic\"]", + "yield_quantity": 1599.5, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: approximately 1 kg (2 lb 3.3 oz)\",\"Hot fudge sauce can be made ahead, refrigerated, and reheated as needed. Be sure to use a high quality Dutch processed cocoa powder for best results.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 732, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 62, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_butter", + "position": 3, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 62, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_glucose_syrup", + "position": 4, + "ingredient_id": "glucose_syrup", + "subrecipe_id": null, + "quantity": 58, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 530, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_cocoa_powder", + "position": 6, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 148, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_vanilla_extract", + "position": 8, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the water, cream, butter, and glucose to a simmer.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Sift together the sugar, cocoa powder, and salt. When the water mixture begins to simmer, whisk in the dry ingredients and bring to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Lower to a simmer, stirring often to avoid scorching.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Simmer until reduced by ½ to ⅔ depending on desired consistency.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Stir in the extract.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "hot_fudge_v1", + "schema_version": 2, + "save_version": 1, + "title": "Hot Fudge V1", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"dessert-sauce\",\"chocolate\"]", + "yield_quantity": 489, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"hot_fudge_v1\",\"title\":\"Hot Fudge V1\",\"categories\":[\"sauce\"],\"tags\":[\"dessert-sauce\",\"chocolate\"],\"yield\":{\"amount\":{\"quantity\":489,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_semisweet_chocolate\",\"reference\":{\"ingredient_id\":\"semisweet_chocolate\"},\"amount\":{\"quantity\":151,\"unit_id\":\"gram\"},\"percentage\":151},{\"id\":\"line_03_heavy_cream\",\"reference\":{\"ingredient_id\":\"heavy_cream\"},\"amount\":{\"quantity\":116,\"unit_id\":\"gram\"},\"percentage\":116},{\"id\":\"line_04_corn_syrup_light\",\"reference\":{\"ingredient_id\":\"corn_syrup_light\"},\"amount\":{\"quantity\":105,\"unit_id\":\"gram\"},\"percentage\":105},{\"id\":\"line_05_shortening\",\"reference\":{\"ingredient_id\":\"shortening\"},\"amount\":{\"quantity\":16,\"unit_id\":\"gram\"},\"percentage\":16},{\"id\":\"line_06_vanilla_extract\",\"reference\":{\"ingredient_id\":\"vanilla_extract\"},\"amount\":{\"quantity\":1,\"unit_id\":\"gram\"},\"percentage\":1}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine all except vanilla, chocolate.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Boil, remove from heat.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Add chocolate, vanilla.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Stir.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sugar", + "position": 1, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_semisweet_chocolate", + "position": 2, + "ingredient_id": "semisweet_chocolate", + "subrecipe_id": null, + "quantity": 151, + "unit_id": "gram", + "percentage": 151, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 116, + "unit_id": "gram", + "percentage": 116, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_corn_syrup_light", + "position": 4, + "ingredient_id": "corn_syrup_light", + "subrecipe_id": null, + "quantity": 105, + "unit_id": "gram", + "percentage": 105, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_shortening", + "position": 5, + "ingredient_id": "shortening", + "subrecipe_id": null, + "quantity": 16, + "unit_id": "gram", + "percentage": 16, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_vanilla_extract", + "position": 6, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine all except vanilla, chocolate.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Boil, remove from heat.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Add chocolate, vanilla.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Stir.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "hot_fudge_v2", + "schema_version": 2, + "save_version": 1, + "title": "Hot Fudge V2", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"dessert-sauce\",\"chocolate\"]", + "yield_quantity": 99.75, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"hot_fudge_v2\",\"title\":\"Hot Fudge V2\",\"categories\":[\"sauce\"],\"tags\":[\"dessert-sauce\",\"chocolate\"],\"yield\":{\"amount\":{\"quantity\":99.75,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":29.7,\"unit_id\":\"gram\"},\"percentage\":29.7,\"basis_member\":true},{\"id\":\"line_02_oil\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":22,\"unit_id\":\"gram\"},\"percentage\":22},{\"id\":\"line_03_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":15,\"unit_id\":\"gram\"},\"percentage\":15},{\"id\":\"line_04_dark_cocoa_powder\",\"reference\":{\"ingredient_id\":\"dark_cocoa_powder\"},\"amount\":{\"quantity\":12.75,\"unit_id\":\"gram\"},\"percentage\":12.75},{\"id\":\"line_05_light_brown_sugar\",\"reference\":{\"ingredient_id\":\"brown_sugar\"},\"amount\":{\"quantity\":10,\"unit_id\":\"gram\"},\"percentage\":10},{\"id\":\"line_06_bittersweet_chocolate\",\"reference\":{\"ingredient_id\":\"semisweet_chocolate\"},\"amount\":{\"quantity\":6,\"unit_id\":\"gram\"},\"percentage\":6,\"notes\":\"bittersweet chocolate\"},{\"id\":\"line_07_nonfat_milk_powder\",\"reference\":{\"ingredient_id\":\"nonfat_milk_powder\"},\"amount\":{\"quantity\":3.4,\"unit_id\":\"gram\"},\"percentage\":3.4},{\"id\":\"line_08_lecithin_liquid_soy\",\"reference\":{\"ingredient_id\":\"lecithin_liquid_soy\"},\"amount\":{\"quantity\":0.5,\"unit_id\":\"gram\"},\"percentage\":0.5},{\"id\":\"line_09_vanilla_extract\",\"reference\":{\"ingredient_id\":\"vanilla_extract\"},\"amount\":{\"quantity\":0.25,\"unit_id\":\"gram\"},\"percentage\":0.25},{\"id\":\"line_10_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":0.15,\"unit_id\":\"gram\"},\"percentage\":0.15}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine all except vanilla, chocolate, cocoa.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Boil, remove from heat.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Add chocolate, vanilla.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Stir.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 29.7, + "unit_id": "gram", + "percentage": 29.7, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_oil", + "position": 2, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 22, + "unit_id": "gram", + "percentage": 22, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 15, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_dark_cocoa_powder", + "position": 4, + "ingredient_id": "dark_cocoa_powder", + "subrecipe_id": null, + "quantity": 12.75, + "unit_id": "gram", + "percentage": 12.75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_light_brown_sugar", + "position": 5, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 10, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_bittersweet_chocolate", + "position": 6, + "ingredient_id": "semisweet_chocolate", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 6, + "basis_member": 0, + "optional": 0, + "notes": "bittersweet chocolate", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_nonfat_milk_powder", + "position": 7, + "ingredient_id": "nonfat_milk_powder", + "subrecipe_id": null, + "quantity": 3.4, + "unit_id": "gram", + "percentage": 3.4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_lecithin_liquid_soy", + "position": 8, + "ingredient_id": "lecithin_liquid_soy", + "subrecipe_id": null, + "quantity": 0.5, + "unit_id": "gram", + "percentage": 0.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_vanilla_extract", + "position": 9, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 0.25, + "unit_id": "gram", + "percentage": 0.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_salt", + "position": 10, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.15, + "unit_id": "gram", + "percentage": 0.15, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine all except vanilla, chocolate, cocoa.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Boil, remove from heat.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Add chocolate, vanilla.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Stir.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "imos_pizza_dough", + "schema_version": 2, + "save_version": 1, + "title": "Imo's Pizza Dough", + "summary": null, + "categories_json": "[\"bread\"]", + "tags_json": "[\"dough\",\"pizza\",\"copycat\",\"imos\"]", + "yield_quantity": 160.5, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"imos_pizza_dough\",\"title\":\"Imo's Pizza Dough\",\"categories\":[\"bread\"],\"tags\":[\"dough\",\"pizza\",\"copycat\",\"imos\"],\"yield\":{\"amount\":{\"quantity\":160.5,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_all_purpose\",\"reference\":{\"ingredient_id\":\"flour_all_purpose\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":50,\"unit_id\":\"gram\"},\"percentage\":50},{\"id\":\"line_03_oil\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":8,\"unit_id\":\"gram\"},\"percentage\":8},{\"id\":\"line_04_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1,\"unit_id\":\"gram\"},\"percentage\":1},{\"id\":\"line_05_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":1,\"unit_id\":\"gram\"},\"percentage\":1},{\"id\":\"line_06_instant_yeast\",\"reference\":{\"ingredient_id\":\"instant_yeast\"},\"amount\":{\"quantity\":0.5,\"unit_id\":\"gram\"},\"percentage\":0.5}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Mix to high gluten development.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Shape balls, cold ferment 24-72 hr.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Roll 16 in.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Preheat steel 500 °F.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Lower to 450 °F.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Bake 11 min.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Transfer to cooling rack 6 min.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_oil", + "position": 3, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 8, + "unit_id": "gram", + "percentage": 8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_instant_yeast", + "position": 6, + "ingredient_id": "instant_yeast", + "subrecipe_id": null, + "quantity": 0.5, + "unit_id": "gram", + "percentage": 0.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Mix to high gluten development.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Shape balls, cold ferment 24-72 hr.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Roll 16 in.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Preheat steel 500 °F.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Lower to 450 °F.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Bake 11 min.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Transfer to cooling rack 6 min.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "individual_french_angel_food_cakes", + "schema_version": 2, + "save_version": 6, + "title": "Individual French Angel Food Cakes", + "summary": "Yield: eleven 4 oz molds", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 712, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: eleven 4 oz molds\",\"It is best to add the vanilla bean seeds to the meringue toward the end of the mixing process.\",\"A strained beurre noisette for the melted butter makes a nice substitution.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_egg_whites", + "position": 1, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": 192, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 200, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_vanilla_bean", + "position": 3, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": 0.8, + "basis_member": 0, + "optional": 0, + "notes": "seeds", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_flour_all_purpose", + "position": 4, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_butter", + "position": 6, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 110, + "unit_id": "gram", + "percentage": 88, + "basis_member": 0, + "optional": 0, + "notes": "melted", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a whisk attachment, make a stiff peak French meringue with the egg whites, sugar, and vanilla bean seeds on medium speed.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Sift the flour and salt over the meringue and gently fold in until still streaky with flour.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Sacrifice some of the meringue into the melted butter, then fold the butter mixture into the meringue until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Pipe the batter into prepared molds nearly to the top.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Sift powdered sugar on top of the cakes before baking at 350°F (177°C) until a skewer nserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "individual_gluten_free_chocolate_cakes", + "schema_version": 2, + "save_version": 6, + "title": "Individual Gluten-Free Chocolate Cakes", + "summary": "Yield: eleven 4 oz molds", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 1240, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: eleven 4 oz molds\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_chocolate_dark", + "position": 1, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 320, + "unit_id": "gram", + "percentage": 266.67, + "basis_member": 0, + "optional": 0, + "notes": "70%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_butter", + "position": 2, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 160, + "unit_id": "gram", + "percentage": 133.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 140, + "unit_id": "gram", + "percentage": 116.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vanilla_extract", + "position": 5, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 2.08, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whites", + "position": 6, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 140, + "unit_id": "gram", + "percentage": 116.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_cream_of_tartar", + "position": 8, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 2.08, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_rice_flour", + "position": 9, + "ingredient_id": "rice_flour", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_almond_flour", + "position": 10, + "ingredient_id": "almond_flour", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_salt", + "position": 11, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 2.08, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the chocolate and the butter together. Set aside to cool until warm.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a whisk attachment, whisk the sugar, egg yolks, and extract until a thick ribbon is achieved.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a separate mixing bowl, make a medium peak French meringue with the egg whites, sugar, and cream of tartar.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Fold the whipped egg yolks into the melted chocolate mixture.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold the sifted dry ingredients into the chocolate mixture, followed by the meringue.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake to order at 350°F (177°C) until a skewer inserted comes out with moist crumbs, but not wet.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "inverse_puff_pastry", + "schema_version": 2, + "save_version": 6, + "title": "Inverse Puff Pastry", + "summary": null, + "categories_json": "[\"doughs\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"doughs\",\"classic\"]", + "yield_quantity": 1100, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"The butter packet should be the same consistency as the dough packet when you begin assembly as this facilitates smooth and even lamination.\",\"Acid like vinegar helps relax gluten, making the dough more pliable.\",\"Puff pastry can be refrigerated for 3 days or frozen up to 2 months.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "dough_packet_detrempe", + "position": 1, + "name": "Dough Packet (Détrempe)", + "notes_json": "[]" + }, + { + "id": "butter_packet_beurrage", + "position": 2, + "name": "Butter Packet (Beurrage)", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "butter_packet_beurrage", + "id": "line_06_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 40, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "butter_packet_beurrage", + "id": "line_07_butter", + "position": 2, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 80, + "basis_member": 0, + "optional": 0, + "notes": "cold & cubed", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 60, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_02_salt", + "position": 2, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 12, + "unit_id": "gram", + "percentage": 2.4, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_03_butter", + "position": 3, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 10, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_04_water", + "position": 4, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 140, + "unit_id": "gram", + "percentage": 28, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_05_white_vinegar", + "position": 5, + "ingredient_id": "white_vinegar", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.5, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Dough Packet:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a paddle attachment, combine the flour, salt, and butter. Mix until the butter has coated the flour and is no longer visible.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Combine the water and vinegar. Add it to the dry ingredients and mix to form a dough. Do not over mix, but be sure there are no dry spots of flour in the dough.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Pat the dough packet into a square, wrap in plastic wrap, and refrigerate for at least 1 hour.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Butter Packet:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "In a mixer fitted with a paddle attachment, mix the flour and cold butter until homogenous.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Pat the butter packet into a square and refrigerate for at least 20-30 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Assembly:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_9", + "position": 9, + "instruction": "On a floured work surface, roll the corners of the butter packet into flaps.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Put the dough packet into the center of the butter packet and fold the flaps to completely cover the dough. Seal in the butter package.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_11", + "position": 11, + "instruction": "Give the dough 2 letter turns rolling the dough ⅜-inch thick letting the dough rest in the refrigerator wrapped in plastic wrap for 30 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_12", + "position": 12, + "instruction": "Repeat 2 more letter turns rolling the dough ⅜-inch thick letting the dough rest in the refrigerator wrapped in plastic wrap for 30 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_13", + "position": 13, + "instruction": "Perform the last 2 letter turns for a total of 6.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "irish_soda_bread", + "schema_version": 2, + "save_version": 6, + "title": "Irish Soda Bread", + "summary": "Yield: two 6-inch loaves", + "categories_json": "[\"breads\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breads\",\"classic\"]", + "yield_quantity": 909, + "yield_unit_id": "gram", + "yield_servings": 2, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: two 6-inch loaves\",\"Do not overwork the dough or the bread will be tough.\",\"Any currants on the outside of the loaf that have burned during baking should be brushed off.\",\"Irish soda bread is best served and eaten the day it is made.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 397, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 12.59, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_cream_of_tartar", + "position": 3, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.26, + "basis_member": 0, + "optional": 0, + "notes": "1¾ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_baking_soda", + "position": 4, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.26, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.26, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_butter", + "position": 6, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 57, + "unit_id": "gram", + "percentage": 14.36, + "basis_member": 0, + "optional": 0, + "notes": "¼-inch cubes, cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_dried_currants", + "position": 7, + "ingredient_id": "dried_currants", + "subrecipe_id": null, + "quantity": 113, + "unit_id": "gram", + "percentage": 28.46, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_buttermilk", + "position": 8, + "ingredient_id": "buttermilk", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 57.18, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_egg_whole", + "position": 9, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 12.59, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_orange_zest", + "position": 10, + "ingredient_id": "orange_zest", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": 0.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Sift the dry ingredients.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Cut in the butter until it is well mixed into the dry ingredients.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the currants.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Whisk the buttermilk, egg, and zest and mix into the dry ingredients just to moisten.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Shape into 2 balls and cut a broad X on the top of each ball approximately 1-1½-inch deep.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake immediately at 350°F (177ºC) until nicely browned (about 25-30 minutes).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "italian_meringue_buttercream", + "schema_version": 2, + "save_version": 6, + "title": "Italian Meringue Buttercream", + "summary": null, + "categories_json": "[\"frostings_glazes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frostings_glazes\",\"classic\"]", + "yield_quantity": 1958, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sugar", + "position": 1, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 650, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 190, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_whites", + "position": 3, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_butter", + "position": 5, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 908, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, combine the sugar and water.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Using a wet pastry brush, clean all of the sugar crystals from the sides of the pan to prevent crystallization.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Place the saucepan over medium-high heat and cook to soft-ball stage, 235-240°F (113-116°C).", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "thermometer" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Meanwhile, in a mixer fitted with a whisk attachment, begin making a French meringue by whisking the egg whites and second weight of sugar when the sugar syrup comes to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "saucepan", + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "As soon as the syrup reaches soft-ball stage, slowly pour the hot syrup down the sides of the bowl into the French meringue with the mixer running. Do not let the syrup hit the whisk attachment.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Whisk until the Italian meringue is cool.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Incrementally add the softened butter and salt into the meringue, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Flavor as desired.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "jimmy_johns_kickin_ranch_sauce", + "schema_version": 2, + "save_version": 1, + "title": "Jimmy John's Kickin' Ranch Sauce", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"dressing\",\"ranch\",\"copycat\",\"jimmy-johns\"]", + "yield_quantity": 177.14, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"jimmy_johns_kickin_ranch_sauce\",\"title\":\"Jimmy John's Kickin' Ranch Sauce\",\"categories\":[\"sauce\"],\"tags\":[\"dressing\",\"ranch\",\"copycat\",\"jimmy-johns\"],\"yield\":{\"amount\":{\"quantity\":177.14,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_mayonnaise\",\"reference\":{\"ingredient_id\":\"mayonnaise\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_buttermilk\",\"reference\":{\"ingredient_id\":\"buttermilk\"},\"amount\":{\"quantity\":54.2,\"unit_id\":\"gram\"},\"percentage\":54.2},{\"id\":\"line_03_hot_cherry_peppers\",\"reference\":{\"ingredient_id\":\"hot_cherry_peppers\"},\"amount\":{\"quantity\":11.59,\"unit_id\":\"gram\"},\"percentage\":11.59},{\"id\":\"line_04_hot_pepper_juice\",\"reference\":{\"ingredient_id\":\"hot_pepper_juice\"},\"amount\":{\"quantity\":5.8,\"unit_id\":\"gram\"},\"percentage\":5.8},{\"id\":\"line_05_ranch_seasoning\",\"reference\":{\"ingredient_id\":\"hidden_valley_ranch_dry_seasoning\"},\"amount\":{\"quantity\":5.2,\"unit_id\":\"gram\"},\"percentage\":5.2},{\"id\":\"line_06_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":0.3,\"unit_id\":\"gram\"},\"percentage\":0.3},{\"id\":\"line_07_garlic_powder\",\"reference\":{\"ingredient_id\":\"garlic_powder\"},\"amount\":{\"quantity\":0.05,\"unit_id\":\"gram\"},\"percentage\":0.05}]}],\"equipment_ids\":[\"whisk\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Blend peppers, juice, 1/2 buttermilk.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Add ranch packet, garlic salt.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Whisk with mayo, remaining buttermilk mix.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "whisk" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_mayonnaise", + "position": 1, + "ingredient_id": "mayonnaise", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_buttermilk", + "position": 2, + "ingredient_id": "buttermilk", + "subrecipe_id": null, + "quantity": 54.2, + "unit_id": "gram", + "percentage": 54.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_hot_cherry_peppers", + "position": 3, + "ingredient_id": "hot_cherry_peppers", + "subrecipe_id": null, + "quantity": 11.59, + "unit_id": "gram", + "percentage": 11.59, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_hot_pepper_juice", + "position": 4, + "ingredient_id": "hot_pepper_juice", + "subrecipe_id": null, + "quantity": 5.8, + "unit_id": "gram", + "percentage": 5.8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_ranch_seasoning", + "position": 5, + "ingredient_id": "hidden_valley_ranch_dry_seasoning", + "subrecipe_id": null, + "quantity": 5.2, + "unit_id": "gram", + "percentage": 5.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.3, + "unit_id": "gram", + "percentage": 0.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_garlic_powder", + "position": 7, + "ingredient_id": "garlic_powder", + "subrecipe_id": null, + "quantity": 0.05, + "unit_id": "gram", + "percentage": 0.05, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Blend peppers, juice, 1/2 buttermilk.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Add ranch packet, garlic salt.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Whisk with mayo, remaining buttermilk mix.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "joconde_sheet_cake", + "schema_version": 2, + "save_version": 6, + "title": "Joconde Sheet Cake", + "summary": "Yield: one full sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 750, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one full sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_almond_flour", + "position": 1, + "ingredient_id": "almond_flour", + "subrecipe_id": null, + "quantity": 175, + "unit_id": "gram", + "percentage": 437.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_confectioners_sugar", + "position": 2, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 175, + "unit_id": "gram", + "percentage": 437.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_flour_cake", + "position": 3, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 3.13, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_whole", + "position": 5, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 500, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whites", + "position": 6, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": 300, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_cream_of_tartar", + "position": 8, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 6.25, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_butter", + "position": 9, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": 75, + "basis_member": 0, + "optional": 0, + "notes": "melted", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Combine the sifted dry ingredients in a mixing bowl fitted with a paddle attachment.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the whole eggs and mix on high speed to form a smooth, aerated paste, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Make a medium peak French meringue with the egg whites, sugar, and cream of tartar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Gently fold the meringue into the almond mixture until streaky.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Sacrifice some of the batter into the melted but cooled butter, then fold the butter mixture into the rest of the batter until homogenous. Do not over fold.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 400°F (204°C) until the cake is browned and springs back to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "This recipe is the traditional biscuit used for Opera Cake.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "kaiser_rolls", + "schema_version": 2, + "save_version": 6, + "title": "Kaiser Rolls", + "summary": "Yield: fifteen 100 g (3.5 oz) rolls. In Germany and Austria, Kaiser rolls are traditionally topped with poppy seeds and eaten for breakfast with cheese, cold cuts, or jam. In New Jersey, Delaware, and parts of Pennsylvania they are also eaten for breakfast either with butter, or Taylor ham, fried egg, and cheese.", + "categories_json": "[\"breads\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breads\",\"classic\"]", + "yield_quantity": 1525, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: fifteen 100 g (3.5 oz) rolls\",\"Make sure to flour the stamp occasionally so it doesn't stick to the dough.\",\"When stamping, press all the way down until you touch the sheet pan so the mark comes out clear and pronounced after baking.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 890, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 472, + "unit_id": "gram", + "percentage": 53.03, + "basis_member": 0, + "optional": 0, + "notes": "110°F/43°C", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_whole", + "position": 3, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 5.62, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_yeast_fresh", + "position": 4, + "ingredient_id": "yeast_fresh", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": 3.37, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_canola_oil", + "position": 5, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 21, + "unit_id": "gram", + "percentage": 2.36, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 22, + "unit_id": "gram", + "percentage": 2.47, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 2.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_malt_powder", + "position": 8, + "ingredient_id": "malt_powder", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 2.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix all of the ingredients on low speed for about 2 minutes to hydrate.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Switch to a hook attachment and mix on medium speed until gluten is developed.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Place the dough in an oiled bowl and bulk proof for 1 hour.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Divide into 100 g (3.5 oz) pieces and pre-shape into rounds.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Place the rolls onto a parchment-lined sheet pan and proof for about 1 hour, or until almost double in size.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "After proofing, stamp the rolls with a Kaiser roll stamp and proof again for about 20-30 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Bake at 350°F (177°C) for 10 minutes, or until baked through.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "kalamata_olive_bread_with_herbes_de_provence", + "schema_version": 2, + "save_version": 6, + "title": "Kalamata Olive Bread with Herbes de Provence", + "summary": "Yield: four 580 g (20.5 oz) loaves", + "categories_json": "[\"breads\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breads\",\"classic\"]", + "yield_quantity": 2330, + "yield_unit_id": "gram", + "yield_servings": 4, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: four 580 g (20.5 oz) loaves\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "poolish", + "position": 1, + "name": "Poolish", + "notes_json": "[]" + }, + { + "id": "dough", + "position": 2, + "name": "Dough", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "dough", + "id": "line_04_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": 83.33, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_05_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_06_poolish", + "position": 3, + "ingredient_id": "poolish", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 33.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_07_yeast_fresh", + "position": 4, + "ingredient_id": "yeast_fresh", + "subrecipe_id": null, + "quantity": 12, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_08_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 0.83, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_09_kalamata_olives", + "position": 6, + "ingredient_id": "kalamata_olives", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 25, + "basis_member": 0, + "optional": 0, + "notes": "pitted", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_10_herbes_de_provence", + "position": 7, + "ingredient_id": "herbes_de_provence", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 0.5, + "basis_member": 0, + "optional": 0, + "notes": "2 T", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "poolish", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 16.67, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "poolish", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 16.67, + "basis_member": 0, + "optional": 0, + "notes": "110°F/43°C", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "poolish", + "id": "line_03_yeast_fresh", + "position": 3, + "ingredient_id": "yeast_fresh", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 0.17, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Poolish:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Mix the flour, water, and yeast until blended. Cover and allow to ferment at room temperature for 6-12 hours.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Dough:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "In a mixer fitted with a hook attachment, combine the flour, water, poolish, and yeast and mix on low speed for 2-3 minutes to hydrate.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Add the salt and mix for approximately 5 minutes to fully develop gluten.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Add the olives and herbs in the last 30 seconds of mixing or knead in by hand.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Place the dough in an oiled bowl. Cover and bulk proof for 2 hours, turning the dough after 1 hour.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Divide into 580 g (20.5 oz) pieces and pre-shape into rounds. Cover and bench rest for 5-10 minutes. Shape into boules or bâtards.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Proof, slash, and spray the loaves with water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Bake at 475°F (246°C) with the oven fan off for 5 minutes. Continue baking at 450°F (232°C) until dark brown, or until the internal temperature is 210°F (99°C).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "key_lime_pie", + "schema_version": 2, + "save_version": 6, + "title": "Key Lime Pie", + "summary": "Yield: two 10-inch cake or pie pans", + "categories_json": "[\"tart_pie_fillings\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"tart_pie_fillings\",\"classic\"]", + "yield_quantity": 2855, + "yield_unit_id": "gram", + "yield_servings": 2, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: two 10-inch cake or pie pans\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_key_lime_juice", + "position": 1, + "ingredient_id": "key_lime_juice", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_lime_zest", + "position": 2, + "ingredient_id": "lime_zest", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "finely chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_yolk", + "position": 3, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_condensed_milk", + "position": 4, + "ingredient_id": "condensed_milk", + "subrecipe_id": null, + "quantity": 1955, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Filling:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a whisk attachment, mix all of the ingredients until smooth. This step may be done by hand if desired.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Pour the filling into blind baked key lime pie crusts.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Bake at 275°F (135°C) just until set.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Crust:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Combine all of the ingredients until moistened.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Evenly press into the bottom of parchment lined cake or pie pans.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Bake at 350°F (177°C) until lightly browned and just set (about 5-7 minutes). Allow to cool before pouring the filling over the crust.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "key_lime_pie_p56", + "schema_version": 2, + "save_version": 6, + "title": "Key Lime Pie", + "summary": "Yield: two 10-inch cake or pie pans", + "categories_json": "[\"tart_pie_fillings\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"tart_pie_fillings\",\"classic\"]", + "yield_quantity": 450, + "yield_unit_id": "gram", + "yield_servings": 2, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: two 10-inch cake or pie pans\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_graham_cracker_crumbs", + "position": 1, + "ingredient_id": "graham_cracker_crumbs", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": 1200, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_butter", + "position": 2, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 140, + "unit_id": "gram", + "percentage": 700, + "basis_member": 0, + "optional": 0, + "notes": "melted", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_flour_all_purpose", + "position": 3, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 250, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lime_zest", + "position": 5, + "ingredient_id": "lime_zest", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": 5, + "basis_member": 0, + "optional": 0, + "notes": "optional", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Filling:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a whisk attachment, mix all of the ingredients until smooth. This step may be done by hand if desired.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Pour the filling into blind baked key lime pie crusts.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Bake at 275°F (135°C) just until set.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Crust:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Combine all of the ingredients until moistened.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Evenly press into the bottom of parchment lined cake or pie pans.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Bake at 350°F (177°C) until lightly browned and just set (about 5-7 minutes). Allow to cool before pouring the filling over the crust.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "korean_coater_mix", + "schema_version": 2, + "save_version": 1, + "title": "Korean Coater Mix", + "summary": null, + "categories_json": "[\"component\"]", + "tags_json": "[\"coater\",\"fried\",\"korean\"]", + "yield_quantity": 129, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"korean_coater_mix\",\"title\":\"Korean Coater Mix\",\"categories\":[\"component\"],\"tags\":[\"coater\",\"fried\",\"korean\"],\"yield\":{\"amount\":{\"quantity\":129,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_cornstarch\",\"reference\":{\"ingredient_id\":\"cornstarch\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":27,\"unit_id\":\"gram\"},\"percentage\":27},{\"id\":\"line_03_baking_powder\",\"reference\":{\"ingredient_id\":\"baking_powder\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2}]}],\"equipment_ids\":[\"mixing_bowl\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine ingredients in a bowl.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Add chicken and toss until thoroughly coated.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Shake vigorously to remove excess coating.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Rest uncovered in the refrigerator for 30 min.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "mixing_bowl" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_cornstarch", + "position": 1, + "ingredient_id": "cornstarch", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_salt", + "position": 2, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 27, + "unit_id": "gram", + "percentage": 27, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_baking_powder", + "position": 3, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine ingredients in a bowl.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Add chicken and toss until thoroughly coated.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Shake vigorously to remove excess coating.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Rest uncovered in the refrigerator for 30 min.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "korean_fry_batter", + "schema_version": 2, + "save_version": 1, + "title": "Korean Fry Batter", + "summary": null, + "categories_json": "[\"component\"]", + "tags_json": "[\"batter\",\"fried\",\"korean\"]", + "yield_quantity": 524, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"korean_fry_batter\",\"title\":\"Korean Fry Batter\",\"categories\":[\"component\"],\"tags\":[\"batter\",\"fried\",\"korean\"],\"yield\":{\"amount\":{\"quantity\":524,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_all_purpose\",\"reference\":{\"ingredient_id\":\"flour_all_purpose\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":164,\"unit_id\":\"gram\"},\"percentage\":164},{\"id\":\"line_03_vodka\",\"reference\":{\"ingredient_id\":\"vodka\"},\"amount\":{\"quantity\":164,\"unit_id\":\"gram\"},\"percentage\":164},{\"id\":\"line_04_cornstarch\",\"reference\":{\"ingredient_id\":\"cornstarch\"},\"amount\":{\"quantity\":82,\"unit_id\":\"gram\"},\"percentage\":82},{\"id\":\"line_05_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":12,\"unit_id\":\"gram\"},\"percentage\":12},{\"id\":\"line_06_baking_powder\",\"reference\":{\"ingredient_id\":\"baking_powder\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2}]}],\"equipment_ids\":[\"whisk\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Whisk together dry ingredients.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Whisk together wet ingredients.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Whisk all ingredients together until smooth.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "whisk" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 164, + "unit_id": "gram", + "percentage": 164, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_vodka", + "position": 3, + "ingredient_id": "vodka", + "subrecipe_id": null, + "quantity": 164, + "unit_id": "gram", + "percentage": 164, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_cornstarch", + "position": 4, + "ingredient_id": "cornstarch", + "subrecipe_id": null, + "quantity": 82, + "unit_id": "gram", + "percentage": 82, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 12, + "unit_id": "gram", + "percentage": 12, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_baking_powder", + "position": 6, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Whisk together dry ingredients.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Whisk together wet ingredients.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Whisk all ingredients together until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "kouign_amann", + "schema_version": 2, + "save_version": 6, + "title": "Kouign-Amann", + "summary": null, + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breakfast\",\"classic\"]", + "yield_quantity": 4315, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Kouign-amann are done baking when they have a rich, caramelized brown color on top and are cooked through in the center.\",\"Upon removing from the oven, place upside-down onto a cooling rack to cool. Once cool, flip upright.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "dough_packet_detrempe", + "position": 1, + "name": "Dough Packet (Détrempe)", + "notes_json": "[]" + }, + { + "id": "butter_packet_beurrage", + "position": 2, + "name": "Butter Packet (Beurrage)", + "notes_json": "[]" + }, + { + "id": "sugar_salt_garnish", + "position": 3, + "name": "Sugar/Salt Garnish", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "butter_packet_beurrage", + "id": "line_09_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 50.63, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "butter_packet_beurrage", + "id": "line_10_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 130, + "unit_id": "gram", + "percentage": 16.46, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "butter_packet_beurrage", + "id": "line_11_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 14, + "unit_id": "gram", + "percentage": 1.77, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 565, + "unit_id": "gram", + "percentage": 71.52, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_02_flour_cake", + "position": 2, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 225, + "unit_id": "gram", + "percentage": 28.48, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_03_butter", + "position": 3, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 110, + "unit_id": "gram", + "percentage": 13.92, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 85, + "unit_id": "gram", + "percentage": 10.76, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 14, + "unit_id": "gram", + "percentage": 1.77, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_06_yeast_fresh", + "position": 6, + "ingredient_id": "yeast_fresh", + "subrecipe_id": null, + "quantity": 42, + "unit_id": "gram", + "percentage": 5.32, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_07_water", + "position": 7, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 275, + "unit_id": "gram", + "percentage": 34.81, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough_packet_detrempe", + "id": "line_08_milk_whole", + "position": 8, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 25.32, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "sugar_salt_garnish", + "id": "line_12_sugar", + "position": 1, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 37.97, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "sugar_salt_garnish", + "id": "line_13_fine_sea_salt", + "position": 2, + "ingredient_id": "fine_sea_salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 0.63, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "sugar_salt_garnish", + "id": "line_14_total_paton_weight", + "position": 3, + "ingredient_id": "total_paton_weight", + "subrecipe_id": null, + "quantity": 1950, + "unit_id": "gram", + "percentage": 246.84, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix the dough packet ingredients until combined. Switch to a hook attachment and mix on medium speed for about 2-3 minutes, or until a smooth, slightly sticky dough comes together.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Place the dough in a buttered bowl, cover with plastic wrap and let it bulk proof for 30-60 minutes at room temperature.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Roll the dough into a rectangle about ⅜-inch thick, wrap in plastic wrap, and freeze for about 30 minutes, or until firm but not frozen.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "In a mixer fitted with a paddle attachment, mix the butter packet ingredients until light and creamy, but still cold. Shape the butter into a square ½ the size of the rectangle of détrempe. The beurrage should be of similar consistency as the détrempe when assembling together.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Place the butter inside the dough and fold over to make a package.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Give the dough 3 single turns, resting for 30 minutes in between each turn.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Butter muffin pans and coat with about ¼ of the sugar/salt mixture.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Roll the paton to ¼-inch thick, while sprinkling both sides generously with about ½ of the sugar/salt mixture. Be sure to lightly roll the sugar/salt mixture onto the surfaces of both sides of the dough.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Cut the dough into 3½-inch squares.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Pick up the squares one at a time, gently place them into the muffin pan cavities and fold the corners into the center.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_11", + "position": 11, + "instruction": "Sprinkle the tops with the remaining sugar/salt mixture.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_12", + "position": 12, + "instruction": "Let proof for about 45-60 minutes before baking for a lighter pastry, or refrigerate for up to a day for a fluffier, yeasty pastry.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_13", + "position": 13, + "instruction": "Bake at 375°F (191°C) for 12 minutes, then lower the temperature to 350°F (177°C) to finish (about another 12 minutes).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "lace_tuiles", + "schema_version": 2, + "save_version": 6, + "title": "Lace Tuiles", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1890, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_brown_sugar", + "position": 2, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 482, + "unit_id": "gram", + "percentage": 106.17, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_light_corn_syrup", + "position": 3, + "ingredient_id": "light_corn_syrup", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": 110.13, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_flour_all_purpose", + "position": 4, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.55, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the butter in a saucepan. Whisk the sugar and corn syrup into the melted butter and bring to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk in the sifted dry ingredients and bring back to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Chill before use.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Roll into desired sized balls and place on a silicone baking mat. Lightly flatten each ball with the palm of your hand.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 350°F (177°C).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Shape as desired and store in airtight containers.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "lavender_honey_almond_bars", + "schema_version": 2, + "save_version": 6, + "title": "Lavender-Honey Almond Bars", + "summary": "Yield: one half sheet pan", + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 901.25, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one half sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_lavender_buds", + "position": 2, + "ingredient_id": "lavender_buds", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "2 tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 180, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_water", + "position": 4, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_glucose_syrup", + "position": 5, + "ingredient_id": "glucose_syrup", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_butter", + "position": 6, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_lavender_honey", + "position": 7, + "ingredient_id": "lavender_honey", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_almond", + "position": 8, + "ingredient_id": "almond", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "sliced", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_candied_orange_peel", + "position": 9, + "ingredient_id": "candied_orange_peel", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "diced", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_salt", + "position": 10, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Prepare a parchment-lined half sheet pan with pate sucrée rolled to ⅛-inch thick. Chill for at least 30 minutes, then lightly blind bake.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "sheet_pan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Bring the cream and lavender buds to a boil. Cover and set aside to infuse for 30 minutes, then strain and discard the lavender. Rescale to the original weight with additional cream.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Combine the sugar, water, and glucose in a saucepan and cook to a caramel stage.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Whisk in the butter and honey and bring to a boil. Add the infused cream.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Cook to 255°F (124°C) and then add in the sliced almonds, candied orange, and salt.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Pour the mixture into the blind baked shell and spread evenly with an oiled off-set spatula.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Bake at 350°F (177ºC) until bubbly (about 8-12 minutes). Top with fleur de sel while still warm from the oven if desired.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "lavender_vanilla_glaze", + "schema_version": 2, + "save_version": 6, + "title": "Lavender-Vanilla Glaze", + "summary": null, + "categories_json": "[\"frostings_glazes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frostings_glazes\",\"classic\"]", + "yield_quantity": 1470, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 7.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 38, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_water", + "position": 3, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 275, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_lavender_honey", + "position": 4, + "ingredient_id": "lavender_honey", + "subrecipe_id": null, + "quantity": 55, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lavender_buds", + "position": 5, + "ingredient_id": "lavender_buds", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "2 tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_vanilla_bean", + "position": 6, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "split & scraped (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_vanilla_extract", + "position": 7, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_confectioners_sugar", + "position": 9, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 1135, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_purple_gel_food_coloring", + "position": 10, + "ingredient_id": "purple_gel_food_coloring", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 drop", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, heat the water, honey, lavender, extract, vanilla bean, and salt to 140°F (60°C), then add the bloomed and drained gelatin.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "thermometer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Strain the liquid before adding to the sugar to remove the lavender particles and vanilla pod.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Sift the sugar into a bowl. Add the strained liquid and stir until there are no lumps.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Add the food coloring and some additional lavender flowers to taste.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Cover with plastic wrap and let cool to room temperature before use.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Reheat if the glaze gets too thick.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Try this glaze in the summer with our yeast doughnuts on page 492.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "lemon_basil_sauce", + "schema_version": 2, + "save_version": 6, + "title": "Lemon-Basil Sauce", + "summary": null, + "categories_json": "[\"sauces_liquids\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sauces_liquids\",\"classic\"]", + "yield_quantity": 740, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sugar", + "position": 1, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_basil_leaves", + "position": 2, + "ingredient_id": "basil_leaves", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_lemon_zest", + "position": 3, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_water", + "position": 4, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lemon_juice", + "position": 5, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_butter", + "position": 6, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cubed", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_whole", + "position": 7, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a food processor, grind the sugar, basil leaves, and zest until well blended and fragrant.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "food_processor" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, bring the water, juice, butter, and ½ of the lemon-basil sugar to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk the eggs and remaining lemon-basil sugar until light.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Temper the hot liquid into the egg mixture.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Return everything to the saucepan and cook on medium-low heat, stirring continuously, until thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Strain the sauce through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Chill immediately and keep refrigerated.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "lemon_cake", + "schema_version": 2, + "save_version": 6, + "title": "Lemon Cake", + "summary": "Yield: two 9-inch cake pans", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 2180, + "yield_unit_id": "gram", + "yield_servings": 2, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: two 9-inch cake pans\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 43.24, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 497, + "unit_id": "gram", + "percentage": 94.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_lemon_zest", + "position": 3, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "each", + "percentage": 0.76, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 76.19, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_flour_all_purpose", + "position": 5, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 525, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_baking_powder", + "position": 6, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 18, + "unit_id": "gram", + "percentage": 3.43, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 0.57, + "basis_member": 0, + "optional": 0, + "notes": "¾ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_buttermilk", + "position": 8, + "ingredient_id": "buttermilk", + "subrecipe_id": null, + "quantity": 343, + "unit_id": "gram", + "percentage": 65.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_lemon_juice", + "position": 9, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 163, + "unit_id": "gram", + "percentage": 31.05, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter, sugar, and zest.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the eggs one at a time, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Alternately add the sifted dry and wet ingredients in 3 additions until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Bake at 350°F (177°C) until a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "lemon_chiffon_cake", + "schema_version": 2, + "save_version": 6, + "title": "Lemon Chiffon Cake", + "summary": "Yield: one full sheet pan or one 10-inch tube pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 1285, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one full sheet pan or one 10-inch tube pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_cake", + "position": 1, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": 55.07, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_vanilla_sugar", + "position": 3, + "ingredient_id": "vanilla_sugar", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": 55.07, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 2.2, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_baking_soda", + "position": 5, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 1.1, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_yolk", + "position": 6, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 140, + "unit_id": "gram", + "percentage": 61.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_canola_oil", + "position": 7, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 110, + "unit_id": "gram", + "percentage": 48.46, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_water", + "position": 8, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 156, + "unit_id": "gram", + "percentage": 68.72, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_lemon_juice", + "position": 9, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": 0.44, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_lemon_zest", + "position": 10, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "each", + "percentage": 0.88, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_egg_whites", + "position": 11, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 132.16, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_sugar", + "position": 12, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 22.03, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_cream_of_tartar", + "position": 13, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 2.2, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Sift the dry ingredients and place in a bowl large enough to accommodate the entire recipe.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the egg yolks, oil, water, juice, and zest together.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk the wet ingredients into the sifted dry ingredients and thoroughly mix until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Prepare a stiff peak French meringue with the egg whites, sugar, and cream of tartar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold the meringue into the batter just until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 325°F (163°C) until the cake springs back to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "lemon_curd", + "schema_version": 2, + "save_version": 7, + "title": "Lemon Curd", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1400, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[]", + "source_json": "{\"schema_version\":2,\"id\":\"lemon_curd\",\"title\":\"Lemon Curd\",\"categories\":[\"sauce\"],\"tags\":[\"dessert-sauce\",\"filling\"],\"yield\":{\"amount\":{\"quantity\":242.22,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_lemon_juice\",\"reference\":{\"ingredient_id\":\"lemon_juice\"},\"amount\":{\"quantity\":50,\"unit_id\":\"gram\"},\"percentage\":50},{\"id\":\"line_03_egg_yolk\",\"reference\":{\"ingredient_id\":\"egg_yolk\"},\"amount\":{\"quantity\":48.89,\"unit_id\":\"gram\"},\"percentage\":48.89},{\"id\":\"line_04_butter\",\"reference\":{\"ingredient_id\":\"butter\"},\"amount\":{\"quantity\":40,\"unit_id\":\"gram\"},\"percentage\":40},{\"id\":\"line_05_lemon_zest\",\"reference\":{\"ingredient_id\":\"lemon_zest\"},\"amount\":{\"quantity\":3.33,\"unit_id\":\"gram\"},\"percentage\":3.33}]}],\"equipment_ids\":[\"blender\",\"mixing_bowl\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine sugar, egg yolks, lemon juice, and lemon zest in a stainless steel bowl over a double boiler.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Stir occasionally until the mixture thickens to a ketchup-like consistency.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Remove from heat and strain into a clean container.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Add butter at 90°F (32°C) to 95°F (35°C) and blend with an immersion blender.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Cover to the surface and refrigerate.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "blender", + "mixing_bowl" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_lemon_juice", + "position": 3, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 320, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "divided", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lemon_zest", + "position": 5, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 12, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whole", + "position": 6, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_butter", + "position": 7, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cubed", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, bring the juice, ½ of the sugar, and zest to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Meanwhile, whisk together the eggs and the other ½ of the sugar until light and thick.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "When the juice mixture comes to a boil, temper about ⅓ of the hot mixture into the eggs. Use a rubber spatula to scrape all of the tempered egg mixture into the saucepan and continue to whisk on medium-low heat until the mixture thickens and reaches the scalding point.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Strain through a fine-mesh strainer. Allow the hot curd to cool for about 5-10 minutes, stirring occasionally.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Using an immersion blender, blend in the bloomed and drained gelatin, followed by the butter.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "There are several ways a chef can prepare lemon curd. In this procedure we maintain the emulsion of the butter yielding a smoother and creamier mouthfeel.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "lemon_granite", + "schema_version": 2, + "save_version": 6, + "title": "Lemon Granité", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1400, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 190, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_lemon_zest", + "position": 4, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_water", + "position": 5, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 960, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_lemon_juice", + "position": 6, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 220, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Grind the sugar and zest together in a food processor until well ground.", + "critical_control_point": 0, + "equipment_ids": [ + "food_processor" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a saucepan, whisk the lemon zest sugar into the water and heat to185°F (85°C).", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir in the bloomed gelatin to dissolve.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Chill to room temperature. Once cool, strain through a fine-mesh strainer and whisk in the juice.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Pour into a shallow pan and begin to freeze, stirring every 15 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "lemon_mousse_with_lemon_curd", + "schema_version": 2, + "save_version": 6, + "title": "Lemon Mousse with Lemon Curd", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 2635, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 940, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 qt", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_lemon_curd", + "position": 4, + "ingredient_id": "lemon_curd", + "subrecipe_id": null, + "quantity": 1200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lemon_confit", + "position": 5, + "ingredient_id": "lemon_confit", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "optional", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whites", + "position": 6, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 225, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Melt the bloomed and drained gelatin and whisk into the curd and optional confit until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make an Italian meringue with the sugar and egg whites; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold the curd into the meringue, followed by the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "lemon_olive_oil_madeleines", + "schema_version": 2, + "save_version": 6, + "title": "Lemon-Olive Oil Madeleines", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1895, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"This recipe yields a moist madeleine that will not dry out as quickly as a traditional madeleine.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 40, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_milk_whole", + "position": 2, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 20, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_lemon_zest", + "position": 3, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "each", + "percentage": 0.4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 80, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 80, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_brown_sugar", + "position": 6, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 10, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_invert_sugar", + "position": 7, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": 5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_flour_all_purpose", + "position": 8, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_baking_powder", + "position": 9, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_salt", + "position": 10, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_olive_oil", + "position": 11, + "ingredient_id": "olive_oil", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 40, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, melt the butter with the milk and zest. Bring to a scald and set aside until warm.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a whisk attachment, whisk the eggs and sugars until light and thick.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the warm butter mixture.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the sifted dry ingredients, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Gradually whisk in the oil.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Chill before use.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Bake at 375°F (191°C) until the madeleines spring back to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "lemon_poppy_seed_muffins", + "schema_version": 2, + "save_version": 6, + "title": "Lemon Poppy Seed Muffins", + "summary": null, + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breakfast\",\"classic\"]", + "yield_quantity": 1694, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 338, + "unit_id": "gram", + "percentage": 84.5, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 62.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_invert_sugar", + "position": 3, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 12.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 62.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vanilla_extract", + "position": 5, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 1.75, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_flour_cake", + "position": 6, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_semolina", + "position": 7, + "ingredient_id": "semolina", + "subrecipe_id": null, + "quantity": 12, + "unit_id": "gram", + "percentage": 3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_baking_powder", + "position": 8, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 12, + "unit_id": "gram", + "percentage": 3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_milk_whole", + "position": 9, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": 31.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_sour_cream", + "position": 10, + "ingredient_id": "sour_cream", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": 31.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_candied_lemon_zest", + "position": 11, + "ingredient_id": "candied_lemon_zest", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 25, + "basis_member": 0, + "optional": 0, + "notes": "chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_poppy_seeds", + "position": 12, + "ingredient_id": "poppy_seeds", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": 6.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter and sugars.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the eggs one at a time, followed by the extract, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Alternately fold in the sifted dry and wet ingredients, beginning and ending with the dry.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Gently fold in the candied zest and poppy seeds.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 350°F (177°C) until a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "lemon_poppy_seed_pound_cake", + "schema_version": 2, + "save_version": 6, + "title": "Lemon Poppy Seed Pound Cake", + "summary": "Yield: two 9-inch loaf pans", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 2048, + "yield_unit_id": "gram", + "yield_servings": 2, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: two 9-inch loaf pans\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_egg_whole", + "position": 1, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 72.73, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 550, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_lemon_zest", + "position": 3, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "each", + "percentage": 0.73, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sour_cream", + "position": 4, + "ingredient_id": "sour_cream", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 45.45, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_flour_all_purpose", + "position": 5, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 550, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_baking_powder", + "position": 6, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 1.82, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 8, + "unit_id": "gram", + "percentage": 1.45, + "basis_member": 0, + "optional": 0, + "notes": "1¾ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_poppy_seeds", + "position": 8, + "ingredient_id": "poppy_seeds", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": 5.45, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_butter", + "position": 9, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 45.45, + "basis_member": 0, + "optional": 0, + "notes": "melted", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Cake:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a whisk attachment, whip the eggs, sugar, and zest until light and thick.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the sour cream and mix to incorporate.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Sift the dry ingredients, then mix with the poppy seeds.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Add the dry ingredients to the egg mixture and mix until combined, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Slowly whisk the melted butter into the batter as to maintain an emulsion.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Bake at 325°F (163°C) until a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_8", + "position": 8, + "instruction": "When the cake is almost finished baking, brush some lemon soaking syrup over the top of the cakes several times and put back in the oven for just a few minutes to finish.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Soaking Syrup:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Combine all the ingredients over a water bath until liquified and smooth.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "lemon_poppy_seed_pound_cake_p100", + "schema_version": 2, + "save_version": 6, + "title": "Lemon Poppy Seed Pound Cake", + "summary": "Yield: two 9-inch loaf pans", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 145, + "yield_unit_id": "gram", + "yield_servings": 2, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: two 9-inch loaf pans\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_lemon_juice", + "position": 1, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_confectioners_sugar", + "position": 2, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 55, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_icing_fondant", + "position": 3, + "ingredient_id": "icing_fondant", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Cake:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a whisk attachment, whip the eggs, sugar, and zest until light and thick.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the sour cream and mix to incorporate.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Sift the dry ingredients, then mix with the poppy seeds.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Add the dry ingredients to the egg mixture and mix until combined, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Slowly whisk the melted butter into the batter as to maintain an emulsion.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Bake at 325°F (163°C) until a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_8", + "position": 8, + "instruction": "When the cake is almost finished baking, brush some lemon soaking syrup over the top of the cakes several times and put back in the oven for just a few minutes to finish.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Soaking Syrup:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Combine all the ingredients over a water bath until liquified and smooth.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "lemon_pudding_cakes", + "schema_version": 2, + "save_version": 6, + "title": "Lemon Pudding Cakes", + "summary": null, + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 1655, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": 25, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_butter", + "position": 3, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 115, + "unit_id": "gram", + "percentage": 115, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 160, + "unit_id": "gram", + "percentage": 160, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 200, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_flour_all_purpose", + "position": 6, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_lemon_juice", + "position": 7, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 230, + "unit_id": "gram", + "percentage": 230, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_lemon_zest", + "position": 8, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "each", + "percentage": 4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_milk_whole", + "position": 9, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 450, + "unit_id": "gram", + "percentage": 450, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_egg_whites", + "position": 10, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": 240, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_sugar", + "position": 11, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 130, + "unit_id": "gram", + "percentage": 130, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_salt", + "position": 12, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": 0.6, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Melt the butter and whisk into the egg yolks.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Sift the first weight of sugar and flour together, then whisk into the yolk mixture until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Whisk in the juice, zest, and milk.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Melt the bloomed gelatin, and whisk into the lemon mixture.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Make a medium-soft peak French meringue with the second weight of sugar, egg whites, and salt.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Fold the meringue into the lemon mixture.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Portion into buttered and sugared ramekins.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Bake in a water bath at 325°F (163°F) just until set.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "lemon_sorbet", + "schema_version": 2, + "save_version": 6, + "title": "Lemon Sorbet", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 645, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_dextrose", + "position": 2, + "ingredient_id": "dextrose", + "subrecipe_id": null, + "quantity": 235, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 158, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "divided", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_lemon_zest", + "position": 4, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sorbet_stabilizer", + "position": 5, + "ingredient_id": "sorbet_stabilizer", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1¼ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_lemon_juice", + "position": 6, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 450, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Place the water in a saucepan large enough to accommodate the entire recipe. With an immersion blender, blend in the dextrose to dissolve.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Rub the zest with ½ of the sugar until fragrant. Combine the remaining sugar with the stabilizer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Heat the mixture until warm, 105°F (40°C); whisk in the lemon zest sugar and the sugar that has been blended with the stabilizer.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir with a whisk and heat to 185°F (85°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Chill immediately. Once cool, whisk in the juice and allow to mature for 6 to 12 hours.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Blend with an immersion blender, then strain through a fine-mesh strainer before spinning.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "lemon_tart_filling", + "schema_version": 2, + "save_version": 6, + "title": "Lemon Tart Filling", + "summary": null, + "categories_json": "[\"tart_pie_fillings\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"tart_pie_fillings\",\"classic\"]", + "yield_quantity": 1650, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_lemon", + "position": 1, + "ingredient_id": "lemon", + "subrecipe_id": null, + "quantity": 12, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "juice & zest", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_egg_whole", + "position": 2, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 450, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_butter", + "position": 5, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 175, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "melted", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Whisk together the juice, zest, eggs, sugar, and salt until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the melted butter into the lemon mixture.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Warm the filling over a water bath until about 120°F (49°C). Using an immersion blender, blend everything together then strain the mixture through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "thermometer" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Remove excess air bubbles from the top of the custard by placing a piece of plastic wrap or paper towel on the surface and then removing.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 250°F (121°C) in blind baked tart shells just until set.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "light_almond_sheet_cake", + "schema_version": 2, + "save_version": 6, + "title": "Light Almond Sheet Cake", + "summary": "Yield: one full sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 1000, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one full sheet pan\",\"This cake will yield one thin full sheet pan, or one thicker half sheet pan.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_almond_flour", + "position": 1, + "ingredient_id": "almond_flour", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 125, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_confectioners_sugar", + "position": 2, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 125, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 2.08, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 125, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_yolk", + "position": 5, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_vanilla_extract", + "position": 6, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 3.75, + "unit_id": "gram", + "percentage": 3.13, + "basis_member": 0, + "optional": 0, + "notes": "¾ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_almond_extract", + "position": 7, + "ingredient_id": "almond_extract", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 1.04, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_egg_whites", + "position": 8, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 270, + "unit_id": "gram", + "percentage": 225, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_sugar", + "position": 9, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 83.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_cream_of_tartar", + "position": 10, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 2.5, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_flour_cake", + "position": 11, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a whisk attachment, whisk the almond flour, powdered sugar, salt, whole eggs, yolks, and extracts until a thick ribbon is achieved.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Make a medium peak French meringue with the egg whites, sugar, and cream of tartar. Gently fold the meringue into the almond mixture until streaky. Fold in the cake flour until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Bake at 350ºF (177ºC) until the cake springs back to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "lightened_vanilla_creme_mousseline", + "schema_version": 2, + "save_version": 6, + "title": "Lightened Vanilla Crème Mousseline", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 2333, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 7.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 38, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_milk_whole", + "position": 3, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 960, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 qt", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_vanilla_bean", + "position": 4, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "split & scraped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 268, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "divided", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_yolk", + "position": 6, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 160, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_cornstarch", + "position": 7, + "ingredient_id": "cornstarch", + "subrecipe_id": null, + "quantity": 71, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_butter", + "position": 9, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 219, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cubed", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_heavy_cream", + "position": 10, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 609, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Prepare a pastry cream with the milk, vanilla beans, sugar, egg yolks, cornstarch, and salt.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Transfer the hot pastry cream to a mixer fitted with a paddle attachment and mix in the bloomed and drained gelatin. Continue to mix until slightly warm, 110ºF (43ºC).", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "When the pastry cream is slightly warm, add the butter a little at a time, beating until completely incorporated and the mixture is light and fluffy.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Whip the cream to medium peaks and fold into the cooled pastry cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "lime_bonbon_ganache", + "schema_version": 2, + "save_version": 6, + "title": "Lime Bonbon Ganache", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_chocolate_white", + "position": 1, + "ingredient_id": "chocolate_white", + "subrecipe_id": null, + "quantity": 492, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_invert_sugar", + "position": 2, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 35, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 107, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_lime_zest", + "position": 4, + "ingredient_id": "lime_zest", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_yolk", + "position": 5, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_lime_juice", + "position": 7, + "ingredient_id": "lime_juice", + "subrecipe_id": null, + "quantity": 205, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_butter", + "position": 8, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 35, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_rum", + "position": 9, + "ingredient_id": "rum", + "subrecipe_id": null, + "quantity": 26, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Combine the chocolate and invert sugar in a bowl large enough to accommodate the entire recipe.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, bring the cream to a boil. Add the zest and let infuse for 30 minutes, then strain.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Make a crème anglaise with the lime infused cream, egg yolks, and granulated sugar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Heat the juice to 165°F (74°C) and add it to the crème anglaise.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Pour the warm crème anglaise mixture over the chocolate. Allow to stand for one minute, then emulsify until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Stir in the softened butter, followed by the rum.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Cover the surface of the ganache with plastic wrap. Allow to rest at room temperature until it reaches 78°F (26°C). The cooled ganache should have a thick, yet fluid consistency to properly fill bonbon shells.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "lime_curd", + "schema_version": 2, + "save_version": 6, + "title": "Lime Curd", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1380, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_lime_juice", + "position": 3, + "ingredient_id": "lime_juice", + "subrecipe_id": null, + "quantity": 320, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 230, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "divided", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lime_zest", + "position": 5, + "ingredient_id": "lime_zest", + "subrecipe_id": null, + "quantity": 12, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whole", + "position": 6, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_butter", + "position": 7, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cubed", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, bring the juice, ½ of the sugar, and zest to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Meanwhile, whisk together the eggs and the other ½ of the sugar until light and thick.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "When the juice mixture comes to a boil, temper about ⅓ of the hot mixture into the eggs. Use a rubber spatula to scrape all of the tempered egg mixture into the saucepan and continue to whisk on medium-low heat until the mixture thickens and reaches the scalding point.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Strain through a fine-mesh strainer. Allow the hot curd to cool for about 5-10 minutes, stirring occasionally.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Using an immersion blender, blend in the bloomed and drained gelatin, followed by the butter.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "lime_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Lime Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 1660, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_lime_puree", + "position": 4, + "ingredient_id": "lime_puree", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "10% sugar", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_yolk", + "position": 5, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 350, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 190, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Warm ⅓ of the puree and melt the bloomed and drained gelatin into it. Whisk that warm mixture back into the rest of the puree. Cool to about 65°F (18°C), or until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make a pâte à bombe with the sugar and egg yolks; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold ½ of the puree into the pâte à bombe. Fold the other ½ into the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the two mixtures together.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "linzer_dough", + "schema_version": 2, + "save_version": 8, + "title": "Linzer Dough", + "summary": "This signature Austrian classic is known for its berry preserve filling and tender lattice top dough. It is named after the Austrian city of Linz.", + "categories_json": "[\"doughs\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"doughs\",\"classic\"]", + "yield_quantity": 1550, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"The dough can be refrigerated for 3 days or frozen up to 2 months.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 294, + "unit_id": "gram", + "percentage": 53.85, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 318, + "unit_id": "gram", + "percentage": 58.24, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_almond_flour", + "position": 3, + "ingredient_id": "almond_flour", + "subrecipe_id": null, + "quantity": 225, + "unit_id": "gram", + "percentage": 41.21, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 27.47, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vanilla_extract", + "position": 5, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 0.55, + "basis_member": 0, + "optional": 0, + "notes": "½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_flour_all_purpose", + "position": 6, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 546, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_cinnamon", + "position": 7, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 0.55, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_baking_powder", + "position": 8, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 0.92, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 1.1, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter and sugar.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the almond flour to combine.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the eggs one at a time, followed by the extract, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the sifted dry ingredients and mix just until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Wrap the dough in plastic wrap and refrigerate for a minimum of 1 hour, preferably overnight.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "lo_mein_sauce", + "schema_version": 2, + "save_version": 1, + "title": "Lo Mein Sauce", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"chinese\"]", + "yield_quantity": 271, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"lo_mein_sauce\",\"title\":\"Lo Mein Sauce\",\"categories\":[\"sauce\"],\"tags\":[\"chinese\"],\"yield\":{\"amount\":{\"quantity\":271,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_oyster_sauce\",\"reference\":{\"ingredient_id\":\"oyster_sauce\"},\"amount\":{\"quantity\":65,\"unit_id\":\"gram\"},\"percentage\":65},{\"id\":\"line_03_soy_sauce_light\",\"reference\":{\"ingredient_id\":\"soy_sauce_light\"},\"amount\":{\"quantity\":50,\"unit_id\":\"gram\"},\"percentage\":50},{\"id\":\"line_04_cornstarch\",\"reference\":{\"ingredient_id\":\"cornstarch\"},\"amount\":{\"quantity\":16,\"unit_id\":\"gram\"},\"percentage\":16},{\"id\":\"line_05_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":13,\"unit_id\":\"gram\"},\"percentage\":13},{\"id\":\"line_06_soy_sauce_dark\",\"reference\":{\"ingredient_id\":\"soy_sauce_dark\"},\"amount\":{\"quantity\":10,\"unit_id\":\"gram\"},\"percentage\":10},{\"id\":\"line_07_sesame_oil\",\"reference\":{\"ingredient_id\":\"sesame_oil\"},\"amount\":{\"quantity\":10,\"unit_id\":\"gram\"},\"percentage\":10},{\"id\":\"line_08_chicken_base\",\"reference\":{\"ingredient_id\":\"chicken_base\"},\"amount\":{\"quantity\":6,\"unit_id\":\"gram\"},\"percentage\":6},{\"id\":\"line_09_white_pepper\",\"reference\":{\"ingredient_id\":\"white_pepper\"},\"amount\":{\"quantity\":1,\"unit_id\":\"gram\"},\"percentage\":1}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine all in sauce pot.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Bring to boil, stirring vigorously until thickened.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_oyster_sauce", + "position": 2, + "ingredient_id": "oyster_sauce", + "subrecipe_id": null, + "quantity": 65, + "unit_id": "gram", + "percentage": 65, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_soy_sauce_light", + "position": 3, + "ingredient_id": "soy_sauce_light", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_cornstarch", + "position": 4, + "ingredient_id": "cornstarch", + "subrecipe_id": null, + "quantity": 16, + "unit_id": "gram", + "percentage": 16, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 13, + "unit_id": "gram", + "percentage": 13, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_soy_sauce_dark", + "position": 6, + "ingredient_id": "soy_sauce_dark", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 10, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sesame_oil", + "position": 7, + "ingredient_id": "sesame_oil", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 10, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_chicken_base", + "position": 8, + "ingredient_id": "chicken_base", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_white_pepper", + "position": 9, + "ingredient_id": "white_pepper", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine all in sauce pot.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Bring to boil, stirring vigorously until thickened.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "lychee_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Lychee Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 2322, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 32, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 160, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 700, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_lychee_puree", + "position": 4, + "ingredient_id": "lychee_puree", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "10% sugar", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lemon_juice", + "position": 5, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whites", + "position": 6, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Warm ⅓ of the puree and melt the bloomed and drained gelatin into it. Whisk that warm mixture back into the rest of the puree and add the juice. Cool to about 65°F (18°C), or until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make an Italian meringue with the sugar and egg whites; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold ½ of the puree into the meringue. Fold the other ½ into the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the two mixtures together.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "lychee_vanilla_panna_cotta", + "schema_version": 2, + "save_version": 6, + "title": "Lychee-Vanilla Panna Cotta", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 2122, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 820, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 170, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_vanilla_bean", + "position": 4, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "split & scraped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_gelatin_sheet", + "position": 5, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 22, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_water", + "position": 6, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 110, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_lychee_puree", + "position": 7, + "ingredient_id": "lychee_puree", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "10% sugar", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the cream, sugar, salt, and vanilla bean to a boil; set aside to infuse while the gelatin is blooming.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Off the heat, add the bloomed and drained gelatin to the mixture and gently whisk to minimize air bubbles.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the puree and mix to combine.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Strain through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Stir over an ice bath until slightly thickened and pour into desired molds.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "mac_cheese_sauce", + "schema_version": 2, + "save_version": 1, + "title": "Mac & Cheese Sauce", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"cheese\"]", + "yield_quantity": 196, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"mac_cheese_sauce\",\"title\":\"Mac & Cheese Sauce\",\"categories\":[\"sauce\"],\"tags\":[\"cheese\"],\"yield\":{\"amount\":{\"quantity\":196,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_cheddar_cheese\",\"reference\":{\"ingredient_id\":\"cheddar_cheese\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":93,\"unit_id\":\"gram\"},\"percentage\":93},{\"id\":\"line_03_sodium_citrate\",\"reference\":{\"ingredient_id\":\"sodium_citrate\"},\"amount\":{\"quantity\":3,\"unit_id\":\"gram\"},\"percentage\":3}]}],\"equipment_ids\":[\"whisk\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Dissolve sodium citrate, water.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Bring to simmer.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Add shredded cheese slowly, whisk constantly.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "whisk" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_cheddar_cheese", + "position": 1, + "ingredient_id": "cheddar_cheese", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 93, + "unit_id": "gram", + "percentage": 93, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sodium_citrate", + "position": 3, + "ingredient_id": "sodium_citrate", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Dissolve sodium citrate, water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Bring to simmer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Add shredded cheese slowly, whisk constantly.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "macarons", + "schema_version": 2, + "save_version": 6, + "title": "Macarons", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Do not open the oven door during the baking process. Total baking time will be determined based on the size of the macaron and calibration of the oven.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_10x_sugar", + "position": 1, + "ingredient_id": "10x_sugar", + "subrecipe_id": null, + "quantity": 419, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_almond_flour", + "position": 2, + "ingredient_id": "almond_flour", + "subrecipe_id": null, + "quantity": 357, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_whites", + "position": 3, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 153, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 419, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_water", + "position": 5, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 96, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whites", + "position": 6, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 153, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_cream_of_tartar", + "position": 7, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a food processor, grind the sugar and flour until fine. Pass through a sifter and place in a bowl large enough to accommodate the entire recipe.", + "critical_control_point": 0, + "equipment_ids": [ + "food_processor", + "mixing_bowl" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Mix the ground mixture, the first weight of egg whites, and desired amount of gel food coloring until a smooth paste forms. Cover with plastic wrap and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Make an Italian meringue with the sugar, water, second weight of egg whites, and tartar. Cook the sugar to 243°F (117°C) and time the sugar with the egg whites so the whites are at medium peaks when the sugar reaches the proper temperature. Whisk until tepid, about 120°F (49°C).", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Fold the meringue into the reserved paste in 3 additions, then macaronage the mixture until a ribbon flattens back into the mix in about 10 seconds.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Pipe into rounds about 1¼-inches in diameter on a silicone baking mat. Set aside to air dry for 60 minutes to develop a shell before baking.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake 300°F (149°C) for 11-12 minutes.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "malt_creme_anglaise", + "schema_version": 2, + "save_version": 6, + "title": "Malt Crème Anglaise", + "summary": null, + "categories_json": "[\"sauces_liquids\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sauces_liquids\",\"classic\"]", + "yield_quantity": 1475, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Crème anglaise has a shelf-life up to 3 days.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_milk_whole", + "position": 1, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_malt_powder", + "position": 3, + "ingredient_id": "malt_powder", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "divided", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_yolk", + "position": 5, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the milk, cream, malt powder, and ½ of the sugar to a boil. Meanwhile, whisk the egg yolks, the other ½ of the sugar, and salt until light and thick.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Temper about ⅓ of the hot milk mixture into the yolk mixture.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Return everything to the saucepan and cook on medium-low heat, stirring continuously, until the mixture coats the back of a wooden spoon.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Strain the crème anglaise through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Chill immediately and keep refrigerated.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "mandarin_champagne_sorbet", + "schema_version": 2, + "save_version": 6, + "title": "Mandarin Champagne Sorbet", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_mandarin_orange_juice", + "position": 1, + "ingredient_id": "mandarin_orange_juice", + "subrecipe_id": null, + "quantity": 665, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "fresh", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_powdered_glucose", + "position": 2, + "ingredient_id": "powdered_glucose", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "divided", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_mandarin_orange_zest", + "position": 4, + "ingredient_id": "mandarin_orange_zest", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sorbet_stabilizer", + "position": 5, + "ingredient_id": "sorbet_stabilizer", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1¼ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_champagne", + "position": 6, + "ingredient_id": "champagne", + "subrecipe_id": null, + "quantity": 375, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Place the juice in a saucepan large enough to accommodate the entire recipe. With an immersion blender, blend in the glucose to dissolve.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Rub the zest with ½ of the sugar until fragrant. Combine the remaining sugar with the stabilizer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Heat the juice until warm, 105°F (40°C); whisk in the mandarin zest sugar and the sugar that has been blended with the stabilizer.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir with a whisk and heat to 185°F (85°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Chill immediately and allow to mature for 6 to 12 hours.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Blend with an immersion blender before spinning.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Weigh the champagne, previously chilled in the refrigerator, and pour into the ice cream machine at the beginning of the spinning process.", + "critical_control_point": 0, + "equipment_ids": [ + "food_processor", + "kitchen_scale" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "mandarin_lime_sauce", + "schema_version": 2, + "save_version": 6, + "title": "Mandarin-Lime Sauce", + "summary": null, + "categories_json": "[\"sauces_liquids\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sauces_liquids\",\"classic\"]", + "yield_quantity": 1000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_mandarin_orange_puree", + "position": 1, + "ingredient_id": "mandarin_orange_puree", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "10% Sugar", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_apricot_puree", + "position": 2, + "ingredient_id": "apricot_puree", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "10% Sugar", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_confectioners_sugar", + "position": 3, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 188, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_lime_zest", + "position": 4, + "ingredient_id": "lime_zest", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lime_juice", + "position": 5, + "ingredient_id": "lime_juice", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_ginger_juice", + "position": 6, + "ingredient_id": "ginger_juice", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, whisk the purees along with the sugar and bring to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Lower to a simmer and reduce until thickened to desired consistency, stirring periodically.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk in the zest and cool the sauce down immediately over an ice bath.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir in the juices.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "mandarin_orange_creme_brulee", + "schema_version": 2, + "save_version": 6, + "title": "Mandarin Orange Crème Brûlée", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 2167, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Crème brûlée has a shelf life up to 3 days.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_milk_whole", + "position": 2, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 165, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_orange_oil", + "position": 3, + "ingredient_id": "orange_oil", + "subrecipe_id": null, + "quantity": 12, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_orange_zest", + "position": 4, + "ingredient_id": "orange_zest", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_mandarin_orange_puree", + "position": 5, + "ingredient_id": "mandarin_orange_puree", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "10% sugar", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 210, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "divided", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_whole", + "position": 7, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_egg_yolk", + "position": 8, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the cream, milk, oil, and zest to a boil; cover and infuse for 30 minutes.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Reheat the cream mixture with about ½ of the sugar until incorporated, then add the puree.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk together the other ½ of the sugar with the whole eggs, yolks, and salt.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Temper the hot cream into the egg yolk mixture until smooth and homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Strain through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Remove excess air bubbles from the top of the crème brûlée custard by placing a piece of plastic wrap or paper towel on the surface and then removing.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Bake at 275°F (135°C) in a water bath, covered, until the custard trembles slightly when shaken.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "mandarin_orange_curd", + "schema_version": 2, + "save_version": 6, + "title": "Mandarin Orange Curd", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1423, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 8, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_mandarin_orange_puree", + "position": 3, + "ingredient_id": "mandarin_orange_puree", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "10% sugar", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 350, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "divided", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_orange_zest", + "position": 5, + "ingredient_id": "orange_zest", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whole", + "position": 6, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_yolk", + "position": 7, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_butter", + "position": 8, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cubed", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, bring the puree, ½ of the sugar, and zest to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Meanwhile, whisk together the whole eggs, yolks, and the other ½ of the sugar until light and thick.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "When the puree mixture comes to a boil, temper ⅓ of the hot mixture into the eggs. Use a rubber spatula to scrape all of the tempered egg mixture into the saucepan and continue to whisk on medium-low heat until the mixture thickens and reaches the scalding point.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Strain through a fine-mesh strainer. Allow the hot curd to cool for about 5-10 minutes, stirring occasionally.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Using an immersion blender, blend in the bloomed and drained gelatin, followed by the butter.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "mandarin_orange_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Mandarin Orange Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 2037, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 27, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 135, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_mandarin_orange_puree", + "position": 4, + "ingredient_id": "mandarin_orange_puree", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "10% sugar", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_whites", + "position": 5, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Warm ⅓ of the puree and melt the bloomed and drained gelatin into it. Whisk that warm mixture back into the rest of the puree. Cool to about 65°F (18°C), or until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make an Italian meringue with the sugar and egg whites; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold ½ of the puree into the meringue. Fold the other ½ into the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the two mixtures together.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "mango_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Mango Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 2350, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 800, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_mango_puree", + "position": 4, + "ingredient_id": "mango_puree", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "10% sugar", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lime_juice", + "position": 5, + "ingredient_id": "lime_juice", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whites", + "position": 6, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Warm ⅓ of the puree and melt the bloomed and drained gelatin into it. Whisk that warm mixture back into the rest of the puree and add the juice. Cool to about 65°F (18°C), or until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make an Italian meringue with the sugar and egg whites; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold ½ of the puree into the meringue. Fold the other ½ into the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the two mixtures together.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "mango_sorbet", + "schema_version": 2, + "save_version": 6, + "title": "Mango Sorbet", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 408, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_dextrose", + "position": 2, + "ingredient_id": "dextrose", + "subrecipe_id": null, + "quantity": 225, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 110, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sorbet_stabilizer", + "position": 4, + "ingredient_id": "sorbet_stabilizer", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1¼ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_mango_puree", + "position": 5, + "ingredient_id": "mango_puree", + "subrecipe_id": null, + "quantity": 750, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_lime_juice", + "position": 6, + "ingredient_id": "lime_juice", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Place the water in a saucepan large enough to accommodate the entire recipe. With an immersion blender, blend in the dextrose to dissolve.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Combine the sugar with the stabilizer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Heat the mixture until warm, 105°F (40°C); whisk in the sugar that has been blended with the stabilizer.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir with a whisk and heat to 185°F (85°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Chill immediately. Once cool, whisk in the puree and allow to mature for 6 to 12 hours.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Blend with an immersion blender before spinning.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "maple_creme_mousseline", + "schema_version": 2, + "save_version": 6, + "title": "Maple Crème Mousseline", + "summary": null, + "categories_json": "[\"frostings_glazes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frostings_glazes\",\"classic\"]", + "yield_quantity": 2100, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"See the Chef's Notes in the Basic Crème Mousseline recipe on page 179.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_milk_whole", + "position": 1, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 800, + "unit_id": "gram", + "percentage": 1333.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_pure_maple_syrup", + "position": 2, + "ingredient_id": "pure_maple_syrup", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": 1000, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 4.17, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_cornstarch", + "position": 4, + "ingredient_id": "cornstarch", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_flour_all_purpose", + "position": 5, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whole", + "position": 6, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 166.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_yolk", + "position": 7, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": 133.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_butter", + "position": 8, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 666.67, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_maple_extract", + "position": 9, + "ingredient_id": "maple_extract", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 8.33, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the milk, maple syrup, and salt to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Meanwhile, whisk the cornstarch, flour, whole eggs, and yolks in a bowl until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Temper the egg mixture with the hot milk and return everything back to the pan.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Bring the mixture to a boil, whisking continuously for 2 minutes.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Transfer the hot pastry cream to a bowl of a mixer and paddle until room temperature.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "stand_mixer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Add the butter and extract to the pastry cream and mix until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "marble_pound_cake", + "schema_version": 2, + "save_version": 6, + "title": "Marble Pound Cake", + "summary": "Yield: two 9-inch loaf pans", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 1772, + "yield_unit_id": "gram", + "yield_servings": 2, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: two 9-inch loaf pans\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 75, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_flour_cake", + "position": 2, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 25, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_baking_powder", + "position": 3, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.25, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.25, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 470, + "unit_id": "gram", + "percentage": 117.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_invert_sugar", + "position": 6, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 12.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_butter", + "position": 7, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 75, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_sour_cream", + "position": 8, + "ingredient_id": "sour_cream", + "subrecipe_id": null, + "quantity": 280, + "unit_id": "gram", + "percentage": 70, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_egg_whole", + "position": 9, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_vanilla_extract", + "position": 10, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 1.75, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_vanilla_cake_batter", + "position": 11, + "ingredient_id": "vanilla_cake_batter", + "subrecipe_id": null, + "quantity": 530, + "unit_id": "gram", + "percentage": 132.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_cocoa_powder", + "position": 12, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 10, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_milk_whole", + "position": 13, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 3.75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix the dry ingredients with the invert sugar and butter until sandy.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the sour cream, eggs, and extract until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add ½ of the wet ingredients to the batter and mix on low speed until combined. Add the remaining wet ingredients and mix until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Scrape down the bowl and mix on medium speed for 2-3 minutes, or until smooth and aerated.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Mix 530 grams (18.7 oz) of the vanilla cake batter along with the cocoa powder and milk to make a chocolate cake batter.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Place the chocolate cake batter on top of the vanilla cake batter and lightly fold together until they marble. Divide into prepared loaf pans.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Bake at 325°F (163°C) until a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "marquise_au_chocolat", + "schema_version": 2, + "save_version": 6, + "title": "Marquise au Chocolat", + "summary": "Yield: one 9-inch loaf pan", + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 1240, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one 9-inch loaf pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_valrhona_extra_bitter_chocolate", + "position": 1, + "ingredient_id": "valrhona_extra_bitter_chocolate", + "subrecipe_id": null, + "quantity": 340, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "61%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_butter", + "position": 3, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_yolk", + "position": 5, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 160, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_water", + "position": 7, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_egg_whites", + "position": 8, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_sugar", + "position": 9, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_cocoa_powder", + "position": 10, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Line a loaf pan or terrine mold with plastic wrap and set aside.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Melt the chocolate and keep warm.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter and salt until light and fluffy.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Add the melted chocolate and mix until homogenous; keep warm.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Make a pâte à bombe with the egg yolks, first weight of sugar, and water. Whip until slightly warm, then whisk that into the warm chocolate-butter mixture.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Make a Swiss meringue with the egg whites and second weight of sugar. Whip until mediumsoft peaks and slightly warm.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "stand_mixer" + ] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Place the meringue and whipped cream on top of the chocolate mixture.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Sift the cocoa powder directly over the top of the meringue and whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Quickly fold everything together with a balloon whisk.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_11", + "position": 11, + "instruction": "Fill the loaf pan or terrine mold with the mousse.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_12", + "position": 12, + "instruction": "Chill in the refrigerator until set.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "marshmallows", + "schema_version": 2, + "save_version": 6, + "title": "Marshmallows", + "summary": "Yield: one half sheet pan", + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1651.25, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one half sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 680, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_water", + "position": 4, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 170, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_glucose_syrup", + "position": 5, + "ingredient_id": "glucose_syrup", + "subrecipe_id": null, + "quantity": 340, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_invert_sugar", + "position": 6, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_honey", + "position": 7, + "ingredient_id": "honey", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_vanilla_bean", + "position": 8, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "seeds", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in the first weight of water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, cook the sugars, second weight of water, glucose, and honey to 252°F (122°C).", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "saucepan", + "thermometer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Pour the cooked sugar into a mixing bowl and allow to cool to 212°F (100°C).", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "thermometer" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Gently melt the bloomed gelatin and add it to the syrup.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "In a mixer fitted with a whisk attachment, whip the syrup/gelatin mixture on high speed until well aerated. Whisk in the vanilla bean seeds and salt.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Spread the marshmallow mixture onto an oiled parchment-lined half sheet pan. Place another piece of oiled parchment paper on top and flatten until level and smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Dust the top with a sifted 50/50 mixture of powdered sugar and cornstarch and allow to set.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "mascarpone_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Mascarpone Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 1370, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_water", + "position": 5, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_yolk", + "position": 6, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_mascarpone", + "position": 7, + "ingredient_id": "mascarpone", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_lemon_zest", + "position": 8, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Make a pâte à bombe with the sugar, water, and egg yolks; whip until 110°F (43°C).", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "thermometer" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Melt the bloomed and drained gelatin and add it to the slightly warm pâte à bombe to combine. Add the mascarpone and zest to the pate à bombe mixture and whisk until smooth, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold in the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "mascarpone_sorbet", + "schema_version": 2, + "save_version": 6, + "title": "Mascarpone Sorbet", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1645, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 670, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_powdered_glucose", + "position": 2, + "ingredient_id": "powdered_glucose", + "subrecipe_id": null, + "quantity": 170, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sorbet_stabilizer", + "position": 4, + "ingredient_id": "sorbet_stabilizer", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1¼ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_mascarpone", + "position": 5, + "ingredient_id": "mascarpone", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_lemon_zest", + "position": 6, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Place the water in a saucepan large enough to accommodate the entire recipe. With an immersion blender, blend in the glucose to dissolve.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Combine the sugar with the stabilizer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Heat the mixture until warm, 105°F (40°C); whisk in the sugar that has been blended with the stabilizer.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir with a whisk and heat to 185°F (85°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Chill immediately. Once cool, blend in the mascarpone and zest with an immersion blender and allow to mature for 6 to 12 hours.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Blend with an immersion blender before spinning.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "mashed_potato", + "schema_version": 2, + "save_version": 1, + "title": "Mashed Potato", + "summary": null, + "categories_json": "[\"side\"]", + "tags_json": "[\"potato\"]", + "yield_quantity": 131, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"mashed_potato\",\"title\":\"Mashed Potato\",\"categories\":[\"side\"],\"tags\":[\"potato\"],\"yield\":{\"amount\":{\"quantity\":131,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_potato_russet\",\"reference\":{\"ingredient_id\":\"potato_russet\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_liquid\",\"reference\":{\"ingredient_id\":\"milk\"},\"amount\":{\"quantity\":22,\"unit_id\":\"gram\"},\"percentage\":22},{\"id\":\"line_03_fat\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":8,\"unit_id\":\"gram\"},\"percentage\":8},{\"id\":\"line_04_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1,\"unit_id\":\"gram\"},\"percentage\":1}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Peel potato.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Cut potato into cubes.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Simmer until soft.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Combine all.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Mash.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_potato_russet", + "position": 1, + "ingredient_id": "potato_russet", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_liquid", + "position": 2, + "ingredient_id": "milk", + "subrecipe_id": null, + "quantity": 22, + "unit_id": "gram", + "percentage": 22, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_fat", + "position": 3, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 8, + "unit_id": "gram", + "percentage": 8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Peel potato.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Cut potato into cubes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Simmer until soft.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Combine all.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Mash.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "meatball", + "schema_version": 2, + "save_version": 1, + "title": "Meatball", + "summary": null, + "categories_json": "[\"meat\"]", + "tags_json": "[\"beef\"]", + "yield_quantity": 159.58, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"meatball\",\"title\":\"Meatball\",\"categories\":[\"meat\"],\"tags\":[\"beef\"],\"yield\":{\"amount\":{\"quantity\":159.58,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_meat_73_27\",\"reference\":{\"ingredient_id\":\"ground_beef_73_27_raw\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":22,\"unit_id\":\"gram\"},\"percentage\":22},{\"id\":\"line_03_bread_crumbs\",\"reference\":{\"ingredient_id\":\"bread_crumbs\"},\"amount\":{\"quantity\":15,\"unit_id\":\"gram\"},\"percentage\":15},{\"id\":\"line_04_egg_whole\",\"reference\":{\"ingredient_id\":\"egg_whole\"},\"amount\":{\"quantity\":12,\"unit_id\":\"gram\"},\"percentage\":12},{\"id\":\"line_05_buttermilk_powder\",\"reference\":{\"ingredient_id\":\"buttermilk_powder\"},\"amount\":{\"quantity\":4,\"unit_id\":\"gram\"},\"percentage\":4},{\"id\":\"line_06_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_07_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_08_gelatin\",\"reference\":{\"ingredient_id\":\"gelatin\"},\"amount\":{\"quantity\":0.78,\"unit_id\":\"gram\"},\"percentage\":0.78},{\"id\":\"line_09_onion_dehydrated_flake\",\"reference\":{\"ingredient_id\":\"onion_dehydrated_flake\"},\"amount\":{\"quantity\":0.4,\"unit_id\":\"gram\"},\"percentage\":0.4},{\"id\":\"line_10_fennel_seed\",\"reference\":{\"ingredient_id\":\"fennel_seed\"},\"amount\":{\"quantity\":0.4,\"unit_id\":\"gram\"},\"percentage\":0.4},{\"id\":\"line_11_msg\",\"reference\":{\"ingredient_id\":\"msg\"},\"amount\":{\"quantity\":0.3,\"unit_id\":\"gram\"},\"percentage\":0.3},{\"id\":\"line_12_oregano\",\"reference\":{\"ingredient_id\":\"oregano\"},\"amount\":{\"quantity\":0.3,\"unit_id\":\"gram\"},\"percentage\":0.3},{\"id\":\"line_13_black_pepper_ground\",\"reference\":{\"ingredient_id\":\"black_pepper_ground\"},\"amount\":{\"quantity\":0.25,\"unit_id\":\"gram\"},\"percentage\":0.25},{\"id\":\"line_14_garlic_dehydrated_minced\",\"reference\":{\"ingredient_id\":\"garlic_dehydrated_minced\"},\"amount\":{\"quantity\":0.15,\"unit_id\":\"gram\"},\"percentage\":0.15}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Dissolve gelatin in hot water.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Combine everything except egg, meat.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Paddle mix.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Mix until light.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Add meat.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Mix, scrape til combined.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_meat_73_27", + "position": 1, + "ingredient_id": "ground_beef_73_27_raw", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 22, + "unit_id": "gram", + "percentage": 22, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_bread_crumbs", + "position": 3, + "ingredient_id": "bread_crumbs", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 15, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 12, + "unit_id": "gram", + "percentage": 12, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_buttermilk_powder", + "position": 5, + "ingredient_id": "buttermilk_powder", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": 4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_gelatin", + "position": 8, + "ingredient_id": "gelatin", + "subrecipe_id": null, + "quantity": 0.78, + "unit_id": "gram", + "percentage": 0.78, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_onion_dehydrated_flake", + "position": 9, + "ingredient_id": "onion_dehydrated_flake", + "subrecipe_id": null, + "quantity": 0.4, + "unit_id": "gram", + "percentage": 0.4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_fennel_seed", + "position": 10, + "ingredient_id": "fennel_seed", + "subrecipe_id": null, + "quantity": 0.4, + "unit_id": "gram", + "percentage": 0.4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_msg", + "position": 11, + "ingredient_id": "msg", + "subrecipe_id": null, + "quantity": 0.3, + "unit_id": "gram", + "percentage": 0.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_oregano", + "position": 12, + "ingredient_id": "oregano", + "subrecipe_id": null, + "quantity": 0.3, + "unit_id": "gram", + "percentage": 0.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_black_pepper_ground", + "position": 13, + "ingredient_id": "black_pepper_ground", + "subrecipe_id": null, + "quantity": 0.25, + "unit_id": "gram", + "percentage": 0.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_14_garlic_dehydrated_minced", + "position": 14, + "ingredient_id": "garlic_dehydrated_minced", + "subrecipe_id": null, + "quantity": 0.15, + "unit_id": "gram", + "percentage": 0.15, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Dissolve gelatin in hot water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Combine everything except egg, meat.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Paddle mix.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Mix until light.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Add meat.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Mix, scrape til combined.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "mexicali_dip", + "schema_version": 2, + "save_version": 1, + "title": "Mexicali Dip", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"dip\",\"mexican\"]", + "yield_quantity": 254.9, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"mexicali_dip\",\"title\":\"Mexicali Dip\",\"categories\":[\"sauce\"],\"tags\":[\"dip\",\"mexican\"],\"yield\":{\"amount\":{\"quantity\":254.9,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_cream_cheese\",\"reference\":{\"ingredient_id\":\"cream_cheese\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_sour_cream\",\"reference\":{\"ingredient_id\":\"sour_cream\"},\"amount\":{\"quantity\":60,\"unit_id\":\"gram\"},\"percentage\":60},{\"id\":\"line_03_mayonnaise\",\"reference\":{\"ingredient_id\":\"mayonnaise\"},\"amount\":{\"quantity\":40,\"unit_id\":\"gram\"},\"percentage\":40},{\"id\":\"line_04_monterey_jack_cheese\",\"reference\":{\"ingredient_id\":\"monterey_jack_cheese\"},\"amount\":{\"quantity\":28,\"unit_id\":\"gram\"},\"percentage\":28},{\"id\":\"line_05_jalapeno_peppers_pickled\",\"reference\":{\"ingredient_id\":\"jalapeno_peppers_pickled\"},\"amount\":{\"quantity\":13,\"unit_id\":\"gram\"},\"percentage\":13},{\"id\":\"line_06_chipotle_pepper_sauce_tobasco\",\"reference\":{\"ingredient_id\":\"chipotle_pepper_sauce_tobasco\"},\"amount\":{\"quantity\":12,\"unit_id\":\"gram\"},\"percentage\":12},{\"id\":\"line_07_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1,\"unit_id\":\"gram\"},\"percentage\":1},{\"id\":\"line_08_paprika\",\"reference\":{\"ingredient_id\":\"paprika\"},\"amount\":{\"quantity\":0.6,\"unit_id\":\"gram\"},\"percentage\":0.6},{\"id\":\"line_09_onion_dehydrated_powder\",\"reference\":{\"ingredient_id\":\"onion_dehydrated_powder\"},\"amount\":{\"quantity\":0.3,\"unit_id\":\"gram\"},\"percentage\":0.3}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_cream_cheese", + "position": 1, + "ingredient_id": "cream_cheese", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sour_cream", + "position": 2, + "ingredient_id": "sour_cream", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 60, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_mayonnaise", + "position": 3, + "ingredient_id": "mayonnaise", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 40, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_monterey_jack_cheese", + "position": 4, + "ingredient_id": "monterey_jack_cheese", + "subrecipe_id": null, + "quantity": 28, + "unit_id": "gram", + "percentage": 28, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_jalapeno_peppers_pickled", + "position": 5, + "ingredient_id": "jalapeno_peppers_pickled", + "subrecipe_id": null, + "quantity": 13, + "unit_id": "gram", + "percentage": 13, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_chipotle_pepper_sauce_tobasco", + "position": 6, + "ingredient_id": "chipotle_pepper_sauce_tobasco", + "subrecipe_id": null, + "quantity": 12, + "unit_id": "gram", + "percentage": 12, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_paprika", + "position": 8, + "ingredient_id": "paprika", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": 0.6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_onion_dehydrated_powder", + "position": 9, + "ingredient_id": "onion_dehydrated_powder", + "subrecipe_id": null, + "quantity": 0.3, + "unit_id": "gram", + "percentage": 0.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "mexican_rice", + "schema_version": 2, + "save_version": 1, + "title": "Mexican Rice", + "summary": null, + "categories_json": "[\"side\"]", + "tags_json": "[\"rice\",\"mexican\"]", + "yield_quantity": 257, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"mexican_rice\",\"title\":\"Mexican Rice\",\"categories\":[\"side\"],\"tags\":[\"rice\",\"mexican\"],\"yield\":{\"amount\":{\"quantity\":257,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_rice\",\"reference\":{\"ingredient_id\":\"rice\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":140,\"unit_id\":\"gram\"},\"percentage\":140},{\"id\":\"line_03_oil\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":6,\"unit_id\":\"gram\"},\"percentage\":6},{\"id\":\"line_04_tomato_bouillon\",\"reference\":{\"ingredient_id\":\"tomato_bouillon\"},\"amount\":{\"quantity\":3.5,\"unit_id\":\"gram\"},\"percentage\":3.5},{\"id\":\"line_05_onion_powder\",\"reference\":{\"ingredient_id\":\"onion_powder\"},\"amount\":{\"quantity\":3,\"unit_id\":\"gram\"},\"percentage\":3},{\"id\":\"line_06_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":2.3,\"unit_id\":\"gram\"},\"percentage\":2.3},{\"id\":\"line_07_garlic_powder\",\"reference\":{\"ingredient_id\":\"garlic_powder\"},\"amount\":{\"quantity\":1.3,\"unit_id\":\"gram\"},\"percentage\":1.3},{\"id\":\"line_08_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":0.9,\"unit_id\":\"gram\"},\"percentage\":0.9}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Add rice, water, oil to rice cooker; cook\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"season with remaining ingredients\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_rice", + "position": 1, + "ingredient_id": "rice", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 140, + "unit_id": "gram", + "percentage": 140, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_oil", + "position": 3, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_tomato_bouillon", + "position": 4, + "ingredient_id": "tomato_bouillon", + "subrecipe_id": null, + "quantity": 3.5, + "unit_id": "gram", + "percentage": 3.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_onion_powder", + "position": 5, + "ingredient_id": "onion_powder", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 2.3, + "unit_id": "gram", + "percentage": 2.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_garlic_powder", + "position": 7, + "ingredient_id": "garlic_powder", + "subrecipe_id": null, + "quantity": 1.3, + "unit_id": "gram", + "percentage": 1.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.9, + "unit_id": "gram", + "percentage": 0.9, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Add rice, water, oil to rice cooker; cook", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "season with remaining ingredients", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "mexican_white_sauce", + "schema_version": 2, + "save_version": 1, + "title": "Mexican White Sauce", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"mexican\"]", + "yield_quantity": 693.45, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"mexican_white_sauce\",\"title\":\"Mexican White Sauce\",\"categories\":[\"sauce\"],\"tags\":[\"mexican\"],\"yield\":{\"amount\":{\"quantity\":693.45,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_cream_cheese\",\"reference\":{\"ingredient_id\":\"cream_cheese\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":425,\"unit_id\":\"gram\"},\"percentage\":425},{\"id\":\"line_03_cream\",\"reference\":{\"ingredient_id\":\"heavy_cream\"},\"amount\":{\"quantity\":50,\"unit_id\":\"gram\"},\"percentage\":50},{\"id\":\"line_04_oil\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":44,\"unit_id\":\"gram\"},\"percentage\":44},{\"id\":\"line_05_flour_all_purpose\",\"reference\":{\"ingredient_id\":\"flour_all_purpose\"},\"amount\":{\"quantity\":34,\"unit_id\":\"gram\"},\"percentage\":34},{\"id\":\"line_06_jalapeno_diced\",\"reference\":{\"ingredient_id\":\"jalapeno_peppers_pickled\"},\"amount\":{\"quantity\":25,\"unit_id\":\"gram\"},\"percentage\":25},{\"id\":\"line_07_hot_sauce\",\"reference\":{\"ingredient_id\":\"hot_sauce\"},\"amount\":{\"quantity\":9,\"unit_id\":\"gram\"},\"percentage\":9},{\"id\":\"line_08_chicken_base\",\"reference\":{\"ingredient_id\":\"chicken_base\"},\"amount\":{\"quantity\":5.75,\"unit_id\":\"gram\"},\"percentage\":5.75},{\"id\":\"line_09_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":0.7,\"unit_id\":\"gram\"},\"percentage\":0.7}]}],\"equipment_ids\":[\"whisk\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Dissolve chicken base in water.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Melt oil.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Add flour to oil.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Heat until flour cooks.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Whisk in chicken stock, heat until smooth.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Add hot mixture to cream cheese.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Melt and whisk smooth.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Add back to pot.\",\"component_ids\":[\"main\"]},{\"id\":\"step_09\",\"order\":9,\"instruction\":\"Mix in remaining ingredients.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "whisk" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_cream_cheese", + "position": 1, + "ingredient_id": "cream_cheese", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 425, + "unit_id": "gram", + "percentage": 425, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_oil", + "position": 4, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 44, + "unit_id": "gram", + "percentage": 44, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_flour_all_purpose", + "position": 5, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 34, + "unit_id": "gram", + "percentage": 34, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_jalapeno_diced", + "position": 6, + "ingredient_id": "jalapeno_peppers_pickled", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": 25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_hot_sauce", + "position": 7, + "ingredient_id": "hot_sauce", + "subrecipe_id": null, + "quantity": 9, + "unit_id": "gram", + "percentage": 9, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_chicken_base", + "position": 8, + "ingredient_id": "chicken_base", + "subrecipe_id": null, + "quantity": 5.75, + "unit_id": "gram", + "percentage": 5.75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.7, + "unit_id": "gram", + "percentage": 0.7, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Dissolve chicken base in water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Melt oil.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Add flour to oil.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Heat until flour cooks.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Whisk in chicken stock, heat until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Add hot mixture to cream cheese.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Melt and whisk smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Add back to pot.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_09", + "position": 9, + "instruction": "Mix in remaining ingredients.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "milk", + "schema_version": 2, + "save_version": 1, + "title": "Milk", + "summary": null, + "categories_json": "[\"component\"]", + "tags_json": "[\"base-formula\"]", + "yield_quantity": 111.11, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"milk\",\"title\":\"Milk\",\"categories\":[\"component\"],\"tags\":[\"base-formula\"],\"yield\":{\"amount\":{\"quantity\":111.11,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_nonfat_milk_powder\",\"reference\":{\"ingredient_id\":\"nonfat_milk_powder\"},\"amount\":{\"quantity\":11.11,\"unit_id\":\"gram\"},\"percentage\":11.11}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Dissolve powder in water.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_nonfat_milk_powder", + "position": 2, + "ingredient_id": "nonfat_milk_powder", + "subrecipe_id": null, + "quantity": 11.11, + "unit_id": "gram", + "percentage": 11.11, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Dissolve powder in water.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "milk_chocolate", + "schema_version": 2, + "save_version": 6, + "title": "Milk Chocolate", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 1284, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_custard_base", + "position": 1, + "ingredient_id": "custard_base", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_gelatin_sheet", + "position": 2, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 9, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_water", + "position": 3, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 45, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_chocolate_milk", + "position": 4, + "ingredient_id": "chocolate_milk", + "subrecipe_id": null, + "quantity": 330, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_heavy_cream", + "position": 5, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Mousse:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Melt the chocolate and keep warm.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Melt the bloomed and drained gelatin and add it to the warm crème anglaise along with the melted chocolate; whisk until combined.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold in the whipped cream. The mousse should be fluid enough to pour and settle without peaks.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "milk_chocolate_banana_bonbon_ganache", + "schema_version": 2, + "save_version": 6, + "title": "Milk Chocolate-Banana Bonbon Ganache", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_chocolate_milk", + "position": 1, + "ingredient_id": "chocolate_milk", + "subrecipe_id": null, + "quantity": 540, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "40%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_banana_puree", + "position": 2, + "ingredient_id": "banana_puree", + "subrecipe_id": null, + "quantity": 270, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_invert_sugar", + "position": 3, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 72, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_butter", + "position": 4, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_banana_liqueur", + "position": 5, + "ingredient_id": "banana_liqueur", + "subrecipe_id": null, + "quantity": 28, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the chocolate in a bowl large enough to accommodate the entire recipe.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, bring the puree and sugar to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Pour the hot puree mixture over the chocolate. Allow to stand for one minute, then emulsify until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir in the softened butter, followed by the liqueur.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Cover the surface of the ganache with plastic wrap. Allow to rest at room temperature until it reaches 78°F (26°C). The cooled ganache should have a thick, yet fluid consistency to properly fill bonbon shells.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "milk_chocolate_bavarian_cream", + "schema_version": 2, + "save_version": 6, + "title": "Milk Chocolate Bavarian Cream", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 1777, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 35, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 585, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_milk_whole", + "position": 4, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 334, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 88, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_yolk", + "position": 6, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 88, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_chocolate_milk", + "position": 9, + "ingredient_id": "chocolate_milk", + "subrecipe_id": null, + "quantity": 440, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks; set aside in the refrigerator.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a saucepan, bring the milk and first weight of sugar to a boil. Meanwhile, whisk the egg yolks, second weight of sugar, and salt until light and thick. Temper ⅓ of the hot milk mixture into the yolk mixture. Return everything back to the saucepan and cook on medium-low heat until the mixture coats the back of a wooden spoon.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "saucepan", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Once cooked, add the chopped chocolate, let stand for a few minutes, then emulsify until smooth. Whisk in the bloomed and drained gelatin.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Strain through a fine-mesh strainer and cool to about 65°F (18°C), or until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the whipped cream into the cooled chocolate crème anglaise.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "milk_chocolate_caramel_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Milk Chocolate Caramel Mousse -", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 2253, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 22, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 110, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 675, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_heavy_cream", + "position": 5, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_yolk", + "position": 6, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 165, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_valrhona_guanaja", + "position": 9, + "ingredient_id": "valrhona_guanaja", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "70%, chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_valrhona_tanariva", + "position": 10, + "ingredient_id": "valrhona_tanariva", + "subrecipe_id": null, + "quantity": 550, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "33%, chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the first weight of cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Make a deep amber dry caramel with the first weight of sugar and deglaze with the second weight of cream in 3 additions.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make a crème anglaise with the caramel cream, egg yolks, second weight of sugar, and salt.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Strain the caramel crème anglaise over the chopped chocolates, let stand for a few minutes, then whisk until smooth. Whisk in the bloomed and drained gelatin.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Let cool to 95°F (35°C), then fold in the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "milk_chocolate_lemon_bonbon_ganache", + "schema_version": 2, + "save_version": 6, + "title": "Milk Chocolate-Lemon Bonbon Ganache", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 95, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_lemon_juice", + "position": 2, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 190, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_lemon_zest", + "position": 3, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_invert_sugar", + "position": 4, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 24, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_chocolate_milk", + "position": 5, + "ingredient_id": "chocolate_milk", + "subrecipe_id": null, + "quantity": 616, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "40%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_butter", + "position": 6, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 47, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_gin_or_lemon_vodka", + "position": 7, + "ingredient_id": "gin_or_lemon_vodka", + "subrecipe_id": null, + "quantity": 28, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the cream, juice, zest, and sugar to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Place the chocolate in a bowl large enough to accommodate the entire recipe.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Strain the hot mixture over the chocolate. Allow to stand for one minute, then emulsify until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir in the softened butter, followed by the alcohol.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Cover the surface of the ganache with plastic wrap. Allow to rest at room temperature until it reaches 78°F (26°C). The cooled ganache should have a thick, yet fluid consistency to properly fill bonbon shells.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "milk_chocolate_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Milk Chocolate Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 1250, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Alternatively, the egg yolk mixture can be cooked in a microwave by cooking the mixture in 20-30 second intervals and whisking in between each interval until thickened.\",\"The addition of milk powder stabilizes the foam structure in the eggs and whipped cream by preventing air bubbles from collapsing, resulting in a lighter texture to the mousse.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_chocolate_milk", + "position": 1, + "ingredient_id": "chocolate_milk", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_gelatin_sheet", + "position": 2, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_water", + "position": 3, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_heavy_cream", + "position": 4, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 470, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_yolk", + "position": 5, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 160, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whole", + "position": 6, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_water", + "position": 7, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_milk_powder", + "position": 8, + "ingredient_id": "milk_powder", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the chocolate and keep warm.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Whisk the egg yolks, whole eggs, water, milk powder, and salt over a water bath until very thick, add the bloomed and drained gelatin.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Transfer the mixture to a mixer fitted with a whisk attachment and whip just until warm.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the warm melted chocolate into the warm yolk mixture, followed by the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "milk_chocolate_nut_tart_filling", + "schema_version": 2, + "save_version": 6, + "title": "Milk Chocolate-Nut Tart Filling", + "summary": null, + "categories_json": "[\"tart_pie_fillings\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"tart_pie_fillings\",\"classic\"]", + "yield_quantity": 1150, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_nut_paste", + "position": 4, + "ingredient_id": "nut_paste", + "subrecipe_id": null, + "quantity": 70, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "unsweetened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_chocolate_milk", + "position": 5, + "ingredient_id": "chocolate_milk", + "subrecipe_id": null, + "quantity": 280, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whole", + "position": 6, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the cream, sugar, salt, and nut paste to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Pour over the chocolate, allow to stand for a few minutes, then whisk until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk the eggs into the chocolate mixture.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Strain the filling through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Remove excess air bubbles from the top of the custard by placing a piece of plastic wrap or paper towel on the surface and then removing.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 225°F (107°C) in blind baked tart shells just until set.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "milk_chocolate_p245", + "schema_version": 2, + "save_version": 6, + "title": "Milk Chocolate", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 1291, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_custard_base", + "position": 1, + "ingredient_id": "custard_base", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_gelatin_sheet", + "position": 2, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 11, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_water", + "position": 3, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 55, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_chocolate_white", + "position": 4, + "ingredient_id": "chocolate_white", + "subrecipe_id": null, + "quantity": 325, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_heavy_cream", + "position": 5, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Mousse:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Melt the chocolate and keep warm.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Melt the bloomed and drained gelatin and add it to the warm crème anglaise along with the melted chocolate; whisk until combined.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold in the whipped cream. The mousse should be fluid enough to pour and settle without peaks.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "milk_chocolate_praline_feuilletine", + "schema_version": 2, + "save_version": 6, + "title": "Milk Chocolate Praline Feuilletine", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 975, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_cocoa_butter", + "position": 1, + "ingredient_id": "cocoa_butter", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_chocolate_milk", + "position": 2, + "ingredient_id": "chocolate_milk", + "subrecipe_id": null, + "quantity": 175, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_praline_paste", + "position": 3, + "ingredient_id": "praline_paste", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_feuilletine", + "position": 5, + "ingredient_id": "feuilletine", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the cocoa butter over a water bath, add the chocolate and melt together, stirring until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a paddle attachment, cream the chocolate mixture with the praline paste and salt until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Stir in the feuilletine until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "milk_chocolate_raspberry_bonbon_ganache", + "schema_version": 2, + "save_version": 6, + "title": "Milk Chocolate-Raspberry Bonbon Ganache", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_chocolate_milk", + "position": 1, + "ingredient_id": "chocolate_milk", + "subrecipe_id": null, + "quantity": 540, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "40%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_raspberry_puree", + "position": 2, + "ingredient_id": "raspberry_puree", + "subrecipe_id": null, + "quantity": 270, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_invert_sugar", + "position": 3, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 72, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_butter", + "position": 4, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_raspberry_liqueur", + "position": 5, + "ingredient_id": "raspberry_liqueur", + "subrecipe_id": null, + "quantity": 28, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the chocolate in a bowl large enough to accommodate the entire recipe.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, bring the puree and sugar to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Pour the hot puree mixture over the chocolate. Allow to stand for one minute, then emulsify until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir in the softened butter, followed by the liqueur.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Cover the surface of the ganache with plastic wrap. Allow to rest at room temperature until it reaches 78°F (26°C). The cooled ganache should have a thick, yet fluid consistency to properly fill bonbon shells.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "milk_sponge_sheet_cake", + "schema_version": 2, + "save_version": 6, + "title": "Milk Sponge Sheet Cake", + "summary": "Yield: one full sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 1385, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one full sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_cake", + "position": 1, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 257, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_baking_powder", + "position": 2, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 11, + "unit_id": "gram", + "percentage": 4.28, + "basis_member": 0, + "optional": 0, + "notes": "2¼ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.95, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_milk_whole", + "position": 4, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 140, + "unit_id": "gram", + "percentage": 54.47, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_butter", + "position": 5, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 70, + "unit_id": "gram", + "percentage": 27.24, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_vanilla_extract", + "position": 6, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.95, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_whole", + "position": 7, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 350, + "unit_id": "gram", + "percentage": 136.19, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_egg_yolk", + "position": 8, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 140, + "unit_id": "gram", + "percentage": 54.47, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_sugar", + "position": 9, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 368, + "unit_id": "gram", + "percentage": 143.19, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_invert_sugar", + "position": 10, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 15.56, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Sift the dry ingredients and set aside.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Warm the milk and butter together until the butter is melted, then stir in the extract.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk the whole eggs, yolks, and sugars over a water bath until warm, 110ºF (43ºC).", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "In a mixer fitted with a whisk attachment, whisk the warmed egg mixture until a thick ribbon is achieved.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Carefully fold the sifted dry ingredients into the egg foam.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Sacrifice a small amount of the batter into the warm milk mixture.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Gently fold the milk mixture into the egg foam.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Bake at 350ºF (177ºC) until the cake springs back to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "mint_bonbon_ganache", + "schema_version": 2, + "save_version": 6, + "title": "Mint Bonbon Ganache", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_mint_leaves", + "position": 2, + "ingredient_id": "mint_leaves", + "subrecipe_id": null, + "quantity": 35, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_invert_sugar", + "position": 3, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_chocolate_white", + "position": 4, + "ingredient_id": "chocolate_white", + "subrecipe_id": null, + "quantity": 590, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_butter", + "position": 5, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 64, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_mint_liqueur", + "position": 6, + "ingredient_id": "mint_liqueur", + "subrecipe_id": null, + "quantity": 28, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_mint_paste", + "position": 7, + "ingredient_id": "mint_paste", + "subrecipe_id": null, + "quantity": 18, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the cream and mint leaves to a boil; set aside to infuse.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Strain the infused cream through a fine-mesh strainer, then rescale to the original weight.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Melt the chocolate in a bowl large enough to accommodate the entire recipe.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "In a saucepan, bring the infused cream and sugar to a boil and pour over the chocolate. Allow to stand for one minute, then emulsify until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Stir in the softened butter, followed by the liqueur and paste.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Cover the surface of the ganache with plastic wrap. Allow to rest at room temperature until it reaches 78°F (26°C). The cooled ganache should have a thick, yet fluid consistency to properly fill bonbon shells.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "mint_granite", + "schema_version": 2, + "save_version": 6, + "title": "Mint Granité", + "summary": "Use this base recipe for other fresh herbs like spearmint, lemon balm, basil, cilantro, rosemary, etc. The amount of mint leaves and paste in the recipe is a guideline only. You will need to adjust based on your ingredients and taste.", + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1820, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"It is best to grind the mint leaves and sugar together right before you make the granité. This method preserves the color and aroma of the leaves.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sugar", + "position": 1, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_mint_leaves", + "position": 2, + "ingredient_id": "mint_leaves", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "3 bunches", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_gelatin_sheet", + "position": 3, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_water", + "position": 4, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_water", + "position": 5, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 1500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_lemon_juice", + "position": 6, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_mint_paste", + "position": 7, + "ingredient_id": "mint_paste", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Grind the sugar and mint leaves together in a food processor until well ground and fragrant.", + "critical_control_point": 0, + "equipment_ids": [ + "food_processor" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a saucepan, heat the water until warm. Whisk in the mint sugar and heat to 185°F (85°C).", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir in the bloomed gelatin to dissolve. Chill to room temperature.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Once cool, strain through a fine-mesh strainer and whisk in the juice and paste.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Measure and adjust the °Brix between 15°-20° depending on your taste.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Pour into a shallow pan and begin to freeze, stirring every 15 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "mixed_berry_strudel_filling", + "schema_version": 2, + "save_version": 6, + "title": "Mixed Berry Strudel Filling", + "summary": "Yield: one 20 to 24-inch strudel", + "categories_json": "[\"tart_pie_fillings\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"tart_pie_fillings\",\"classic\"]", + "yield_quantity": 1055.6, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one 20 to 24-inch strudel\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_strawberries", + "position": 1, + "ingredient_id": "strawberries", + "subrecipe_id": null, + "quantity": 375, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "hulled & quartered", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_raspberries", + "position": 2, + "ingredient_id": "raspberries", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_blackberries", + "position": 3, + "ingredient_id": "blackberries", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_blueberries", + "position": 4, + "ingredient_id": "blueberries", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_framboise_eau_de_vie", + "position": 5, + "ingredient_id": "framboise_eau_de_vie", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_lemon_zest", + "position": 6, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_vanilla_bean", + "position": 7, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "seeds (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_genoise", + "position": 9, + "ingredient_id": "genoise", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½-inch cubes", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Mix the berries, eau-de-vie, zest, vanilla bean seeds, and salt until well combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Gently mix the genoise cubes into the berry mixture until thoroughly mixed.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "mocha_cremeux", + "schema_version": 2, + "save_version": 6, + "title": "Mocha Crémeux", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"The addition of sour cream and mascarpone in the recipe gives this crèmeux a rich and creamy texture similar to Greek yogurt.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 415, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_chocolate_dark", + "position": 6, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 86, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "58-66%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sour_cream", + "position": 7, + "ingredient_id": "sour_cream", + "subrecipe_id": null, + "quantity": 220, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_mascarpone", + "position": 8, + "ingredient_id": "mascarpone", + "subrecipe_id": null, + "quantity": 137, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_coffee_extract", + "position": 9, + "ingredient_id": "coffee_extract", + "subrecipe_id": null, + "quantity": 21, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, bring the cream, sugar, and salt to a scald.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Melt the chocolate and add to the scalded cream. Stir continuously to emulsify and bring the mixture to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Off the heat, add the sour cream, mascarpone, and extract to the hot mixture.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Add the bloomed and drained gelatin and whisk until homogenous.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Strain through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Stir over an ice bath until slightly thickened and pour into desired molds.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "mod_pizza_dough", + "schema_version": 2, + "save_version": 1, + "title": "MOD Pizza Dough", + "summary": null, + "categories_json": "[\"bread\"]", + "tags_json": "[\"dough\",\"pizza\",\"copycat\",\"mod\"]", + "yield_quantity": 159.25, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"mod_pizza_dough\",\"title\":\"MOD Pizza Dough\",\"categories\":[\"bread\"],\"tags\":[\"dough\",\"pizza\",\"copycat\",\"mod\"],\"yield\":{\"amount\":{\"quantity\":159.25,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_bread\",\"reference\":{\"ingredient_id\":\"flour_bread\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":50,\"unit_id\":\"gram\"},\"percentage\":50},{\"id\":\"line_03_oil\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":5,\"unit_id\":\"gram\"},\"percentage\":5},{\"id\":\"line_04_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":2.75,\"unit_id\":\"gram\"},\"percentage\":2.75},{\"id\":\"line_05_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":1,\"unit_id\":\"gram\"},\"percentage\":1},{\"id\":\"line_06_instant_yeast\",\"reference\":{\"ingredient_id\":\"instant_yeast\"},\"amount\":{\"quantity\":0.5,\"unit_id\":\"gram\"},\"percentage\":0.5}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine and mix dough medium development.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Divide.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Shape dough into ball.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Lightly oil ball.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Store in air-tight container and refrigerate.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_oil", + "position": 3, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.75, + "unit_id": "gram", + "percentage": 2.75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_instant_yeast", + "position": 6, + "ingredient_id": "instant_yeast", + "subrecipe_id": null, + "quantity": 0.5, + "unit_id": "gram", + "percentage": 0.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine and mix dough medium development.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Divide.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Shape dough into ball.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Lightly oil ball.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Store in air-tight container and refrigerate.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "moist_honey_cake", + "schema_version": 2, + "save_version": 6, + "title": "Moist Honey Cake", + "summary": "Yield: one angel food pan", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 2000, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one angel food pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + }, + { + "id": "honey_glaze", + "position": 2, + "name": "Honey Glaze", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "honey_glaze", + "id": "line_19_honey", + "position": 1, + "ingredient_id": "honey", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 23.81, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "honey_glaze", + "id": "line_20_butter", + "position": 2, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 11.9, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_01_egg_whole", + "position": 1, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 35.71, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_egg_yolk", + "position": 2, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 4.76, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_canola_oil", + "position": 3, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 215, + "unit_id": "gram", + "percentage": 51.19, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_honey", + "position": 4, + "ingredient_id": "honey", + "subrecipe_id": null, + "quantity": 340, + "unit_id": "gram", + "percentage": 80.95, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_coffee", + "position": 5, + "ingredient_id": "coffee", + "subrecipe_id": null, + "quantity": 235, + "unit_id": "gram", + "percentage": 55.95, + "basis_member": 0, + "optional": 0, + "notes": "cooled", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_orange_juice", + "position": 6, + "ingredient_id": "orange_juice", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": 29.76, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_bourbon", + "position": 7, + "ingredient_id": "bourbon", + "subrecipe_id": null, + "quantity": 55, + "unit_id": "gram", + "percentage": 13.1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_vanilla_extract", + "position": 8, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 2.38, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_sugar", + "position": 9, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 275, + "unit_id": "gram", + "percentage": 65.48, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_brown_sugar", + "position": 10, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 110, + "unit_id": "gram", + "percentage": 26.19, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_flour_all_purpose", + "position": 11, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 420, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_baking_powder", + "position": 12, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 18, + "unit_id": "gram", + "percentage": 4.29, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_baking_soda", + "position": 13, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": 0.95, + "basis_member": 0, + "optional": 0, + "notes": "¾ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_14_salt", + "position": 14, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 0.71, + "basis_member": 0, + "optional": 0, + "notes": "¾ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_15_cinnamon", + "position": 15, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 2.38, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_16_ginger", + "position": 16, + "ingredient_id": "ginger", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.6, + "basis_member": 0, + "optional": 0, + "notes": "ground (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_17_cloves", + "position": 17, + "ingredient_id": "cloves", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 0.3, + "basis_member": 0, + "optional": 0, + "notes": "ground (¼ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_18_allspice", + "position": 18, + "ingredient_id": "allspice", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 0.3, + "basis_member": 0, + "optional": 0, + "notes": "ground (¼ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Sift the dry ingredients and set aside.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a large bowl, whisk the whole eggs, yolk, oil, honey, coffee, juice, whiskey, and extract until lightly combined. Add the sugars and whisk until dissolved into the liquid mixture. This step may be done in an electric mixer if desired.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Place the sifted dry ingredients in a mixer fitted with a whisk attachment. On low speed, add the liquid ingredients and whisk until the dry ingredients are moistened, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Gradually raise the speed to medium and whisk for about 1 minute. The batter will have the consistency of thick soup.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 350°F (177ºC) for the first ½ of the baking process, then lower oven to 325°F (163ºC) to finish.", + "critical_control_point": 0, + "equipment_ids": [ + "food_processor", + "oven", + "thermometer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Allow the cake to cool in the pan until warm before unmolding.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Honey Glaze:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Melt the butter in a saucepan over medium-low heat, add the honey and whisk to emulsify.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Brush the exterior of the cake with the honey glaze while the cake is still warm.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "mozzarella_cheese_melt_stuffed", + "schema_version": 2, + "save_version": 1, + "title": "Mozzarella Cheese Melt Stuffed", + "summary": null, + "categories_json": "[\"component\"]", + "tags_json": "[\"cheese\"]", + "yield_quantity": 135.66, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"mozzarella_cheese_melt_stuffed\",\"title\":\"Mozzarella Cheese Melt Stuffed\",\"categories\":[\"component\"],\"tags\":[\"cheese\"],\"yield\":{\"amount\":{\"quantity\":135.66,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_mozzarella_cheese\",\"reference\":{\"ingredient_id\":\"mozzarella_cheese\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":30,\"unit_id\":\"gram\"},\"percentage\":30},{\"id\":\"line_03_nonfat_milk_powder\",\"reference\":{\"ingredient_id\":\"nonfat_milk_powder\"},\"amount\":{\"quantity\":3.33,\"unit_id\":\"gram\"},\"percentage\":3.33},{\"id\":\"line_04_sodium_citrate\",\"reference\":{\"ingredient_id\":\"sodium_citrate\"},\"amount\":{\"quantity\":2.33,\"unit_id\":\"gram\"},\"percentage\":2.33}]}],\"equipment_ids\":[\"whisk\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Heat water, milk powder 150 °F.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Whisk in cheese, sodium citrate.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Stir until combined.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "whisk" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_mozzarella_cheese", + "position": 1, + "ingredient_id": "mozzarella_cheese", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": 30, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_nonfat_milk_powder", + "position": 3, + "ingredient_id": "nonfat_milk_powder", + "subrecipe_id": null, + "quantity": 3.33, + "unit_id": "gram", + "percentage": 3.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sodium_citrate", + "position": 4, + "ingredient_id": "sodium_citrate", + "subrecipe_id": null, + "quantity": 2.33, + "unit_id": "gram", + "percentage": 2.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Heat water, milk powder 150 °F.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Whisk in cheese, sodium citrate.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Stir until combined.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "naan_indian_flatbread", + "schema_version": 2, + "save_version": 6, + "title": "Naan (Indian Flatbread)", + "summary": "Yield: seventeen 100 g (3.5 oz) naans", + "categories_json": "[\"breads\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breads\",\"classic\"]", + "yield_quantity": 1715, + "yield_unit_id": "gram", + "yield_servings": 7, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: seventeen 100 g (3.5 oz) naans\",\"Naan is traditionally baked in a tandoor oven which produce an enormous amount of heat. To replicate the heat of a tandoor oven in your kitchen, use a grill, grill pan, or pizza stone to bake the naan. Melted or clarified butter may be substituted for ghee.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_salt", + "position": 2, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_water", + "position": 3, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 155, + "unit_id": "gram", + "percentage": 15.5, + "basis_member": 0, + "optional": 0, + "notes": "110°F/43°C", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_yeast_fresh", + "position": 4, + "ingredient_id": "yeast_fresh", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_whole", + "position": 5, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 30, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_greek_yogurt", + "position": 6, + "ingredient_id": "greek_yogurt", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 20, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a hook attachment, combine the flour and salt and mix to blend.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the water, yeast, eggs, and yogurt. Knead until smooth and elastic (about 5-8 minutes).", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Place the dough in an oiled bowl and bulk proof until doubled in size.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Divide into 100 g (3.5 oz) pieces and pre-shape into balls. Place on lightly oiled sheet pans, cover and proof a second time until doubled in size.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Roll each dough ball on a lightly floured work surface into a disc about 6-inches in diameter, or between ⅛ to ¼-inch thick.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Grill:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Brush and oil the grate.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Lightly brush the top of the dough with ghee and place ghee-side down on the grate. Grill until the bottoms are browned and tops start to puff and blister (1-2 minutes).", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Lightly brush the tops with a little ghee. Invert the naan and grill the other side until lightly browned (1-2 minutes).", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Lightly brush each naan with additional ghee and sprinkle with coarse sea salt as desired.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "new_york_cheesecake", + "schema_version": 2, + "save_version": 6, + "title": "New York Cheesecake", + "summary": "Yield: one 10-inch cake pan", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 2262, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one 10-inch cake pan\",\"It is important not to incorporate too much air into the batter. A New York cheesecake is supposed to have a dense, creamy texture. If you incorporate too much air into the batter the cheesecake takes on a light and fluffy texture which is not traditional for the style.\",\"Cheesecake can be covered or uncovered during baking, depending on if color is desired on the top.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_cream_cheese", + "position": 1, + "ingredient_id": "cream_cheese", + "subrecipe_id": null, + "quantity": 1360, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 315, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_whole", + "position": 3, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_heavy_cream", + "position": 5, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 235, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_vanilla_extract", + "position": 6, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix the cream cheese and sugar on medium speed until smooth, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "On medium speed, add the whole eggs and yolks one at a time, scraping down the bowl again as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the cream and extract and mix until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Bake at 300°F (149°C) in a water bath.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "north_african_honeycomb_pancakes", + "schema_version": 2, + "save_version": 6, + "title": "North African Honeycomb Pancakes", + "summary": null, + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breakfast\",\"classic\"]", + "yield_quantity": 1950, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_semolina", + "position": 1, + "ingredient_id": "semolina", + "subrecipe_id": null, + "quantity": 375, + "unit_id": "gram", + "percentage": 187.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_flour_all_purpose", + "position": 2, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 8, + "unit_id": "gram", + "percentage": 4, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_water", + "position": 5, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 750, + "unit_id": "gram", + "percentage": 375, + "basis_member": 0, + "optional": 0, + "notes": "115ºF/46ºC", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_milk_whole", + "position": 6, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 125, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_whole", + "position": 7, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_yeast_fresh", + "position": 8, + "ingredient_id": "yeast_fresh", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 10, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Place the sifted dry ingredients into a bowl of a mixer fitted with a whisk attachment.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Combine the wet ingredients and add ½ to the dry ingredients. Mix until smooth, scraping down the bowl as necessary. Gradually add the rest of the wet ingredients and continue to mix until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Cover the batter and allow to ferment at room temperature for 1-2 hours, or until doubled in size and very bubbly, before use. Alternatively, refrigerate overnight for a long and slow fermentation.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "When ready to cook, stir to deflate. Batter should be a little thicker than heavy cream; thin with warm water if necessary. Heat a heavy, nonstick (or very well-seasoned cast-iron) pan over medium heat. Pour desired amount of batter and cook at a very gentle sizzle for several minutes, until the top is covered with holes and completely set; the bottom should be golden and lacy. Repeat as needed with the remaining batter.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "These pancakes are also known as beghrir (or baghrir). When cooked correctly, they are riddled with tiny holes which soak up whatever sauce they are served with. The most common way to eat beghrir in Morocco and Algeria is by dipping them in honey-butter, but they can also be cut into wedges and served with jam.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "nougat_de_montelimar", + "schema_version": 2, + "save_version": 6, + "title": "Nougat de Montélimar", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1650, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_whole_almonds", + "position": 1, + "ingredient_id": "whole_almonds", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_pistachio", + "position": 2, + "ingredient_id": "pistachio", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_honey", + "position": 3, + "ingredient_id": "honey", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 375, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_water", + "position": 5, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 112, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_glucose_syrup", + "position": 6, + "ingredient_id": "glucose_syrup", + "subrecipe_id": null, + "quantity": 187, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_whites", + "position": 7, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_candied_orange_peel", + "position": 8, + "ingredient_id": "candied_orange_peel", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼-inch dice", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Toast the nuts and keep warm.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, slowly bring the honey to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Simultaneously, bring the sugar, water, and glucose to a boil in another saucepan.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "After boiling the sugar for one minute, start whipping the egg whites with a whisk attachment.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "When the sugar mixture reaches 290°F (145°C), slowly pour it over the whipping egg whites, followed by the honey. When the mixture begins to stiffen, switch to the paddle attachment.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "thermometer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Add the warm nuts, candied orange peel, and salt; mix to combine.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Roll out the nougat on a silicone mat, lightly dusted with cornstarch on both sides, to ½\" thick.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Allow to cool, then cut into desired sized pieces with an oiled knife.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Store at room temperature in airtight containers.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "nougat_semifreddo", + "schema_version": 2, + "save_version": 6, + "title": "Nougat Semifreddo", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 2000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "nougatine", + "position": 1, + "name": "Nougatine", + "notes_json": "[]" + }, + { + "id": "semifreddo", + "position": 2, + "name": "Semifreddo", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "nougatine", + "id": "line_01_sliced_almonds", + "position": 1, + "ingredient_id": "sliced_almonds", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "nougatine", + "id": "line_02_hazelnut", + "position": 2, + "ingredient_id": "hazelnut", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "nougatine", + "id": "line_03_pine_nuts", + "position": 3, + "ingredient_id": "pine_nuts", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "nougatine", + "id": "line_04_pistachio", + "position": 4, + "ingredient_id": "pistachio", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "nougatine", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "nougatine", + "id": "line_06_water", + "position": 6, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 58, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "nougatine", + "id": "line_07_glucose_syrup", + "position": 7, + "ingredient_id": "glucose_syrup", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "semifreddo", + "id": "line_08_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 940, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 qt", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "semifreddo", + "id": "line_09_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 175, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "semifreddo", + "id": "line_10_water", + "position": 3, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "semifreddo", + "id": "line_11_honey", + "position": 4, + "ingredient_id": "honey", + "subrecipe_id": null, + "quantity": 65, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "semifreddo", + "id": "line_12_egg_whites", + "position": 5, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 210, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "semifreddo", + "id": "line_13_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "semifreddo", + "id": "line_14_cream_of_tartar", + "position": 7, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "semifreddo", + "id": "line_15_candied_orange_peel", + "position": 8, + "ingredient_id": "candied_orange_peel", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Nougatine:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Toast the nuts; keep warm.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Make an amber caramel with the sugar, water, and glucose.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the toasted nuts to the caramel and mix to coat.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Spread out onto a silicone baking mat and allow to cool.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Chop the cooled nougatine into desired sized pieces.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Semifreddo:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Whip the cream to soft peaks; set aside in the refrigerator.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_9", + "position": 9, + "instruction": "In a saucepan, bring the first weight of sugar and water to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "saucepan" + ] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Meanwhile, in a mixer fitted with a whisk attachment, begin making French meringue with the egg whites, second weight of sugar, and cream of tartar.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_11", + "position": 11, + "instruction": "When the sugar syrup reaches 239°F (115°C), add the honey and continue to cook to 246°F (119°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_12", + "position": 12, + "instruction": "Pour the cooked sugar/honey syrup into the meringue and whip until cool.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_13", + "position": 13, + "instruction": "Fold the chopped nougatine and diced candied orange peel into the meringue followed by the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_14", + "position": 14, + "instruction": "Mold as desired and freeze immediately.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "oat_chocolate_cookie", + "schema_version": 2, + "save_version": 1, + "title": "Oat Chocolate Cookie", + "summary": null, + "categories_json": "[\"dessert\"]", + "tags_json": "[\"cookie\",\"chocolate\"]", + "yield_quantity": 366.5, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"oat_chocolate_cookie\",\"title\":\"Oat Chocolate Cookie\",\"categories\":[\"dessert\"],\"tags\":[\"cookie\",\"chocolate\"],\"yield\":{\"amount\":{\"quantity\":366.5,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_oats\",\"reference\":{\"ingredient_id\":\"oats\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":118,\"unit_id\":\"gram\"},\"percentage\":118},{\"id\":\"line_03_peanut_butter\",\"reference\":{\"ingredient_id\":\"peanut_butter\"},\"amount\":{\"quantity\":66,\"unit_id\":\"gram\"},\"percentage\":66},{\"id\":\"line_04_milk\",\"reference\":{\"ingredient_id\":\"milk\"},\"amount\":{\"quantity\":45,\"unit_id\":\"gram\"},\"percentage\":45},{\"id\":\"line_05_butter\",\"reference\":{\"ingredient_id\":\"butter\"},\"amount\":{\"quantity\":22,\"unit_id\":\"gram\"},\"percentage\":22},{\"id\":\"line_06_cocoa_powder\",\"reference\":{\"ingredient_id\":\"cocoa_powder\"},\"amount\":{\"quantity\":8.5,\"unit_id\":\"gram\"},\"percentage\":8.5},{\"id\":\"line_07_vanilla_extract\",\"reference\":{\"ingredient_id\":\"vanilla_extract\"},\"amount\":{\"quantity\":6,\"unit_id\":\"gram\"},\"percentage\":6},{\"id\":\"line_08_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1,\"unit_id\":\"gram\"},\"percentage\":1}]}],\"equipment_ids\":[\"saucepan\",\"whisk\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine the butter, sugar, milk, and cocoa powder together in a medium saucepan over medium heat.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Whisk constantly until the butter melts. whisking occasionally, bring to a boil.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Once boiling, stop whisking and allow to boil for 1 min.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Remove from heat, then immediately stir in the peanut butter and vanilla extract until completely combined.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Stir in the oats and salt.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Allow mixture to sit for 5 min. This allows the oats to soak up some moisture.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"During the 5 min, line two baking sheets with parchment paper or silicone baking mats. and make sure there is enough room in your refrigerator for the baking sheets.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Using a 1 tbsp cookie scoop, drop a tablespoon of dough onto the lined baking sheets. if desired, slightly flatten down with the back of a spoon. repeat with the rest of the dough.\",\"component_ids\":[\"main\"]},{\"id\":\"step_09\",\"order\":9,\"instruction\":\"Refrigerate the cookies for 30-60 min to set.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "saucepan", + "whisk" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_oats", + "position": 1, + "ingredient_id": "oats", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 118, + "unit_id": "gram", + "percentage": 118, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_peanut_butter", + "position": 3, + "ingredient_id": "peanut_butter", + "subrecipe_id": null, + "quantity": 66, + "unit_id": "gram", + "percentage": 66, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_milk", + "position": 4, + "ingredient_id": "milk", + "subrecipe_id": null, + "quantity": 45, + "unit_id": "gram", + "percentage": 45, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_butter", + "position": 5, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 22, + "unit_id": "gram", + "percentage": 22, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_cocoa_powder", + "position": 6, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 8.5, + "unit_id": "gram", + "percentage": 8.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_vanilla_extract", + "position": 7, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine the butter, sugar, milk, and cocoa powder together in a medium saucepan over medium heat.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Whisk constantly until the butter melts. whisking occasionally, bring to a boil.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Once boiling, stop whisking and allow to boil for 1 min.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Remove from heat, then immediately stir in the peanut butter and vanilla extract until completely combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Stir in the oats and salt.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Allow mixture to sit for 5 min. This allows the oats to soak up some moisture.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "During the 5 min, line two baking sheets with parchment paper or silicone baking mats. and make sure there is enough room in your refrigerator for the baking sheets.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Using a 1 tbsp cookie scoop, drop a tablespoon of dough onto the lined baking sheets. if desired, slightly flatten down with the back of a spoon. repeat with the rest of the dough.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_09", + "position": 9, + "instruction": "Refrigerate the cookies for 30-60 min to set.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "oat_crumb_topping", + "schema_version": 2, + "save_version": 6, + "title": "Oat Crumb Topping", + "summary": null, + "categories_json": "[\"doughs\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"doughs\",\"classic\"]", + "yield_quantity": 2245, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"The crumb topping can be refrigerated for 3 days or frozen up to 2 months.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_brown_sugar", + "position": 2, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 675, + "unit_id": "gram", + "percentage": 112.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_flour_all_purpose", + "position": 3, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_rolled_oats", + "position": 4, + "ingredient_id": "rolled_oats", + "subrecipe_id": null, + "quantity": 345, + "unit_id": "gram", + "percentage": 57.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 1.67, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_baking_powder", + "position": 6, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 0.83, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_baking_soda", + "position": 7, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 0.83, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_cardamom", + "position": 8, + "ingredient_id": "cardamom", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 0.33, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the butter and set aside.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Combine the rest of the ingredients by hand, making sure there are no lumps.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the melted butter and mix to combine by hand.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "oatmeal_raisin_cookie", + "schema_version": 2, + "save_version": 1, + "title": "Oatmeal Raisin Cookie", + "summary": null, + "categories_json": "[\"dessert\"]", + "tags_json": "[\"cookie\"]", + "yield_quantity": 513.5, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"oatmeal_raisin_cookie\",\"title\":\"Oatmeal Raisin Cookie\",\"categories\":[\"dessert\"],\"tags\":[\"cookie\"],\"yield\":{\"amount\":{\"quantity\":513.5,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_bread\",\"reference\":{\"ingredient_id\":\"flour_bread\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_brown_sugar\",\"reference\":{\"ingredient_id\":\"brown_sugar\"},\"amount\":{\"quantity\":145,\"unit_id\":\"gram\"},\"percentage\":145},{\"id\":\"line_03_oats\",\"reference\":{\"ingredient_id\":\"oats\"},\"amount\":{\"quantity\":85,\"unit_id\":\"gram\"},\"percentage\":85},{\"id\":\"line_04_raisins\",\"reference\":{\"ingredient_id\":\"raisins\"},\"amount\":{\"quantity\":72.5,\"unit_id\":\"gram\"},\"percentage\":72.5},{\"id\":\"line_05_butter\",\"reference\":{\"ingredient_id\":\"butter\"},\"amount\":{\"quantity\":68.75,\"unit_id\":\"gram\"},\"percentage\":68.75},{\"id\":\"line_06_egg_whole\",\"reference\":{\"ingredient_id\":\"egg_whole\"},\"amount\":{\"quantity\":32.5,\"unit_id\":\"gram\"},\"percentage\":32.5},{\"id\":\"line_07_vanilla_extract\",\"reference\":{\"ingredient_id\":\"vanilla_extract\"},\"amount\":{\"quantity\":3.5,\"unit_id\":\"gram\"},\"percentage\":3.5},{\"id\":\"line_08_baking_powder\",\"reference\":{\"ingredient_id\":\"baking_powder\"},\"amount\":{\"quantity\":3.5,\"unit_id\":\"gram\"},\"percentage\":3.5},{\"id\":\"line_09_baking_soda\",\"reference\":{\"ingredient_id\":\"baking_soda\"},\"amount\":{\"quantity\":1.75,\"unit_id\":\"gram\"},\"percentage\":1.75},{\"id\":\"line_10_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1,\"unit_id\":\"gram\"},\"percentage\":1}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"TODO: Add complete preparation instructions for this recipe.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_brown_sugar", + "position": 2, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 145, + "unit_id": "gram", + "percentage": 145, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_oats", + "position": 3, + "ingredient_id": "oats", + "subrecipe_id": null, + "quantity": 85, + "unit_id": "gram", + "percentage": 85, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_raisins", + "position": 4, + "ingredient_id": "raisins", + "subrecipe_id": null, + "quantity": 72.5, + "unit_id": "gram", + "percentage": 72.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_butter", + "position": 5, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 68.75, + "unit_id": "gram", + "percentage": 68.75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whole", + "position": 6, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 32.5, + "unit_id": "gram", + "percentage": 32.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_vanilla_extract", + "position": 7, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 3.5, + "unit_id": "gram", + "percentage": 3.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_baking_powder", + "position": 8, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 3.5, + "unit_id": "gram", + "percentage": 3.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_baking_soda", + "position": 9, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 1.75, + "unit_id": "gram", + "percentage": 1.75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_salt", + "position": 10, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "TODO: Add complete preparation instructions for this recipe.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "oatmeal_raisin_cookies", + "schema_version": 2, + "save_version": 6, + "title": "Oatmeal-Raisin Cookies", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1977, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 371, + "unit_id": "gram", + "percentage": 115.22, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_brown_sugar", + "position": 2, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 421, + "unit_id": "gram", + "percentage": 130.75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 82, + "unit_id": "gram", + "percentage": 25.47, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_invert_sugar", + "position": 4, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": 7.76, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_whole", + "position": 5, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 46.58, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_vanilla_extract", + "position": 6, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 2.17, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_flour_all_purpose", + "position": 7, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 322, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_baking_soda", + "position": 8, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 3.11, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.55, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_cinnamon", + "position": 10, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.55, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_rolled_oats", + "position": 11, + "ingredient_id": "rolled_oats", + "subrecipe_id": null, + "quantity": 394, + "unit_id": "gram", + "percentage": 122.36, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_golden_raisins", + "position": 12, + "ingredient_id": "golden_raisins", + "subrecipe_id": null, + "quantity": 185, + "unit_id": "gram", + "percentage": 57.45, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter and sugars.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the eggs one at a time, followed by the extract, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Combine the sifted dry ingredients with the oats. Add to the egg mixture and mix until streaky.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Fold in the raisins until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 275°F (135°C).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "oatmeal_walnut_bread", + "schema_version": 2, + "save_version": 6, + "title": "Oatmeal Walnut Bread", + "summary": "Yield: two 9-inch loaf pans", + "categories_json": "[\"breads\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breads\",\"classic\"]", + "yield_quantity": 1700, + "yield_unit_id": "gram", + "yield_servings": 2, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: two 9-inch loaf pans\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_whole_wheat", + "position": 1, + "ingredient_id": "flour_whole_wheat", + "subrecipe_id": null, + "quantity": 160, + "unit_id": "gram", + "percentage": 24.81, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_rolled_oats", + "position": 2, + "ingredient_id": "rolled_oats", + "subrecipe_id": null, + "quantity": 130, + "unit_id": "gram", + "percentage": 20.16, + "basis_member": 0, + "optional": 0, + "notes": "lightly toasted", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_water", + "position": 3, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 62.02, + "basis_member": 0, + "optional": 0, + "notes": "110°F/43°C", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_flour_bread", + "position": 4, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 485, + "unit_id": "gram", + "percentage": 75.19, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_milk_whole", + "position": 5, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 135, + "unit_id": "gram", + "percentage": 20.93, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_honey", + "position": 6, + "ingredient_id": "honey", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 7.75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_canola_oil", + "position": 7, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 7.75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 2.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_yeast_fresh", + "position": 9, + "ingredient_id": "yeast_fresh", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 2.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_walnut", + "position": 10, + "ingredient_id": "walnut", + "subrecipe_id": null, + "quantity": 260, + "unit_id": "gram", + "percentage": 40.31, + "basis_member": 0, + "optional": 0, + "notes": "toasted & chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Combine the whole wheat flour, toasted oats, and water in a bowl and soak for 30 minutes.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a paddle attachment, combine all of the ingredients - except the walnuts and mix for 2 minutes on low speed. Increase to medium speed and mix for 3-4 minutes to develop gluten.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the walnuts and mix on low speed until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Place the dough in an oiled bowl and bulk proof for 60 minutes.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Turn, fold and flip the dough over in the bowl, cover and refrigerate overnight, or up to 18 hours.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Divide in ½ and pre-shape into 2 rounds. Cover and bench rest for 10 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Shape into bâtards, roll in oats, and place into buttered loaf pans. Proof for about 60 minutes, or until doubled in size.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Bake at 375°F (191°C) for 35-40 minutes, or until baked through.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "olive_oil_maple_granola", + "schema_version": 2, + "save_version": 6, + "title": "Olive Oil & Maple Granola", + "summary": null, + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breakfast\",\"classic\"]", + "yield_quantity": 1160, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_rolled_oats", + "position": 1, + "ingredient_id": "rolled_oats", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_raw_sunflower_seeds", + "position": 2, + "ingredient_id": "raw_sunflower_seeds", + "subrecipe_id": null, + "quantity": 140, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "hulled", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_raw_sliced_almonds", + "position": 3, + "ingredient_id": "raw_sliced_almonds", + "subrecipe_id": null, + "quantity": 130, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_raw_pecans", + "position": 4, + "ingredient_id": "raw_pecans", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "coarsely chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_unsweetened_coconut", + "position": 5, + "ingredient_id": "unsweetened_coconut", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "shredded", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_pure_maple_syrup", + "position": 6, + "ingredient_id": "pure_maple_syrup", + "subrecipe_id": null, + "quantity": 180, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_extra_virgin_olive_oil", + "position": 7, + "ingredient_id": "extra_virgin_olive_oil", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_brown_sugar", + "position": 8, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Combine all of the ingredients in a large bowl and mix well.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Spread the granola onto parchment-lined sheet pans.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Bake at 275°F (135°C) until toasted, stirring occasionally.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Remove from the oven and season with additional salt to taste if desired.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Store in a airtight container for up to 1 month.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "orange_chicken_sauce", + "schema_version": 2, + "save_version": 1, + "title": "Orange Chicken Sauce", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"chinese\"]", + "yield_quantity": 459.6, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"orange_chicken_sauce\",\"title\":\"Orange Chicken Sauce\",\"categories\":[\"sauce\"],\"tags\":[\"chinese\"],\"yield\":{\"amount\":{\"quantity\":459.6,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_orange_juice\",\"reference\":{\"ingredient_id\":\"orange_juice\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100},{\"id\":\"line_03_vinegar_5\",\"reference\":{\"ingredient_id\":\"vinegar_5\"},\"amount\":{\"quantity\":50,\"unit_id\":\"gram\"},\"percentage\":50},{\"id\":\"line_04_soy_sauce_light\",\"reference\":{\"ingredient_id\":\"soy_sauce_light\"},\"amount\":{\"quantity\":50,\"unit_id\":\"gram\"},\"percentage\":50},{\"id\":\"line_05_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":40,\"unit_id\":\"gram\"},\"percentage\":40},{\"id\":\"line_06_brown_sugar\",\"reference\":{\"ingredient_id\":\"brown_sugar\"},\"amount\":{\"quantity\":40,\"unit_id\":\"gram\"},\"percentage\":40},{\"id\":\"line_07_oyster_sauce\",\"reference\":{\"ingredient_id\":\"oyster_sauce\"},\"amount\":{\"quantity\":32,\"unit_id\":\"gram\"},\"percentage\":32},{\"id\":\"line_08_cornstarch\",\"reference\":{\"ingredient_id\":\"cornstarch\"},\"amount\":{\"quantity\":13.3,\"unit_id\":\"gram\"},\"percentage\":13.3},{\"id\":\"line_09_orange_extract\",\"reference\":{\"ingredient_id\":\"orange_extract\"},\"amount\":{\"quantity\":8.3,\"unit_id\":\"gram\"},\"percentage\":8.3},{\"id\":\"line_10_sambal_oelek\",\"reference\":{\"ingredient_id\":\"sambal_oelek\"},\"amount\":{\"quantity\":8.3,\"unit_id\":\"gram\"},\"percentage\":8.3},{\"id\":\"line_11_garlic_minced\",\"reference\":{\"ingredient_id\":\"garlic\"},\"amount\":{\"quantity\":4.2,\"unit_id\":\"gram\"},\"percentage\":4.2,\"prep\":[{\"action_id\":\"mince\"}]},{\"id\":\"line_12_ginger_grated\",\"reference\":{\"ingredient_id\":\"ginger\"},\"amount\":{\"quantity\":4.2,\"unit_id\":\"gram\"},\"percentage\":4.2,\"prep\":[{\"action_id\":\"grate\"}]},{\"id\":\"line_13_soy_sauce_dark\",\"reference\":{\"ingredient_id\":\"soy_sauce_dark\"},\"amount\":{\"quantity\":4.2,\"unit_id\":\"gram\"},\"percentage\":4.2},{\"id\":\"line_14_chicken_base\",\"reference\":{\"ingredient_id\":\"chicken_base\"},\"amount\":{\"quantity\":2.5,\"unit_id\":\"gram\"},\"percentage\":2.5},{\"id\":\"line_15_msg\",\"reference\":{\"ingredient_id\":\"msg\"},\"amount\":{\"quantity\":1.6,\"unit_id\":\"gram\"},\"percentage\":1.6},{\"id\":\"line_16_white_pepper\",\"reference\":{\"ingredient_id\":\"white_pepper\"},\"amount\":{\"quantity\":1,\"unit_id\":\"gram\"},\"percentage\":1}]}],\"equipment_ids\":[\"whisk\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine all in sauce pot.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Whisk until combined, dissolved.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Heat oil.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Add garlic, ginger, sambal.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Cook < 60 sec.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Cooking wine to deglaze.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Add sauce mixture to this pan.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Stir in cornstarch slurry.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "whisk" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_orange_juice", + "position": 2, + "ingredient_id": "orange_juice", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_vinegar_5", + "position": 3, + "ingredient_id": "vinegar_5", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_soy_sauce_light", + "position": 4, + "ingredient_id": "soy_sauce_light", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 40, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_brown_sugar", + "position": 6, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 40, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_oyster_sauce", + "position": 7, + "ingredient_id": "oyster_sauce", + "subrecipe_id": null, + "quantity": 32, + "unit_id": "gram", + "percentage": 32, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_cornstarch", + "position": 8, + "ingredient_id": "cornstarch", + "subrecipe_id": null, + "quantity": 13.3, + "unit_id": "gram", + "percentage": 13.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_orange_extract", + "position": 9, + "ingredient_id": "orange_extract", + "subrecipe_id": null, + "quantity": 8.3, + "unit_id": "gram", + "percentage": 8.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_sambal_oelek", + "position": 10, + "ingredient_id": "sambal_oelek", + "subrecipe_id": null, + "quantity": 8.3, + "unit_id": "gram", + "percentage": 8.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_garlic_minced", + "position": 11, + "ingredient_id": "garlic", + "subrecipe_id": null, + "quantity": 4.2, + "unit_id": "gram", + "percentage": 4.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [ + { + "position": 1, + "action_id": "mince", + "yield_factor": null, + "notes": null + } + ] + }, + { + "component_id": "main", + "id": "line_12_ginger_grated", + "position": 12, + "ingredient_id": "ginger", + "subrecipe_id": null, + "quantity": 4.2, + "unit_id": "gram", + "percentage": 4.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [ + { + "position": 1, + "action_id": "grate", + "yield_factor": null, + "notes": null + } + ] + }, + { + "component_id": "main", + "id": "line_13_soy_sauce_dark", + "position": 13, + "ingredient_id": "soy_sauce_dark", + "subrecipe_id": null, + "quantity": 4.2, + "unit_id": "gram", + "percentage": 4.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_14_chicken_base", + "position": 14, + "ingredient_id": "chicken_base", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 2.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_15_msg", + "position": 15, + "ingredient_id": "msg", + "subrecipe_id": null, + "quantity": 1.6, + "unit_id": "gram", + "percentage": 1.6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_16_white_pepper", + "position": 16, + "ingredient_id": "white_pepper", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine all in sauce pot.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Whisk until combined, dissolved.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Heat oil.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Add garlic, ginger, sambal.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Cook < 60 sec.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Cooking wine to deglaze.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Add sauce mixture to this pan.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Stir in cornstarch slurry.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "orange_chiffon_cake", + "schema_version": 2, + "save_version": 6, + "title": "Orange Chiffon Cake", + "summary": "Yield: one full sheet pan or one 10-inch tube pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 1285, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one full sheet pan or one 10-inch tube pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_cake", + "position": 1, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": 55.07, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_vanilla_sugar", + "position": 3, + "ingredient_id": "vanilla_sugar", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": 55.07, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_baking_powder", + "position": 4, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 4.41, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 2.2, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_yolk", + "position": 6, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 140, + "unit_id": "gram", + "percentage": 61.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_canola_oil", + "position": 7, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 110, + "unit_id": "gram", + "percentage": 48.46, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_oranges", + "position": 8, + "ingredient_id": "oranges", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "each", + "percentage": 1.32, + "basis_member": 0, + "optional": 0, + "notes": "juice & zest", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_egg_whites", + "position": 9, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 132.16, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_sugar", + "position": 10, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 22.03, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_cream_of_tartar", + "position": 11, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 2.2, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Sift the dry ingredients and place in a bowl large enough to accommodate the entire recipe.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the egg yolks, oil, juice, and zest together.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk the wet ingredients into the sifted dry ingredients and thoroughly mix until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Prepare a stiff peak French meringue with the egg whites, sugar, and cream of tartar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold the meringue into the batter just until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 325°F (163°C) until the cake springs back to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "orange_juice", + "schema_version": 2, + "save_version": 1, + "title": "Orange Juice", + "summary": null, + "categories_json": "[\"beverage\"]", + "tags_json": "[]", + "yield_quantity": 139, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"orange_juice\",\"title\":\"Orange Juice\",\"categories\":[\"beverage\"],\"tags\":[],\"yield\":{\"amount\":{\"quantity\":139,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_orange_juice_concentrate\",\"reference\":{\"ingredient_id\":\"orange_juice_concentrate\"},\"amount\":{\"quantity\":39,\"unit_id\":\"gram\"},\"percentage\":39}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_orange_juice_concentrate", + "position": 2, + "ingredient_id": "orange_juice_concentrate", + "subrecipe_id": null, + "quantity": 39, + "unit_id": "gram", + "percentage": 39, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "orange_olive_oil_cake", + "schema_version": 2, + "save_version": 6, + "title": "Orange Olive Oil Cake", + "summary": "Yield: two 9-inch cake pans or one full sheet pan", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 1850, + "yield_unit_id": "gram", + "yield_servings": 2, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: two 9-inch cake pans or one full sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_cake", + "position": 1, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 540, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_baking_powder", + "position": 2, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 2.78, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_baking_soda", + "position": 3, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.46, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.46, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_whole", + "position": 5, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 55.56, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": 84.07, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_extra_virgin_olive_oil", + "position": 7, + "ingredient_id": "extra_virgin_olive_oil", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": 44.44, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_buttermilk", + "position": 8, + "ingredient_id": "buttermilk", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": 44.44, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_orange_zest", + "position": 9, + "ingredient_id": "orange_zest", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "each", + "percentage": 0.56, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_orange_juice", + "position": 10, + "ingredient_id": "orange_juice", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "each", + "percentage": 0.37, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Sift the dry ingredients and set aside.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the eggs and sugar over a water bath until the mixture reaches 110°F (43°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a mixer fitted with a whisk attachment, whip the warm egg mixture until a thick ribbon is achieved.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the liquid ingredients and zest to the egg foam mixture and mix to combine.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Gently fold the sifted dry ingredients into the egg foam mixture.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 350°F (177°C) until a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "orange_saffron_sauce", + "schema_version": 2, + "save_version": 6, + "title": "Orange-Saffron Sauce", + "summary": null, + "categories_json": "[\"sauces_liquids\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sauces_liquids\",\"classic\"]", + "yield_quantity": 1187, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_orange_juice", + "position": 1, + "ingredient_id": "orange_juice", + "subrecipe_id": null, + "quantity": 1500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_saffron", + "position": 2, + "ingredient_id": "saffron", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_orange_juice_saffron_reduction", + "position": 3, + "ingredient_id": "orange_juice_saffron_reduction", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 175, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_xanthan_gum", + "position": 5, + "ingredient_id": "xanthan_gum", + "subrecipe_id": null, + "quantity": 12, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In saucepan, reduce the juice and saffron by ⅓ .", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Bring the reduced juice and sugar to a boil to dissolve the sugar.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Strain through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Cool the sauce down immediately over an ice bath.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Place the chilled juice mixture in a blender. With the blender on low speed, sprinkle in the xanthan gum then blend on high speed for 2 minutes.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Remove the bubbles in the sauce using a vacuum packaging machine.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "orange_tea_cake", + "schema_version": 2, + "save_version": 6, + "title": "Orange Tea Cake", + "summary": "Yield: one 9-inch cake pan", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 1170, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one 9-inch cake pan\",\"This cake will cave in the center. To remedy this, press the sides of the cake down so they are level with the center while the cake is still hot from the oven.\",\"Allow the cake to cool in the pan for 10-15 minutes before inverting onto a cake board or platter.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_whole_oranges", + "position": 1, + "ingredient_id": "whole_oranges", + "subrecipe_id": null, + "quantity": 375, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_vanilla_bean", + "position": 2, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "seeds (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_orange_zest", + "position": 3, + "ingredient_id": "orange_zest", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_almond_flour", + "position": 6, + "ingredient_id": "almond_flour", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_baking_powder", + "position": 7, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Boil the whole oranges in water until very soft (about 2-3 hours).", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Puree the oranges, vanilla bean seeds, and zest until smooth, then weigh out 375 g for the recipe.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a mixer fitted with a whisk attachment, whip the eggs and sugar until a thick ribbon is achieved.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Fold in the flour and baking powder, followed by the puree until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 325ºF (163ºC) in a buttered and floured cake pan until a skewer inserted comes out clean and the cake pulls away from the sides of the pan.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "orange_truffle_ganache", + "schema_version": 2, + "save_version": 6, + "title": "Orange Truffle Ganache", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_salt", + "position": 2, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_orange_zest", + "position": 3, + "ingredient_id": "orange_zest", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_orange_juice", + "position": 4, + "ingredient_id": "orange_juice", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_valrhona_manjari", + "position": 5, + "ingredient_id": "valrhona_manjari", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "64%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_butter", + "position": 6, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_grand_marnier", + "position": 7, + "ingredient_id": "grand_marnier", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the cream and salt to a boil. Add the zest and set aside to infuse for 15 minutes.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Reduce the juice by ½ and set aside.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Strain the infused cream through a fine-mesh strainer, then bring back to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Pour the hot cream over the chocolate. Allow to stand for one minute, then emulsify until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Stir in the softened butter, followed by the reduced juice and Grand Marnier.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Cover the surface of the ganache with plastic wrap and allow to set up at room temperature.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Pipe the ganache into rounds that are as spherical as possible, then refrigerate until firm.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Roll the ganache into spheres by hand and chill again. At this point, the rolled spheres may be refrigerated for several days before being finished.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Allow the spheres to temper from the refrigerator before coating twice in tempered chocolate.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "After the second coating, roll the truffles in sifted cocoa powder before the chocolate sets. Once set, sift the excess cocoa powder off the finished truffles.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "orange_tuiles", + "schema_version": 2, + "save_version": 6, + "title": "Orange Tuiles", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1644, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sugar", + "position": 1, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": 264.32, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_flour_all_purpose", + "position": 2, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_almond_flour", + "position": 3, + "ingredient_id": "almond_flour", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 0.55, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_orange_juice", + "position": 5, + "ingredient_id": "orange_juice", + "subrecipe_id": null, + "quantity": 363, + "unit_id": "gram", + "percentage": 159.91, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_butter", + "position": 6, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": "melted", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Sift the dry ingredients.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the juice into the sifted dry ingredients until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Gradually add the melted butter in 3 additions, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Chill before use.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Using a template, spread thinly on a silicone baking mat.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 325°F (163°C).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Shape as desired and store in airtight containers.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "p_f_changs_dark_sauce", + "schema_version": 2, + "save_version": 1, + "title": "P. F. Chang's Dark Sauce", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"chinese\",\"copycat\",\"pf-changs\"]", + "yield_quantity": 447.5, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"p_f_changs_dark_sauce\",\"title\":\"P. F. Chang's Dark Sauce\",\"categories\":[\"sauce\"],\"tags\":[\"chinese\",\"copycat\",\"pf-changs\"],\"yield\":{\"amount\":{\"quantity\":447.5,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_soy_sauce_light_low_sodium\",\"reference\":{\"ingredient_id\":\"soy_sauce_light_low_sodium\"},\"amount\":{\"quantity\":150,\"unit_id\":\"gram\"},\"percentage\":150},{\"id\":\"line_03_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":85,\"unit_id\":\"gram\"},\"percentage\":85},{\"id\":\"line_04_michiu_wine\",\"reference\":{\"ingredient_id\":\"michiu_wine\"},\"amount\":{\"quantity\":50,\"unit_id\":\"gram\"},\"percentage\":50},{\"id\":\"line_05_oyster_sauce\",\"reference\":{\"ingredient_id\":\"oyster_sauce\"},\"amount\":{\"quantity\":33,\"unit_id\":\"gram\"},\"percentage\":33},{\"id\":\"line_06_soy_sauce_dark\",\"reference\":{\"ingredient_id\":\"soy_sauce_dark\"},\"amount\":{\"quantity\":25,\"unit_id\":\"gram\"},\"percentage\":25},{\"id\":\"line_07_chicken_base\",\"reference\":{\"ingredient_id\":\"chicken_base\"},\"amount\":{\"quantity\":4.5,\"unit_id\":\"gram\"},\"percentage\":4.5}]}],\"equipment_ids\":[\"whisk\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Dissolve sugar, chicken base in water.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Heat if necessary.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Whisk in dry.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "whisk" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_soy_sauce_light_low_sodium", + "position": 2, + "ingredient_id": "soy_sauce_light_low_sodium", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 150, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 85, + "unit_id": "gram", + "percentage": 85, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_michiu_wine", + "position": 4, + "ingredient_id": "michiu_wine", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_oyster_sauce", + "position": 5, + "ingredient_id": "oyster_sauce", + "subrecipe_id": null, + "quantity": 33, + "unit_id": "gram", + "percentage": 33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_soy_sauce_dark", + "position": 6, + "ingredient_id": "soy_sauce_dark", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": 25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_chicken_base", + "position": 7, + "ingredient_id": "chicken_base", + "subrecipe_id": null, + "quantity": 4.5, + "unit_id": "gram", + "percentage": 4.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Dissolve sugar, chicken base in water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Heat if necessary.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Whisk in dry.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "p_f_changs_honey_sauce", + "schema_version": 2, + "save_version": 1, + "title": "P. F. Chang's Honey Sauce", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"chinese\",\"copycat\",\"pf-changs\"]", + "yield_quantity": 334.2, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"p_f_changs_honey_sauce\",\"title\":\"P. F. Chang's Honey Sauce\",\"categories\":[\"sauce\"],\"tags\":[\"chinese\",\"copycat\",\"pf-changs\"],\"yield\":{\"amount\":{\"quantity\":334.2,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_shaoxing_wine\",\"reference\":{\"ingredient_id\":\"shaoxing_wine\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_vinegar_5\",\"reference\":{\"ingredient_id\":\"vinegar_5\"},\"amount\":{\"quantity\":80.8,\"unit_id\":\"gram\"},\"percentage\":80.8},{\"id\":\"line_03_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":73.8,\"unit_id\":\"gram\"},\"percentage\":73.8},{\"id\":\"line_04_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":28.3,\"unit_id\":\"gram\"},\"percentage\":28.3},{\"id\":\"line_05_soy_sauce_light\",\"reference\":{\"ingredient_id\":\"soy_sauce_light\"},\"amount\":{\"quantity\":19.2,\"unit_id\":\"gram\"},\"percentage\":19.2},{\"id\":\"line_06_cornstarch\",\"reference\":{\"ingredient_id\":\"cornstarch\"},\"amount\":{\"quantity\":15,\"unit_id\":\"gram\"},\"percentage\":15},{\"id\":\"line_07_oil\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":11,\"unit_id\":\"gram\"},\"percentage\":11},{\"id\":\"line_08_garlic_minced\",\"reference\":{\"ingredient_id\":\"garlic\"},\"amount\":{\"quantity\":3.8,\"unit_id\":\"gram\"},\"percentage\":3.8,\"prep\":[{\"action_id\":\"mince\"}]},{\"id\":\"line_09_dried_chilis\",\"reference\":{\"ingredient_id\":\"dried_chilis\"},\"amount\":{\"quantity\":2.3,\"unit_id\":\"gram\"},\"percentage\":2.3}]}],\"equipment_ids\":[\"whisk\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Heat oil in pot, medium heat.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Add chilis, saute until dark.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Add garlic. saute briefly, < 60 sec.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Add remaining except vinegar.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Whisk to dissolve and combine.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Turn off heat, leave for ≈10 min.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Add vinegar, whisk to incorporated.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Strain out garlic and chilis.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "whisk" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_shaoxing_wine", + "position": 1, + "ingredient_id": "shaoxing_wine", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_vinegar_5", + "position": 2, + "ingredient_id": "vinegar_5", + "subrecipe_id": null, + "quantity": 80.8, + "unit_id": "gram", + "percentage": 80.8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 73.8, + "unit_id": "gram", + "percentage": 73.8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_water", + "position": 4, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 28.3, + "unit_id": "gram", + "percentage": 28.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_soy_sauce_light", + "position": 5, + "ingredient_id": "soy_sauce_light", + "subrecipe_id": null, + "quantity": 19.2, + "unit_id": "gram", + "percentage": 19.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_cornstarch", + "position": 6, + "ingredient_id": "cornstarch", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 15, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_oil", + "position": 7, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 11, + "unit_id": "gram", + "percentage": 11, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_garlic_minced", + "position": 8, + "ingredient_id": "garlic", + "subrecipe_id": null, + "quantity": 3.8, + "unit_id": "gram", + "percentage": 3.8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [ + { + "position": 1, + "action_id": "mince", + "yield_factor": null, + "notes": null + } + ] + }, + { + "component_id": "main", + "id": "line_09_dried_chilis", + "position": 9, + "ingredient_id": "dried_chilis", + "subrecipe_id": null, + "quantity": 2.3, + "unit_id": "gram", + "percentage": 2.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Heat oil in pot, medium heat.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Add chilis, saute until dark.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Add garlic. saute briefly, < 60 sec.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Add remaining except vinegar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Whisk to dissolve and combine.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Turn off heat, leave for ≈10 min.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Add vinegar, whisk to incorporated.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Strain out garlic and chilis.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "p_f_changs_kung_pao_sauce", + "schema_version": 2, + "save_version": 1, + "title": "P. F. Chang's Kung Pao Sauce", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"chinese\",\"copycat\",\"pf-changs\"]", + "yield_quantity": 777.5, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"p_f_changs_kung_pao_sauce\",\"title\":\"P. F. Chang's Kung Pao Sauce\",\"categories\":[\"sauce\"],\"tags\":[\"chinese\",\"copycat\",\"pf-changs\"],\"yield\":{\"amount\":{\"quantity\":777.5,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_soy_sauce_light_low_sodium\",\"reference\":{\"ingredient_id\":\"soy_sauce_light_low_sodium\"},\"amount\":{\"quantity\":325,\"unit_id\":\"gram\"},\"percentage\":325},{\"id\":\"line_03_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":130,\"unit_id\":\"gram\"},\"percentage\":130},{\"id\":\"line_04_shaoxing_wine\",\"reference\":{\"ingredient_id\":\"shaoxing_wine\"},\"amount\":{\"quantity\":75,\"unit_id\":\"gram\"},\"percentage\":75},{\"id\":\"line_05_vinegar_5\",\"reference\":{\"ingredient_id\":\"vinegar_5\"},\"amount\":{\"quantity\":75,\"unit_id\":\"gram\"},\"percentage\":75},{\"id\":\"line_06_soy_sauce_dark\",\"reference\":{\"ingredient_id\":\"soy_sauce_dark\"},\"amount\":{\"quantity\":58,\"unit_id\":\"gram\"},\"percentage\":58},{\"id\":\"line_07_oyster_sauce\",\"reference\":{\"ingredient_id\":\"oyster_sauce\"},\"amount\":{\"quantity\":11,\"unit_id\":\"gram\"},\"percentage\":11},{\"id\":\"line_08_chicken_base\",\"reference\":{\"ingredient_id\":\"chicken_base\"},\"amount\":{\"quantity\":3.5,\"unit_id\":\"gram\"},\"percentage\":3.5}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Mix everything.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_soy_sauce_light_low_sodium", + "position": 2, + "ingredient_id": "soy_sauce_light_low_sodium", + "subrecipe_id": null, + "quantity": 325, + "unit_id": "gram", + "percentage": 325, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 130, + "unit_id": "gram", + "percentage": 130, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_shaoxing_wine", + "position": 4, + "ingredient_id": "shaoxing_wine", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": 75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vinegar_5", + "position": 5, + "ingredient_id": "vinegar_5", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": 75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_soy_sauce_dark", + "position": 6, + "ingredient_id": "soy_sauce_dark", + "subrecipe_id": null, + "quantity": 58, + "unit_id": "gram", + "percentage": 58, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_oyster_sauce", + "position": 7, + "ingredient_id": "oyster_sauce", + "subrecipe_id": null, + "quantity": 11, + "unit_id": "gram", + "percentage": 11, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_chicken_base", + "position": 8, + "ingredient_id": "chicken_base", + "subrecipe_id": null, + "quantity": 3.5, + "unit_id": "gram", + "percentage": 3.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Mix everything.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "p_f_changs_mongolian_beef_sauce", + "schema_version": 2, + "save_version": 1, + "title": "P. F. Chang's Mongolian Beef Sauce", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"chinese\",\"beef\",\"copycat\",\"pf-changs\"]", + "yield_quantity": 534, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"p_f_changs_mongolian_beef_sauce\",\"title\":\"P. F. Chang's Mongolian Beef Sauce\",\"categories\":[\"sauce\"],\"tags\":[\"chinese\",\"beef\",\"copycat\",\"pf-changs\"],\"yield\":{\"amount\":{\"quantity\":534,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":165,\"unit_id\":\"gram\"},\"percentage\":165},{\"id\":\"line_03_soy_sauce_light_low_sodium\",\"reference\":{\"ingredient_id\":\"soy_sauce_light_low_sodium\"},\"amount\":{\"quantity\":150,\"unit_id\":\"gram\"},\"percentage\":150},{\"id\":\"line_04_shaoxing_wine\",\"reference\":{\"ingredient_id\":\"shaoxing_wine\"},\"amount\":{\"quantity\":50,\"unit_id\":\"gram\"},\"percentage\":50},{\"id\":\"line_05_oyster_sauce\",\"reference\":{\"ingredient_id\":\"oyster_sauce\"},\"amount\":{\"quantity\":33,\"unit_id\":\"gram\"},\"percentage\":33},{\"id\":\"line_06_soy_sauce_dark\",\"reference\":{\"ingredient_id\":\"soy_sauce_dark\"},\"amount\":{\"quantity\":25,\"unit_id\":\"gram\"},\"percentage\":25},{\"id\":\"line_07_chicken_base\",\"reference\":{\"ingredient_id\":\"chicken_base\"},\"amount\":{\"quantity\":6,\"unit_id\":\"gram\"},\"percentage\":6},{\"id\":\"line_08_sesame_oil\",\"reference\":{\"ingredient_id\":\"sesame_oil\"},\"amount\":{\"quantity\":5,\"unit_id\":\"gram\"},\"percentage\":5}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine all in sauce pot.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Bring to boil, stirring vigorously.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Until thickened slightly.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 165, + "unit_id": "gram", + "percentage": 165, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_soy_sauce_light_low_sodium", + "position": 3, + "ingredient_id": "soy_sauce_light_low_sodium", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 150, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_shaoxing_wine", + "position": 4, + "ingredient_id": "shaoxing_wine", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_oyster_sauce", + "position": 5, + "ingredient_id": "oyster_sauce", + "subrecipe_id": null, + "quantity": 33, + "unit_id": "gram", + "percentage": 33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_soy_sauce_dark", + "position": 6, + "ingredient_id": "soy_sauce_dark", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": 25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_chicken_base", + "position": 7, + "ingredient_id": "chicken_base", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_sesame_oil", + "position": 8, + "ingredient_id": "sesame_oil", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine all in sauce pot.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Bring to boil, stirring vigorously.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Until thickened slightly.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "p_f_changs_spicy_chicken_sauce", + "schema_version": 2, + "save_version": 1, + "title": "P. F. Chang's Spicy Chicken Sauce", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"chinese\",\"chicken\",\"copycat\",\"pf-changs\"]", + "yield_quantity": 207.5, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"p_f_changs_spicy_chicken_sauce\",\"title\":\"P. F. Chang's Spicy Chicken Sauce\",\"categories\":[\"sauce\"],\"tags\":[\"chinese\",\"chicken\",\"copycat\",\"pf-changs\"],\"yield\":{\"amount\":{\"quantity\":207.5,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":45,\"unit_id\":\"gram\"},\"percentage\":45},{\"id\":\"line_03_vinegar_5\",\"reference\":{\"ingredient_id\":\"vinegar_5\"},\"amount\":{\"quantity\":37,\"unit_id\":\"gram\"},\"percentage\":37},{\"id\":\"line_04_chili_crisp\",\"reference\":{\"ingredient_id\":\"chili_crisp\"},\"amount\":{\"quantity\":8,\"unit_id\":\"gram\"},\"percentage\":8},{\"id\":\"line_05_cornstarch\",\"reference\":{\"ingredient_id\":\"cornstarch\"},\"amount\":{\"quantity\":6,\"unit_id\":\"gram\"},\"percentage\":6},{\"id\":\"line_06_oyster_sauce\",\"reference\":{\"ingredient_id\":\"oyster_sauce\"},\"amount\":{\"quantity\":5.5,\"unit_id\":\"gram\"},\"percentage\":5.5},{\"id\":\"line_07_chicken_base\",\"reference\":{\"ingredient_id\":\"chicken_base\"},\"amount\":{\"quantity\":3,\"unit_id\":\"gram\"},\"percentage\":3},{\"id\":\"line_08_sesame_oil\",\"reference\":{\"ingredient_id\":\"sesame_oil\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_09_white_pepper\",\"reference\":{\"ingredient_id\":\"white_pepper\"},\"amount\":{\"quantity\":1,\"unit_id\":\"gram\"},\"percentage\":1}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine all in sauce pot.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Bring to boil, stirring vigorously until thickened.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 45, + "unit_id": "gram", + "percentage": 45, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_vinegar_5", + "position": 3, + "ingredient_id": "vinegar_5", + "subrecipe_id": null, + "quantity": 37, + "unit_id": "gram", + "percentage": 37, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_chili_crisp", + "position": 4, + "ingredient_id": "chili_crisp", + "subrecipe_id": null, + "quantity": 8, + "unit_id": "gram", + "percentage": 8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_cornstarch", + "position": 5, + "ingredient_id": "cornstarch", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_oyster_sauce", + "position": 6, + "ingredient_id": "oyster_sauce", + "subrecipe_id": null, + "quantity": 5.5, + "unit_id": "gram", + "percentage": 5.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_chicken_base", + "position": 7, + "ingredient_id": "chicken_base", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_sesame_oil", + "position": 8, + "ingredient_id": "sesame_oil", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_white_pepper", + "position": 9, + "ingredient_id": "white_pepper", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine all in sauce pot.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Bring to boil, stirring vigorously until thickened.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "p_f_changs_umami_sauce", + "schema_version": 2, + "save_version": 1, + "title": "P. F. Chang's Umami Sauce", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"chinese\",\"copycat\",\"pf-changs\"]", + "yield_quantity": 327.2, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"p_f_changs_umami_sauce\",\"title\":\"P. F. Chang's Umami Sauce\",\"categories\":[\"sauce\"],\"tags\":[\"chinese\",\"copycat\",\"pf-changs\"],\"yield\":{\"amount\":{\"quantity\":327.2,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_oyster_sauce\",\"reference\":{\"ingredient_id\":\"oyster_sauce\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_michiu_wine\",\"reference\":{\"ingredient_id\":\"michiu_wine\"},\"amount\":{\"quantity\":79,\"unit_id\":\"gram\"},\"percentage\":79},{\"id\":\"line_03_soy_sauce_dark\",\"reference\":{\"ingredient_id\":\"soy_sauce_dark\"},\"amount\":{\"quantity\":79,\"unit_id\":\"gram\"},\"percentage\":79},{\"id\":\"line_04_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":66,\"unit_id\":\"gram\"},\"percentage\":66},{\"id\":\"line_05_white_pepper\",\"reference\":{\"ingredient_id\":\"white_pepper\"},\"amount\":{\"quantity\":3.2,\"unit_id\":\"gram\"},\"percentage\":3.2}]}],\"equipment_ids\":[\"mixing_bowl\",\"whisk\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Add all to bowl.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Whisk until dissolved.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "mixing_bowl", + "whisk" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_oyster_sauce", + "position": 1, + "ingredient_id": "oyster_sauce", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_michiu_wine", + "position": 2, + "ingredient_id": "michiu_wine", + "subrecipe_id": null, + "quantity": 79, + "unit_id": "gram", + "percentage": 79, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_soy_sauce_dark", + "position": 3, + "ingredient_id": "soy_sauce_dark", + "subrecipe_id": null, + "quantity": 79, + "unit_id": "gram", + "percentage": 79, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 66, + "unit_id": "gram", + "percentage": 66, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_white_pepper", + "position": 5, + "ingredient_id": "white_pepper", + "subrecipe_id": null, + "quantity": 3.2, + "unit_id": "gram", + "percentage": 3.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Add all to bowl.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Whisk until dissolved.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pain_de_genes", + "schema_version": 2, + "save_version": 6, + "title": "Pain de Gênes", + "summary": "Yield: one half sheet pan", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 1165, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one half sheet pan\",\"This cake can be pleasant with the addition of diced candied orange peel, citrus zest, chocolate chips, and chopped nuts.\",\"Other liquors like dark rum, Pernod, amaretto, pear william, calvados, etc. can be substituted for kirschwasser.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_almond_paste", + "position": 1, + "ingredient_id": "almond_paste", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 470.59, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 117.65, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_butter", + "position": 3, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 294.12, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 352.94, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_kirschwasser", + "position": 5, + "ingredient_id": "kirschwasser", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": 35.29, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_flour_all_purpose", + "position": 6, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 85, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 2.94, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix the paste and sugar until light and crumbly.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the butter and continue to mix until very light and creamy.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the eggs in 3 additions, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the kirschwasser.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Add the sifted flour and salt.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 375°F (191ºC) for the first ½ of the baking process, then lower to 350°F (177ºC) to finish.", + "critical_control_point": 0, + "equipment_ids": [ + "food_processor", + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pain_de_mie", + "schema_version": 2, + "save_version": 6, + "title": "Pain de Mie", + "summary": "Yield: one 15 x 4-inch pullman loaf pan", + "categories_json": "[\"breads\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breads\",\"classic\"]", + "yield_quantity": 1030, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one 15 x 4-inch pullman loaf pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 3.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 1.67, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_milk_powder", + "position": 4, + "ingredient_id": "milk_powder", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 1.67, + "basis_member": 0, + "optional": 0, + "notes": "1½ T", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_butter", + "position": 5, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 2.5, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_yeast_fresh", + "position": 6, + "ingredient_id": "yeast_fresh", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 2.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_water", + "position": 7, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": 40, + "basis_member": 0, + "optional": 0, + "notes": "110ºF/43ºC", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_milk_whole", + "position": 8, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": 20, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Butter the pullman pan and lid.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a paddle attachment, mix all of the ingredients on low speed for 1-2 minutes to hydrate.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Switch to a hook attachment and mix on medium-low speed for 3-5 minutes, or until gluten is developed.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Place the dough in an oiled bowl and bulk proof for 30-60 minutes, or until doubled in size.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "De-gas the dough, then shape into a loaf the length of the pullman pan.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Place the loaf in the buttered pan seam side down and slide the lid closed.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Give the dough its final proof. The dough should rise within a ½-inch to the lid before baking.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Bake at 350ºF (177ºC) for 25-30 minutes, or until golden brown.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Remove the lid and continue to bake until the internal temperature is 190ºF (88ºC), about 15 minutes.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Unmold the loaf immediately after baking and cool on wire racks.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pain_viennois", + "schema_version": 2, + "save_version": 6, + "title": "Pain Viennois", + "summary": "Yield: eight 100 g (3.5 oz) loaves", + "categories_json": "[\"breads\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breads\",\"classic\"]", + "yield_quantity": 805, + "yield_unit_id": "gram", + "yield_servings": 8, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: eight 100 g (3.5 oz) loaves\",\"Pain Viennois is classically made in the shape of a baguette but can also be made into rolls. The crust is softer and the bread is overall richer and sweeter than traditional baguettes. 100 g (3.5 oz) loaves make an ideal size for sandwiches or hot dog buns.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 420, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_milk_whole", + "position": 2, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 47.62, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_whole", + "position": 3, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 11.9, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_yeast_fresh", + "position": 4, + "ingredient_id": "yeast_fresh", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 3.57, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": 5.95, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 2.38, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_butter", + "position": 7, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 85, + "unit_id": "gram", + "percentage": 20.24, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix all of the ingredients-except the butter-on low speed for 2 minutes to hydrate.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Switch to a hook attachment and mix on medium speed for 5-7 minutes, or until gluten is developed.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the butter in 3 additions and mix until silky and all of the butter has been absorbed into the dough.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Place the dough in an oiled bowl and bulk proof for 60 minutes.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Divide into 100 g (3.5 oz) pieces and pre-shape into bâtards. Cover and bench rest for 10 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Final shape the bâtards into small baguettes and place on parchment-lined sheet pans.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Egg wash, score, and proof. Egg wash a second time right before baking.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Bake at 375°F (191°C) until the internal temperature is 190°F (88°C).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pancakes", + "schema_version": 2, + "save_version": 1, + "title": "Pancakes", + "summary": null, + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"batter\"]", + "yield_quantity": 338.5, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"pancakes\",\"title\":\"Pancakes\",\"categories\":[\"breakfast\"],\"tags\":[\"batter\"],\"yield\":{\"amount\":{\"quantity\":338.5,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_cake\",\"reference\":{\"ingredient_id\":\"flour_cake\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":135,\"unit_id\":\"gram\"},\"percentage\":135},{\"id\":\"line_03_egg_whole\",\"reference\":{\"ingredient_id\":\"egg_whole\"},\"amount\":{\"quantity\":44,\"unit_id\":\"gram\"},\"percentage\":44},{\"id\":\"line_04_oil\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":25,\"unit_id\":\"gram\"},\"percentage\":25},{\"id\":\"line_05_buttermilk_powder\",\"reference\":{\"ingredient_id\":\"buttermilk_powder\"},\"amount\":{\"quantity\":15,\"unit_id\":\"gram\"},\"percentage\":15},{\"id\":\"line_06_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":12.5,\"unit_id\":\"gram\"},\"percentage\":12.5},{\"id\":\"line_07_baking_powder\",\"reference\":{\"ingredient_id\":\"baking_powder\"},\"amount\":{\"quantity\":6,\"unit_id\":\"gram\"},\"percentage\":6},{\"id\":\"line_08_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1,\"unit_id\":\"gram\"},\"percentage\":1}]}],\"equipment_ids\":[\"griddle\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Sift together flour, salt, baking powder, and sugar.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Combine egg, water, milk powder, and oil.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Add the liquid mixture to the dry mixture.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Mix until just combined.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Cook 2 oz batter portions on a 375 °F griddle.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "griddle" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_cake", + "position": 1, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 135, + "unit_id": "gram", + "percentage": 135, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_whole", + "position": 3, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 44, + "unit_id": "gram", + "percentage": 44, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_oil", + "position": 4, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": 25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_buttermilk_powder", + "position": 5, + "ingredient_id": "buttermilk_powder", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 15, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 12.5, + "unit_id": "gram", + "percentage": 12.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_baking_powder", + "position": 7, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Sift together flour, salt, baking powder, and sugar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Combine egg, water, milk powder, and oil.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Add the liquid mixture to the dry mixture.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Mix until just combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Cook 2 oz batter portions on a 375 °F griddle.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "panettone", + "schema_version": 2, + "save_version": 6, + "title": "Panettone", + "summary": "Yield: two 6-inch panettones. Panettone is a type of sweet enriched bread originally from Milan; traditionally enjoyed around the holiday season in Italy.", + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breakfast\",\"classic\"]", + "yield_quantity": 1815, + "yield_unit_id": "gram", + "yield_servings": 2, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: two 6-inch panettones\",\"The raisins may be macerated in brandy or plumped with warm water and drained if desired.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "sponge", + "position": 1, + "name": "Sponge", + "notes_json": "[]" + }, + { + "id": "dough", + "position": 2, + "name": "Dough", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "dough", + "id": "line_04_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": 71.43, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_05_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 130, + "unit_id": "gram", + "percentage": 18.57, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_06_vanilla_sugar", + "position": 3, + "ingredient_id": "vanilla_sugar", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": 4.29, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_07_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 1.43, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_08_nutmeg", + "position": 5, + "ingredient_id": "nutmeg", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 0.18, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_09_lemon_zest", + "position": 6, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "each", + "percentage": 0.29, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_10_orange_zest", + "position": 7, + "ingredient_id": "orange_zest", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": 0.14, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_11_egg_whole", + "position": 8, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 42.86, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_12_egg_yolk", + "position": 9, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": 11.43, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_13_orange_flower_water", + "position": 10, + "ingredient_id": "orange_flower_water", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 1.43, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_14_butter", + "position": 11, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 28.57, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_15_golden_rasins", + "position": 12, + "ingredient_id": "golden_rasins", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 21.43, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_16_candied_orange_peel", + "position": 13, + "ingredient_id": "candied_orange_peel", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 7.14, + "basis_member": 0, + "optional": 0, + "notes": "¼-inch dice", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "sponge", + "id": "line_01_yeast_fresh", + "position": 1, + "ingredient_id": "yeast_fresh", + "subrecipe_id": null, + "quantity": 55, + "unit_id": "gram", + "percentage": 7.86, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "sponge", + "id": "line_02_milk_whole", + "position": 2, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 14.29, + "basis_member": 0, + "optional": 0, + "notes": "100ºF/38ºC", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "sponge", + "id": "line_03_flour_bread", + "position": 3, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 28.57, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Sponge:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Make a sponge with the yeast, milk and flour. Cover and let proof in a warm place for about 30 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Dough:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "In a mixer fitted with a paddle attachment, mix the flour, sugars, salt, nutmeg, and zests to combine.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Add the whole eggs one at a time, followed by the yolks and orange flower water, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Add the sponge and mix on low speed for 1-2 minutes to hydrate.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Mix on medium speed for 3-4 minutes until gluten is developed.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "When the gluten is fully developed, add the butter and continue to beat on medium speed until the dough becomes a smooth, satiny ball (about 2-3 minutes).", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Place the dough in an oiled bowl and bulk proof for 2 hours.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Turn/fold and divide/scale the dough into 2 portions. Knead the raisins and orange peel into each portion.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale" + ] + }, + { + "id": "step_11", + "position": 11, + "instruction": "Shape the portions into tight balls and place in the middle of 6-inch panettone molds .", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_12", + "position": 12, + "instruction": "Let proof and bake at 350°F (177°C) until the internal temperature reaches 185°F (85°C).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_13", + "position": 13, + "instruction": "Cool on a wire rack.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "papa_johns_garlic_dipping_sauce", + "schema_version": 2, + "save_version": 1, + "title": "Papa Johns Garlic Dipping Sauce", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"dip\",\"copycat\",\"papa-johns\"]", + "yield_quantity": 173.1, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"papa_johns_garlic_dipping_sauce\",\"title\":\"Papa Johns Garlic Dipping Sauce\",\"categories\":[\"sauce\"],\"tags\":[\"dip\",\"copycat\",\"papa-johns\"],\"yield\":{\"amount\":{\"quantity\":173.1,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_butter_flavored_shortening\",\"reference\":{\"ingredient_id\":\"butter_flavored_shortening\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":69,\"unit_id\":\"gram\"},\"percentage\":69},{\"id\":\"line_03_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":2.1,\"unit_id\":\"gram\"},\"percentage\":2.1},{\"id\":\"line_04_garlic_dehydrated\",\"reference\":{\"ingredient_id\":\"garlic_dehydrated_minced\"},\"amount\":{\"quantity\":1,\"unit_id\":\"gram\"},\"percentage\":1},{\"id\":\"line_05_lecithin_liquid_soy\",\"reference\":{\"ingredient_id\":\"lecithin_liquid_soy\"},\"amount\":{\"quantity\":1,\"unit_id\":\"gram\"},\"percentage\":1}]}],\"equipment_ids\":[\"blender\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Heat oil to liquid state.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Disperse lecithin in oil.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Add all to blender.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Blend til emulsified.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Allow to cool.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "blender" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter_flavored_shortening", + "position": 1, + "ingredient_id": "butter_flavored_shortening", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 69, + "unit_id": "gram", + "percentage": 69, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.1, + "unit_id": "gram", + "percentage": 2.1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_garlic_dehydrated", + "position": 4, + "ingredient_id": "garlic_dehydrated_minced", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lecithin_liquid_soy", + "position": 5, + "ingredient_id": "lecithin_liquid_soy", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Heat oil to liquid state.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Disperse lecithin in oil.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Add all to blender.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Blend til emulsified.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Allow to cool.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "papa_johns_pizza", + "schema_version": 2, + "save_version": 1, + "title": "Papa Johns Pizza", + "summary": null, + "categories_json": "[\"bread\"]", + "tags_json": "[\"pizza\",\"copycat\",\"papa-johns\"]", + "yield_quantity": 169.62, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"papa_johns_pizza\",\"title\":\"Papa Johns Pizza\",\"categories\":[\"bread\"],\"tags\":[\"pizza\",\"copycat\",\"papa-johns\"],\"yield\":{\"amount\":{\"quantity\":169.62,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_bread\",\"reference\":{\"ingredient_id\":\"flour_bread\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":56,\"unit_id\":\"gram\"},\"percentage\":56},{\"id\":\"line_03_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":5.89,\"unit_id\":\"gram\"},\"percentage\":5.89},{\"id\":\"line_04_oil\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":5.55,\"unit_id\":\"gram\"},\"percentage\":5.55},{\"id\":\"line_05_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1.9,\"unit_id\":\"gram\"},\"percentage\":1.9},{\"id\":\"line_06_instant_yeast\",\"reference\":{\"ingredient_id\":\"instant_yeast\"},\"amount\":{\"quantity\":0.28,\"unit_id\":\"gram\"},\"percentage\":0.28}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Mix.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Shape into balls.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Cold ferment 24-72 hr.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Hand stretch to size.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Bake 500 °F near bottom rack 8-9 min.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Transfer to cooling rack 5 min.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 56, + "unit_id": "gram", + "percentage": 56, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 5.89, + "unit_id": "gram", + "percentage": 5.89, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_oil", + "position": 4, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 5.55, + "unit_id": "gram", + "percentage": 5.55, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.9, + "unit_id": "gram", + "percentage": 1.9, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_instant_yeast", + "position": 6, + "ingredient_id": "instant_yeast", + "subrecipe_id": null, + "quantity": 0.28, + "unit_id": "gram", + "percentage": 0.28, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Mix.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Shape into balls.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Cold ferment 24-72 hr.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Hand stretch to size.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Bake 500 °F near bottom rack 8-9 min.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Transfer to cooling rack 5 min.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "papaya_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Papaya Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 2105, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_papaya_puree", + "position": 4, + "ingredient_id": "papaya_puree", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "10% sugar", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lime_juice", + "position": 5, + "ingredient_id": "lime_juice", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_grenadine", + "position": 6, + "ingredient_id": "grenadine", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_whites", + "position": 7, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_sugar", + "position": 8, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 220, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Warm ⅓ of the puree and melt the bloomed and drained gelatin into it. Whisk that warm mixture back into the rest of the puree and add the juice and grenadine. Cool to about 65°F (18°C), or until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make an Italian meringue with the sugar and egg whites; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold ½ of the puree into the meringue. Fold the other ½ into the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the two mixtures together.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "passion_fruit_bonbon_ganache", + "schema_version": 2, + "save_version": 6, + "title": "Passion Fruit Bonbon Ganache", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 129, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_passion_fruit_puree", + "position": 2, + "ingredient_id": "passion_fruit_puree", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "10% sugar", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_invert_sugar", + "position": 3, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 32, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_lemon_zest", + "position": 4, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_yolk", + "position": 5, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 70, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_chocolate_milk", + "position": 7, + "ingredient_id": "chocolate_milk", + "subrecipe_id": null, + "quantity": 437, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_butter", + "position": 8, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 32, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_cocoa_butter", + "position": 9, + "ingredient_id": "cocoa_butter", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "melted", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Make a crème anglaise with the cream, puree, sugars, zest, and egg yolks.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Place the chocolate in a bowl large enough to accommodate the entire recipe.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Strain the mixture over the chocolate. Allow to stand for one minute, then emulsify until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir in the softened butter, followed by the melted cocoa butter.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Cover the surface of the ganache with plastic wrap. Allow to rest at room temperature until it reaches 78°F (26°C). The cooled ganache should have a thick, yet fluid consistency to properly fill bonbon shells.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "passion_fruit_curd", + "schema_version": 2, + "save_version": 6, + "title": "Passion Fruit Curd", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1940, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_passion_fruit_puree", + "position": 3, + "ingredient_id": "passion_fruit_puree", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "10% sugar", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "divided", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lime_zest", + "position": 5, + "ingredient_id": "lime_zest", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_vanilla_bean", + "position": 6, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "split & scraped (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_whole", + "position": 7, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_butter", + "position": 8, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cubed", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, bring the puree, ½ of the sugar, zest, and vanilla bean to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Meanwhile, whisk together the eggs and the other ½ of the sugar until light and thick.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "When the puree mixture comes to a boil, temper ⅓ of the hot mixture into the eggs. Use a rubber spatula to scrape all of the tempered egg mixture into the saucepan and continue to whisk on medium-low heat until the mixture thickens and reaches the scalding point.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Strain through a fine-mesh strainer. Allow the hot curd to cool for about 5-10 minutes, stirring occasionally.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Using an immersion blender, blend in the bloomed and drained gelatin, followed by the butter.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "passion_fruit_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Passion Fruit Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 1545, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_passion_fruit_puree", + "position": 4, + "ingredient_id": "passion_fruit_puree", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "10% sugar", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_yolk", + "position": 5, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 175, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Warm ⅓ of the puree and melt the bloomed and drained gelatin into it. Whisk that warm mixture back into the rest of the puree. Cool to about 65°F (18°C), or until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make a pâte à bombe with the sugar and egg yolks; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold ½ of the puree into the pâte à bombe. Fold the other ½ into the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the two mixtures together.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "passion_fruit_panna_cotta", + "schema_version": 2, + "save_version": 6, + "title": "Passion Fruit Panna Cotta", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 2378, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 940, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 qt", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 270, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_vanilla_bean", + "position": 4, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "split & scraped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_gelatin_sheet", + "position": 5, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 28, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_water", + "position": 6, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 140, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_passion_fruit_puree", + "position": 7, + "ingredient_id": "passion_fruit_puree", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "10% sugar", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_apricot_puree", + "position": 8, + "ingredient_id": "apricot_puree", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "10% sugar", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the cream, sugar, salt, and vanilla bean to a boil; set aside to infuse while while the gelatin is blooming.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the bloomed and drained gelatin to the mixture and gently whisk to minimize air bubbles.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the purees and mix to combine.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Strain through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Stir over an ice bath until slightly thickened and pour into desired molds.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "passion_fruit_souffle", + "schema_version": 2, + "save_version": 6, + "title": "Passion Fruit Soufflé", + "summary": "Yield: fifteen 5.5 oz soufflé ramekins", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 1455, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: fifteen 5.5 oz soufflé ramekins\",\"This is a very stable soufflé, hence a great choice for parties or banquets.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sugar", + "position": 1, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_apple_pectin", + "position": 2, + "ingredient_id": "apple_pectin", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_passion_fruit_puree", + "position": 3, + "ingredient_id": "passion_fruit_puree", + "subrecipe_id": null, + "quantity": 425, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_orange_juice", + "position": 4, + "ingredient_id": "orange_juice", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lime_zest", + "position": 5, + "ingredient_id": "lime_zest", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whites", + "position": 6, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 510, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_white_powder", + "position": 7, + "ingredient_id": "egg_white_powder", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "2 T", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_sugar", + "position": 8, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 255, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Mix the sugar and pectin together well.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Combine the puree, juice, zest, sugar, and pectin over a water bath; whisk until thickened and very hot, about 185ºF (85ºC). Set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Prepare an Italian meringue with the egg whites, egg white powder, and sugar; whisk until warm, 110ºF (43ºC).", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Sacrifice a small amount of meringue and whisk it into the warm passion fruit mixture to lighten. Fold in the rest of the meringue until homogenous.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Pipe the soufflé mixture into buttered and sugared ramekins with either a round or star tip about 25% above the top of the molds.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 375°F (191°C) until risen, browned, and a little soft inside.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "passion_fruit_tart_filling", + "schema_version": 2, + "save_version": 6, + "title": "Passion Fruit Tart Filling", + "summary": null, + "categories_json": "[\"tart_pie_fillings\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"tart_pie_fillings\",\"classic\"]", + "yield_quantity": 2060, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_passion_fruit_puree", + "position": 1, + "ingredient_id": "passion_fruit_puree", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "10% sugar", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_lime_zest", + "position": 4, + "ingredient_id": "lime_zest", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_whole", + "position": 5, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 450, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_yolk", + "position": 6, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Whisk all of the ingredients together until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Warm the filling over a water bath until about 120°F (49ºC). Using an immersion blender, blend everything together then strain through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "thermometer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Remove excess air bubbles from the top of the custard by placing a piece of plastic wrap or paper towel on the surface and then removing.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Bake at 250°F (121ºC) in blind baked tart shells just until set.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pastry_cream", + "schema_version": 2, + "save_version": 6, + "title": "Pastry Cream", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1600, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Pastry cream has a shelf life of up to 3 days.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_milk_whole", + "position": 1, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 960, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 qt", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_vanilla_bean", + "position": 2, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "split & scraped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "divided", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_yolk", + "position": 5, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 160, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_cornstarch", + "position": 6, + "ingredient_id": "cornstarch", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_butter", + "position": 7, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cubed", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the milk, vanilla bean, ½ of the sugar, and salt to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Meanwhile, combine the other ½ of the sugar with the cornstarch. Whisk the egg yolks into the sugar/cornstarch mixture until light and smooth. Remove the vanilla bean.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "When the milk comes to a boil, temper ⅓ of the hot milk into the egg yolk mixture.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Combine the egg yolk/milk mixture with the rest of the hot milk in the saucepan and boil for 2 minutes, whisking continuously.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Off the heat, whisk the butter into the pastry cream.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Cool down immediately.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pate_a_choux", + "schema_version": 2, + "save_version": 6, + "title": "Pâte a Choux", + "summary": null, + "categories_json": "[\"doughs\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"doughs\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 71.43, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_milk_whole", + "position": 2, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 71.43, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_butter", + "position": 3, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 71.43, + "basis_member": 0, + "optional": 0, + "notes": "½-inch cubes", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.43, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.43, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_flour_bread", + "position": 6, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 350, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_whole", + "position": 7, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 0.29, + "basis_member": 0, + "optional": 0, + "notes": "400-500 g", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the water, milk, butter, salt, and sugar to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Remove from the heat and stir in the sifted flour all at once.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Place the pan back over medium heat and cook the paste to dry it out, stirring continuously for 2-3 minutes. A thin film will form on the bottom and the paste will pull away from the pan.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Transfer the dough to a mixing bowl fitted with a paddle attachment and beat the mixture to release the steam. Allow the mixture to cool enough so as to not cook the eggs when added.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Add the eggs incrementally, scraping down the bowl as necessary until the proper consistency is reached.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pate_brise", + "schema_version": 2, + "save_version": 1, + "title": "Pâte Brisée", + "summary": null, + "categories_json": "[\"pastry\"]", + "tags_json": "[\"crust\"]", + "yield_quantity": 192.57, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"pate_brise\",\"title\":\"Pâte Brisée\",\"categories\":[\"pastry\"],\"tags\":[\"crust\"],\"yield\":{\"amount\":{\"quantity\":192.57,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_cake\",\"reference\":{\"ingredient_id\":\"flour_cake\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_butter\",\"reference\":{\"ingredient_id\":\"butter\"},\"amount\":{\"quantity\":50,\"unit_id\":\"gram\"},\"percentage\":50},{\"id\":\"line_03_egg_whole\",\"reference\":{\"ingredient_id\":\"egg_whole\"},\"amount\":{\"quantity\":32.5,\"unit_id\":\"gram\"},\"percentage\":32.5},{\"id\":\"line_04_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":5,\"unit_id\":\"gram\"},\"percentage\":5},{\"id\":\"line_05_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":2.5,\"unit_id\":\"gram\"},\"percentage\":2.5},{\"id\":\"line_06_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":2.5,\"unit_id\":\"gram\"},\"percentage\":2.5},{\"id\":\"line_07_vanilla_extract\",\"reference\":{\"ingredient_id\":\"vanilla_extract\"},\"amount\":{\"quantity\":0.05,\"unit_id\":\"gram\"},\"percentage\":0.05},{\"id\":\"line_08_citric_acid\",\"reference\":{\"ingredient_id\":\"citric_acid\"},\"amount\":{\"quantity\":0.02,\"unit_id\":\"gram\"},\"percentage\":0.02}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"TODO: Add complete preparation instructions for this recipe.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_cake", + "position": 1, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_butter", + "position": 2, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_whole", + "position": 3, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 32.5, + "unit_id": "gram", + "percentage": 32.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_water", + "position": 4, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 2.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 2.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_vanilla_extract", + "position": 7, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 0.05, + "unit_id": "gram", + "percentage": 0.05, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_citric_acid", + "position": 8, + "ingredient_id": "citric_acid", + "subrecipe_id": null, + "quantity": 0.02, + "unit_id": "gram", + "percentage": 0.02, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "TODO: Add complete preparation instructions for this recipe.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pate_brisee", + "schema_version": 2, + "save_version": 8, + "title": "Pâte Brisée", + "summary": null, + "categories_json": "[\"doughs\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"doughs\",\"classic\"]", + "yield_quantity": 1035, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"To inhibit gluten development, keep all ingredients and mixing bowl as cold as possible.\",\"The exact amount of hydration needed can vary depending upon the humidity in the air and the type of flour used.\",\"The dough can be refrigerated for 3 days or frozen up to 2 months.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_egg_whole", + "position": 1, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 20, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_milk_whole", + "position": 2, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 10, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_flour_cake", + "position": 3, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_butter", + "position": 6, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 350, + "unit_id": "gram", + "percentage": 70, + "basis_member": 0, + "optional": 0, + "notes": "½-inch cubes, cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Whisk together the eggs and milk and keep cold.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a paddle attachment, mix together the dry ingredients and butter until the butter is ¼-inch, or \"pea sized.\"", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the liquid and mix until the dough is shaggy, but holds together when pressed between two fingers.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Turn the dough out on to a lightly floured work surface. Gently shape into desired sized rounds.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Wrap the dough in plastic wrap and refrigerate for a minimum of 1 hour, preferably overnight.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pate_decor", + "schema_version": 2, + "save_version": 6, + "title": "Pâte Décor", + "summary": null, + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 810, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"This base recipe can be colored as desired using gel paste food coloring.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_confectioners_sugar", + "position": 2, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_whites", + "position": 3, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 210, + "unit_id": "gram", + "percentage": 105, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_flour_bread", + "position": 4, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter and sugar.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Alternately add the flour and the egg whites until homogenous, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pate_decor_au_chocolat", + "schema_version": 2, + "save_version": 6, + "title": "Pâte Décor au Chocolat", + "summary": null, + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 743, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 180, + "unit_id": "gram", + "percentage": 133.33, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_confectioners_sugar", + "position": 2, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 180, + "unit_id": "gram", + "percentage": 133.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_whites", + "position": 3, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 180, + "unit_id": "gram", + "percentage": 133.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_flour_cake", + "position": 4, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 135, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_cocoa_powder", + "position": 5, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 68, + "unit_id": "gram", + "percentage": 50.37, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 0.93, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter and sugar.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Alternately add the sifted dry ingredients and the egg whites until homogenous, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pate_sable", + "schema_version": 2, + "save_version": 8, + "title": "Pâte Sablé", + "summary": null, + "categories_json": "[\"doughs\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"doughs\",\"classic\"]", + "yield_quantity": 1075, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"This dough is good for tarts as well as cookies.\",\"The dough can be refrigerated for 3 days or frozen up to 2 months.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 58.82, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_confectioners_sugar", + "position": 2, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 180, + "unit_id": "gram", + "percentage": 35.29, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 0.98, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": 15.69, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_flour_cake", + "position": 5, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 510, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter, sugar, and salt.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the egg yolks one at a time; scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the sifted flour and mix just until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Wrap the dough in plastic wrap and refrigerate for a minimum of 1 hour, preferably overnight.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pate_sucree", + "schema_version": 2, + "save_version": 6, + "title": "Pâte Sucrée", + "summary": null, + "categories_json": "[\"doughs\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"doughs\",\"classic\"]", + "yield_quantity": 1025, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Baking powder helps tenderize and add lightness to the crust.\",\"The dough can be refrigerated for 3 days or frozen up to 2 months.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_confectioners_sugar", + "position": 2, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": 25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_vanilla_bean", + "position": 3, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.5, + "basis_member": 0, + "optional": 0, + "notes": "seeds (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 30, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_flour_cake", + "position": 5, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.5, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_baking_powder", + "position": 7, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 0.25, + "basis_member": 0, + "optional": 0, + "notes": "optional (¼ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter, sugar, and vanilla bean seeds.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the eggs one at a time, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the sifted dry ingredients and mix just until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Wrap the dough in plastic wrap and refrigerate for a minimum of 1 hour, preferably overnight.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "peach_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Peach Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 2080, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_peach_puree", + "position": 4, + "ingredient_id": "peach_puree", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "10% sugar", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lemon_juice", + "position": 5, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_peach_schnapps", + "position": 6, + "ingredient_id": "peach_schnapps", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_whites", + "position": 7, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_sugar", + "position": 8, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 130, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Warm ⅓ of the puree and melt the bloomed and drained gelatin into it. Whisk that warm mixture back into the rest of the puree and add the juice and schnapps. Cool to about 65°F (18°C), or until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make an Italian meringue with the sugar and egg whites; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold ½ of the puree into the meringue. Fold the other ½ into the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the two mixtures together.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "peach_pie_filling", + "schema_version": 2, + "save_version": 6, + "title": "Peach Pie Filling", + "summary": "Yield: one 9-inch pie", + "categories_json": "[\"tart_pie_fillings\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"tart_pie_fillings\",\"classic\"]", + "yield_quantity": 1260, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one 9-inch pie\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_peeled_peaches", + "position": 1, + "ingredient_id": "peeled_peaches", + "subrecipe_id": null, + "quantity": 1100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "3/8-inch slices", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_brown_sugar", + "position": 3, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_lemon_juice", + "position": 4, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 T", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lemon_zest", + "position": 5, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_vanilla_bean", + "position": 6, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "seeds (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_cinnamon", + "position": 7, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground (¼ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_instant_tapioca", + "position": 9, + "ingredient_id": "instant_tapioca", + "subrecipe_id": null, + "quantity": 17, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Mix all of the ingredients in a bowl. Allow the peaches to macerate at room temperature for 30 minutes.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Fill a 9-inch pie crust with the peach pie filling.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Cover with the top crust and seal the edges. Cut several slits in the top crust.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Lightly cover the pie with plastic wrap and refrigerate for 30-60 minutes before baking.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 375ºF (191ºC) until golden brown.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "peanut_brittle", + "schema_version": 2, + "save_version": 6, + "title": "Peanut Brittle", + "summary": "Yield: one 16 x 24-inch sheet", + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1346, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one 16 x 24-inch sheet\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sugar", + "position": 1, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 395, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 170, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_glucose_syrup", + "position": 3, + "ingredient_id": "glucose_syrup", + "subrecipe_id": null, + "quantity": 285, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salted_peanuts", + "position": 4, + "ingredient_id": "salted_peanuts", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "roasted", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_butter", + "position": 5, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_vanilla_extract", + "position": 6, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_baking_soda", + "position": 7, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the sugar and water to a boil, stirring to dissolve the sugar.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the glucose and continue cooking to 275°F (135°C), without stirring.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the peanuts and cook to 308°F (153°C) over moderate heat, stirring continuously.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Off the heat, stir in the butter and extract.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Add the baking soda, stirring well to incorporate.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Pour the mixture onto a silicone baking mat and spread with an oiled spatula.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "peanut_butter_cookie", + "schema_version": 2, + "save_version": 1, + "title": "Peanut Butter Cookie", + "summary": null, + "categories_json": "[\"dessert\"]", + "tags_json": "[\"cookie\"]", + "yield_quantity": 368.03, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"peanut_butter_cookie\",\"title\":\"Peanut Butter Cookie\",\"categories\":[\"dessert\"],\"tags\":[\"cookie\"],\"yield\":{\"amount\":{\"quantity\":368.03,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_bread\",\"reference\":{\"ingredient_id\":\"flour_bread\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_peanut_butter\",\"reference\":{\"ingredient_id\":\"peanut_butter\"},\"amount\":{\"quantity\":68.75,\"unit_id\":\"gram\"},\"percentage\":68.75},{\"id\":\"line_03_butter\",\"reference\":{\"ingredient_id\":\"butter\"},\"amount\":{\"quantity\":60.71,\"unit_id\":\"gram\"},\"percentage\":60.71},{\"id\":\"line_04_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":53.57,\"unit_id\":\"gram\"},\"percentage\":53.57},{\"id\":\"line_05_brown_sugar\",\"reference\":{\"ingredient_id\":\"brown_sugar\"},\"amount\":{\"quantity\":52.68,\"unit_id\":\"gram\"},\"percentage\":52.68},{\"id\":\"line_06_egg_whole\",\"reference\":{\"ingredient_id\":\"egg_whole\"},\"amount\":{\"quantity\":26.79,\"unit_id\":\"gram\"},\"percentage\":26.79},{\"id\":\"line_07_baking_powder\",\"reference\":{\"ingredient_id\":\"baking_powder\"},\"amount\":{\"quantity\":3.93,\"unit_id\":\"gram\"},\"percentage\":3.93},{\"id\":\"line_08_vanilla_extract\",\"reference\":{\"ingredient_id\":\"vanilla_extract\"},\"amount\":{\"quantity\":0.89,\"unit_id\":\"gram\"},\"percentage\":0.89},{\"id\":\"line_09_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":0.71,\"unit_id\":\"gram\"},\"percentage\":0.71}]}],\"equipment_ids\":[\"oven\",\"sheet_pan\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine the dry ingredients and reserve.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Cream the butter and sugars.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Add the eggs and vanilla, then the peanut butter.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Add the dry ingredients and mix until well incorporated.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Scale into 1000 g pieces and roll into 17 in logs (sheet pan width).\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Wrap each log in parchment, and refrigerate until ready to bake.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Cut to the desired size [2 oz (50 g) to 4 oz (100 g)], place on parchment-lined sheet pans, and bake at 350 °F (177 °C) in a convection oven for 12 to 15 min.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "oven", + "sheet_pan" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_peanut_butter", + "position": 2, + "ingredient_id": "peanut_butter", + "subrecipe_id": null, + "quantity": 68.75, + "unit_id": "gram", + "percentage": 68.75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_butter", + "position": 3, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 60.71, + "unit_id": "gram", + "percentage": 60.71, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 53.57, + "unit_id": "gram", + "percentage": 53.57, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_brown_sugar", + "position": 5, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 52.68, + "unit_id": "gram", + "percentage": 52.68, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whole", + "position": 6, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 26.79, + "unit_id": "gram", + "percentage": 26.79, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_baking_powder", + "position": 7, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 3.93, + "unit_id": "gram", + "percentage": 3.93, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_vanilla_extract", + "position": 8, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 0.89, + "unit_id": "gram", + "percentage": 0.89, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.71, + "unit_id": "gram", + "percentage": 0.71, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine the dry ingredients and reserve.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Cream the butter and sugars.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Add the eggs and vanilla, then the peanut butter.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Add the dry ingredients and mix until well incorporated.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Scale into 1000 g pieces and roll into 17 in logs (sheet pan width).", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Wrap each log in parchment, and refrigerate until ready to bake.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Cut to the desired size [2 oz (50 g) to 4 oz (100 g)], place on parchment-lined sheet pans, and bake at 350 °F (177 °C) in a convection oven for 12 to 15 min.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "peanut_butter_cookies", + "schema_version": 2, + "save_version": 6, + "title": "Peanut Butter Cookies", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1480, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 220, + "unit_id": "gram", + "percentage": 70.29, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 220, + "unit_id": "gram", + "percentage": 70.29, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_brown_sugar", + "position": 3, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 220, + "unit_id": "gram", + "percentage": 70.29, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_peanut_butter", + "position": 4, + "ingredient_id": "peanut_butter", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 127.8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_whole", + "position": 5, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 31.95, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_vanilla_extract", + "position": 6, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.8, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_flour_all_purpose", + "position": 7, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 313, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_baking_soda", + "position": 8, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.6, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.8, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter, sugars, and peanut butter.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the eggs one at a time, followed by the extract, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the sifted dry ingredients and mix just until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Bake at 350°F (177ºC).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "peanut_butter_feuilletine", + "schema_version": 2, + "save_version": 6, + "title": "Peanut Butter Feuilletine", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1100, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_cocoa_butter", + "position": 1, + "ingredient_id": "cocoa_butter", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_chocolate_milk", + "position": 2, + "ingredient_id": "chocolate_milk", + "subrecipe_id": null, + "quantity": 175, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_peanut_butter", + "position": 3, + "ingredient_id": "peanut_butter", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "creamy", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_confectioners_sugar", + "position": 4, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_feuilletine", + "position": 6, + "ingredient_id": "feuilletine", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the cocoa butter over a water bath, add the chocolate and melt together, stirring until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a paddle attachment, cream the chocolate mixture with the peanut butter, sugar, and salt until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Stir in the feuilletine until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "peanut_butter_frosting", + "schema_version": 2, + "save_version": 6, + "title": "Peanut Butter Frosting", + "summary": null, + "categories_json": "[\"frostings_glazes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frostings_glazes\",\"classic\"]", + "yield_quantity": 1465, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_cream_cheese", + "position": 1, + "ingredient_id": "cream_cheese", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_butter", + "position": 2, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_peanut_butter", + "position": 3, + "ingredient_id": "peanut_butter", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "creamy", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_confectioners_sugar", + "position": 4, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "sifted", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vanilla_extract", + "position": 5, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_light_corn_syrup", + "position": 6, + "ingredient_id": "light_corn_syrup", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the cream cheese and butter.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the peanut butter to blend, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the powdered sugar, extract, and corn syrup and cream until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Refrigerate the frosting and let firm until desired consistency is reached before icing cakes.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "peanut_butter_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Peanut Butter Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 2294, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 940, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 qt", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_peanut_butter", + "position": 4, + "ingredient_id": "peanut_butter", + "subrecipe_id": null, + "quantity": 565, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_cream_cheese", + "position": 5, + "ingredient_id": "cream_cheese", + "subrecipe_id": null, + "quantity": 525, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_confectioners_sugar", + "position": 6, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_vanilla_extract", + "position": 7, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a mixer fitted with a paddle attachment, cream the peanut butter, cream cheese, sugar, and extract until smooth, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "stand_mixer" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Melt the bloomed and drained gelatin and mix into the peanut butter mixture until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold in the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "peanut_butter_shortbread_bar_cookies", + "schema_version": 2, + "save_version": 6, + "title": "Peanut Butter Shortbread Bar Cookies", + "summary": "Yield: one half sheet pan", + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 2028, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one half sheet pan\",\"Tahini paste can be substituted for the peanut butter and then sprinkled with sesame seeds instead of chopped peanuts.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 522, + "unit_id": "gram", + "percentage": 141.85, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 460, + "unit_id": "gram", + "percentage": 125, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_peanut_butter", + "position": 3, + "ingredient_id": "peanut_butter", + "subrecipe_id": null, + "quantity": 155, + "unit_id": "gram", + "percentage": 42.12, + "basis_member": 0, + "optional": 0, + "notes": "creamy", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 10.87, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vanilla_extract", + "position": 5, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 2.72, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_flour_all_purpose", + "position": 6, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 368, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_rolled_oats", + "position": 7, + "ingredient_id": "rolled_oats", + "subrecipe_id": null, + "quantity": 205, + "unit_id": "gram", + "percentage": 55.71, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.68, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salted_peanuts", + "position": 9, + "ingredient_id": "salted_peanuts", + "subrecipe_id": null, + "quantity": 265, + "unit_id": "gram", + "percentage": 72.01, + "basis_member": 0, + "optional": 0, + "notes": "chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter, sugar, and peanut butter.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the egg yolks one at a time, followed by the extract, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the dry ingredients and mix just until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Spread the dough evenly onto a parchment-lined half sheet pan.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Sprinkle the top with the chopped peanuts and some additional granulated sugar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 325°F (163°C) until light golden brown.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "peanut_caramel_tart_filling", + "schema_version": 2, + "save_version": 6, + "title": "Peanut-Caramel Tart Filling", + "summary": "Yield: two 9-inch tarts", + "categories_json": "[\"tart_pie_fillings\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"tart_pie_fillings\",\"classic\"]", + "yield_quantity": 1400, + "yield_unit_id": "gram", + "yield_servings": 2, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: two 9-inch tarts\",\"The peanuts in this recipe may be substituted with other varieties of nuts.\",\"Salted nuts may be used if desired, simply eliminate the salt in the recipe.\",\"We like to pair this tart with Milk Chocolate Chantilly on page 204.\",\"The tart is best served room temperature.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_chocolate_milk", + "position": 1, + "ingredient_id": "chocolate_milk", + "subrecipe_id": null, + "quantity": 160, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_unsalted_peanuts", + "position": 2, + "ingredient_id": "unsalted_peanuts", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "roasted", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_honey", + "position": 3, + "ingredient_id": "honey", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 260, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_water", + "position": 6, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_glucose_syrup", + "position": 7, + "ingredient_id": "glucose_syrup", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_heavy_cream", + "position": 8, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 360, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Place the chocolate, peanuts, honey, and salt in a bowl large enough to accommodate the entire recipe and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, boil the sugar and water. Add the glucose and cook to a deep amber caramel.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Deglaze with the cream and emulsify until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Pour the caramel over the chocolate mixture and emulsify until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Pour the warm filling into blind baked tart shells and allow to cool and set at room temperature.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pear_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Pear Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 2244, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 24, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 530, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_pear_puree", + "position": 4, + "ingredient_id": "pear_puree", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "10% sugar", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_yolk", + "position": 5, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 175, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_pear_liqueur", + "position": 7, + "ingredient_id": "pear_liqueur", + "subrecipe_id": null, + "quantity": 95, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Make a crème anglaise with the puree, egg yolks, and sugar. Add the bloomed and drained gelatin and whisk to dissolve.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Strain through a fine-mesh strainer. Cool to about 65°F (18°C), or until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Stir in the liqueur.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold in the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pecan_pie_filling", + "schema_version": 2, + "save_version": 6, + "title": "Pecan Pie Filling", + "summary": "Yield: one 9-inch pie", + "categories_json": "[\"tart_pie_fillings\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"tart_pie_fillings\",\"classic\"]", + "yield_quantity": 890, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one 9-inch pie\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_egg_whole", + "position": 1, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 500, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 666.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 16.67, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_dark_corn_syrup", + "position": 4, + "ingredient_id": "dark_corn_syrup", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 833.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vanilla_extract", + "position": 5, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 33.33, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_bourbon", + "position": 6, + "ingredient_id": "bourbon", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 33.33, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_flour_all_purpose", + "position": 7, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_butter", + "position": 8, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 200, + "basis_member": 0, + "optional": 0, + "notes": "melted", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_pecan", + "position": 9, + "ingredient_id": "pecan", + "subrecipe_id": null, + "quantity": 175, + "unit_id": "gram", + "percentage": 583.33, + "basis_member": 0, + "optional": 0, + "notes": "toasted & chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Lightly whisk the eggs, sugar, and salt together.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the corn syrup, extract, and bourbon and lightly whisk to blend.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk in the flour, followed by the melted butter.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Put the pecans in the pie shell and pour the corn syrup mixture evenly over them.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 300°F (149ºC) until set.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pecan_puffs", + "schema_version": 2, + "save_version": 6, + "title": "Pecan Puffs", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": 114.65, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 12.63, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_vanilla_sugar", + "position": 3, + "ingredient_id": "vanilla_sugar", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 12.63, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_pecan", + "position": 4, + "ingredient_id": "pecan", + "subrecipe_id": null, + "quantity": 560, + "unit_id": "gram", + "percentage": 141.41, + "basis_member": 0, + "optional": 0, + "notes": "lightly toasted & finely ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_flour_cake", + "position": 5, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 198, + "unit_id": "gram", + "percentage": 50, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_flour_all_purpose", + "position": 6, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 198, + "unit_id": "gram", + "percentage": 50, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 0.76, + "basis_member": 0, + "optional": 0, + "notes": "½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter and sugars.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the ground pecans and mix until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the dry ingredients and mix just until combined, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Roll the dough into desired sized balls; chill before baking.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 300°F (149°C) until lightly browned.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Dust with powdered sugar once out of the oven.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pesto", + "schema_version": 2, + "save_version": 1, + "title": "Pesto", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[]", + "yield_quantity": 183.51, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"pesto\",\"title\":\"Pesto\",\"categories\":[\"sauce\"],\"tags\":[],\"yield\":{\"amount\":{\"quantity\":183.51,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_basil\",\"reference\":{\"ingredient_id\":\"basil\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_walnut\",\"reference\":{\"ingredient_id\":\"walnut\"},\"amount\":{\"quantity\":25.77,\"unit_id\":\"gram\"},\"percentage\":25.77},{\"id\":\"line_03_parmesan_cheese\",\"reference\":{\"ingredient_id\":\"parmesan_cheese\"},\"amount\":{\"quantity\":22.68,\"unit_id\":\"gram\"},\"percentage\":22.68},{\"id\":\"line_04_olive_oil\",\"reference\":{\"ingredient_id\":\"olive_oil\"},\"amount\":{\"quantity\":21.31,\"unit_id\":\"gram\"},\"percentage\":21.31},{\"id\":\"line_05_lemon_juice\",\"reference\":{\"ingredient_id\":\"lemon_juice\"},\"amount\":{\"quantity\":8.93,\"unit_id\":\"gram\"},\"percentage\":8.93},{\"id\":\"line_06_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":2.41,\"unit_id\":\"gram\"},\"percentage\":2.41},{\"id\":\"line_07_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":2.41,\"unit_id\":\"gram\"},\"percentage\":2.41}]}],\"equipment_ids\":[\"food_processor\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Pick fresh basil, rinse, and lightly dry.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Shred fresh parmesan.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Add walnuts, parmesan, lemon juice, olive oil, salt, sugar, and basil to food processor.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Pulse until pieces are small and mixture is smooth.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "food_processor" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_basil", + "position": 1, + "ingredient_id": "basil", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_walnut", + "position": 2, + "ingredient_id": "walnut", + "subrecipe_id": null, + "quantity": 25.77, + "unit_id": "gram", + "percentage": 25.77, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_parmesan_cheese", + "position": 3, + "ingredient_id": "parmesan_cheese", + "subrecipe_id": null, + "quantity": 22.68, + "unit_id": "gram", + "percentage": 22.68, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_olive_oil", + "position": 4, + "ingredient_id": "olive_oil", + "subrecipe_id": null, + "quantity": 21.31, + "unit_id": "gram", + "percentage": 21.31, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lemon_juice", + "position": 5, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 8.93, + "unit_id": "gram", + "percentage": 8.93, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.41, + "unit_id": "gram", + "percentage": 2.41, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 2.41, + "unit_id": "gram", + "percentage": 2.41, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Pick fresh basil, rinse, and lightly dry.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Shred fresh parmesan.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Add walnuts, parmesan, lemon juice, olive oil, salt, sugar, and basil to food processor.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Pulse until pieces are small and mixture is smooth.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "petits_fours_glace_sheet_cake", + "schema_version": 2, + "save_version": 6, + "title": "Petits Fours Glacé Sheet Cake", + "summary": "Yield: one half sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 520, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one half sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_almond_paste", + "position": 1, + "ingredient_id": "almond_paste", + "subrecipe_id": null, + "quantity": 115, + "unit_id": "gram", + "percentage": 115, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_vanilla_sugar", + "position": 2, + "ingredient_id": "vanilla_sugar", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 40, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_yolk", + "position": 3, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": 120, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_lime_zest", + "position": 4, + "ingredient_id": "lime_zest", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 2.5, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_whites", + "position": 5, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": 90, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 55, + "unit_id": "gram", + "percentage": 55, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_cream_of_tartar", + "position": 7, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 2.5, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_flour_cake", + "position": 8, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 50, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_flour_all_purpose", + "position": 9, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 50, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_salt", + "position": 10, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 1.25, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix the almond paste and vanilla sugar until crumbly.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the egg yolks one at a time, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the zest and then cream until aerated.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make a medium peak French meringue with the egg whites, sugar, and cream of tartar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold the meringue into the almond paste mixture until streaky.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the sifted dry ingredients into the meringue just until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Bake at 350°F (177°C) until the cake is browned and springs back to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "philly_steak", + "schema_version": 2, + "save_version": 1, + "title": "Philly Steak", + "summary": null, + "categories_json": "[\"meat\"]", + "tags_json": "[\"beef\"]", + "yield_quantity": 156.92, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"philly_steak\",\"title\":\"Philly Steak\",\"categories\":[\"meat\"],\"tags\":[\"beef\"],\"yield\":{\"amount\":{\"quantity\":156.92,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_ground_beef_73_27_raw\",\"reference\":{\"ingredient_id\":\"ground_beef_73_27_raw\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water_ice\",\"reference\":{\"ingredient_id\":\"water_ice\"},\"amount\":{\"quantity\":25,\"unit_id\":\"gram\"},\"percentage\":25},{\"id\":\"line_03_bread_crumbs\",\"reference\":{\"ingredient_id\":\"bread_crumbs\"},\"amount\":{\"quantity\":15,\"unit_id\":\"gram\"},\"percentage\":15},{\"id\":\"line_04_fat\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":7.7,\"unit_id\":\"gram\"},\"percentage\":7.7},{\"id\":\"line_05_nonfat_milk_powder\",\"reference\":{\"ingredient_id\":\"nonfat_milk_powder\"},\"amount\":{\"quantity\":4,\"unit_id\":\"gram\"},\"percentage\":4},{\"id\":\"line_06_dextrose\",\"reference\":{\"ingredient_id\":\"dextrose\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_07_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_08_onion_powder\",\"reference\":{\"ingredient_id\":\"onion_powder\"},\"amount\":{\"quantity\":0.5,\"unit_id\":\"gram\"},\"percentage\":0.5},{\"id\":\"line_09_black_pepper_ground\",\"reference\":{\"ingredient_id\":\"black_pepper_ground\"},\"amount\":{\"quantity\":0.3,\"unit_id\":\"gram\"},\"percentage\":0.3},{\"id\":\"line_10_msg\",\"reference\":{\"ingredient_id\":\"msg\"},\"amount\":{\"quantity\":0.27,\"unit_id\":\"gram\"},\"percentage\":0.27},{\"id\":\"line_11_garlic_powder\",\"reference\":{\"ingredient_id\":\"garlic_powder\"},\"amount\":{\"quantity\":0.15,\"unit_id\":\"gram\"},\"percentage\":0.15}]}],\"equipment_ids\":[\"food_processor\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Chill meat to 32 °F.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Hand mix salt, meat.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Chill for 1 hr.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Combine all but ice.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Food processor emulsify until temp climbs to 45 °F.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Add ice.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Repeat until well emulsified.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "food_processor" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_ground_beef_73_27_raw", + "position": 1, + "ingredient_id": "ground_beef_73_27_raw", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water_ice", + "position": 2, + "ingredient_id": "water_ice", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": 25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_bread_crumbs", + "position": 3, + "ingredient_id": "bread_crumbs", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 15, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_fat", + "position": 4, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 7.7, + "unit_id": "gram", + "percentage": 7.7, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_nonfat_milk_powder", + "position": 5, + "ingredient_id": "nonfat_milk_powder", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": 4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_dextrose", + "position": 6, + "ingredient_id": "dextrose", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_onion_powder", + "position": 8, + "ingredient_id": "onion_powder", + "subrecipe_id": null, + "quantity": 0.5, + "unit_id": "gram", + "percentage": 0.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_black_pepper_ground", + "position": 9, + "ingredient_id": "black_pepper_ground", + "subrecipe_id": null, + "quantity": 0.3, + "unit_id": "gram", + "percentage": 0.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_msg", + "position": 10, + "ingredient_id": "msg", + "subrecipe_id": null, + "quantity": 0.27, + "unit_id": "gram", + "percentage": 0.27, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_garlic_powder", + "position": 11, + "ingredient_id": "garlic_powder", + "subrecipe_id": null, + "quantity": 0.15, + "unit_id": "gram", + "percentage": 0.15, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Chill meat to 32 °F.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Hand mix salt, meat.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Chill for 1 hr.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Combine all but ice.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Food processor emulsify until temp climbs to 45 °F.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Add ice.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Repeat until well emulsified.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pie_quiche_crust", + "schema_version": 2, + "save_version": 1, + "title": "Pie/Quiche Crust", + "summary": null, + "categories_json": "[\"pastry\"]", + "tags_json": "[\"crust\"]", + "yield_quantity": 215, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"pie_quiche_crust\",\"title\":\"Pie/Quiche Crust\",\"categories\":[\"pastry\"],\"tags\":[\"crust\"],\"yield\":{\"amount\":{\"quantity\":215,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_all_purpose\",\"reference\":{\"ingredient_id\":\"flour_all_purpose\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_butter\",\"reference\":{\"ingredient_id\":\"butter\"},\"amount\":{\"quantity\":80,\"unit_id\":\"gram\"},\"percentage\":80},{\"id\":\"line_03_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":25,\"unit_id\":\"gram\"},\"percentage\":25},{\"id\":\"line_04_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":8,\"unit_id\":\"gram\"},\"percentage\":8},{\"id\":\"line_05_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2}]}],\"equipment_ids\":[\"food_processor\",\"mixing_bowl\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"In food processor, combine sugar, salt, 2/3 flour.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Spread very cold fat over top.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Pulse until very large clumping.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Add remaining flour.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Pulse until come together.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Transfer to bowl.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Add cold water.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"With spatula, fold into ball.\",\"component_ids\":[\"main\"]},{\"id\":\"step_09\",\"order\":9,\"instruction\":\"Refridgerate 2 hr.\",\"component_ids\":[\"main\"]},{\"id\":\"step_10\",\"order\":10,\"instruction\":\"Roll out 1/8 in thick.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "food_processor", + "mixing_bowl" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_butter", + "position": 2, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": 80, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_water", + "position": 3, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": 25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 8, + "unit_id": "gram", + "percentage": 8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "In food processor, combine sugar, salt, 2/3 flour.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Spread very cold fat over top.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Pulse until very large clumping.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Add remaining flour.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Pulse until come together.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Transfer to bowl.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Add cold water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "With spatula, fold into ball.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_09", + "position": 9, + "instruction": "Refridgerate 2 hr.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Roll out 1/8 in thick.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pineapple_salsa", + "schema_version": 2, + "save_version": 1, + "title": "Pineapple Salsa", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"salsa\"]", + "yield_quantity": 173.22, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"pineapple_salsa\",\"title\":\"Pineapple Salsa\",\"categories\":[\"sauce\"],\"tags\":[\"salsa\"],\"yield\":{\"amount\":{\"quantity\":173.22,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_tomato_crushed_in_juice\",\"reference\":{\"ingredient_id\":\"tomato_crushed_in_juice\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_pineapple_crushed_in_juice\",\"reference\":{\"ingredient_id\":\"pineapple_crushed_in_juice\"},\"amount\":{\"quantity\":42,\"unit_id\":\"gram\"},\"percentage\":42},{\"id\":\"line_03_tomato_paste\",\"reference\":{\"ingredient_id\":\"tomato_paste\"},\"amount\":{\"quantity\":12,\"unit_id\":\"gram\"},\"percentage\":12},{\"id\":\"line_04_jalapeno_pickled_diced\",\"reference\":{\"ingredient_id\":\"jalapeno_peppers_pickled\"},\"amount\":{\"quantity\":6.67,\"unit_id\":\"gram\"},\"percentage\":6.67},{\"id\":\"line_05_vinegar_5\",\"reference\":{\"ingredient_id\":\"vinegar_5\"},\"amount\":{\"quantity\":6.5,\"unit_id\":\"gram\"},\"percentage\":6.5},{\"id\":\"line_06_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":4.2,\"unit_id\":\"gram\"},\"percentage\":4.2},{\"id\":\"line_07_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1.1,\"unit_id\":\"gram\"},\"percentage\":1.1},{\"id\":\"line_08_onion_flake\",\"reference\":{\"ingredient_id\":\"onion_dehydrated_flake\"},\"amount\":{\"quantity\":0.55,\"unit_id\":\"gram\"},\"percentage\":0.55},{\"id\":\"line_09_chipotle_powder\",\"reference\":{\"ingredient_id\":\"chipotle_powder\"},\"amount\":{\"quantity\":0.2,\"unit_id\":\"gram\"},\"percentage\":0.2}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine all.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_tomato_crushed_in_juice", + "position": 1, + "ingredient_id": "tomato_crushed_in_juice", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_pineapple_crushed_in_juice", + "position": 2, + "ingredient_id": "pineapple_crushed_in_juice", + "subrecipe_id": null, + "quantity": 42, + "unit_id": "gram", + "percentage": 42, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_tomato_paste", + "position": 3, + "ingredient_id": "tomato_paste", + "subrecipe_id": null, + "quantity": 12, + "unit_id": "gram", + "percentage": 12, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_jalapeno_pickled_diced", + "position": 4, + "ingredient_id": "jalapeno_peppers_pickled", + "subrecipe_id": null, + "quantity": 6.67, + "unit_id": "gram", + "percentage": 6.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vinegar_5", + "position": 5, + "ingredient_id": "vinegar_5", + "subrecipe_id": null, + "quantity": 6.5, + "unit_id": "gram", + "percentage": 6.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 4.2, + "unit_id": "gram", + "percentage": 4.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.1, + "unit_id": "gram", + "percentage": 1.1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_onion_flake", + "position": 8, + "ingredient_id": "onion_dehydrated_flake", + "subrecipe_id": null, + "quantity": 0.55, + "unit_id": "gram", + "percentage": 0.55, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_chipotle_powder", + "position": 9, + "ingredient_id": "chipotle_powder", + "subrecipe_id": null, + "quantity": 0.2, + "unit_id": "gram", + "percentage": 0.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine all.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pink_grapefruit_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Pink Grapefruit Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 1100, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_pink_grapefruit_juice", + "position": 4, + "ingredient_id": "pink_grapefruit_juice", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_campari", + "position": 5, + "ingredient_id": "campari", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_yolk", + "position": 6, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Warm ⅓ of the juice and melt the bloomed and drained gelatin into it. Whisk that warm mixture back into the rest of the juice and stir in the Campari. Cool to about 65°F (18°C), or until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make a pâte à bombe with the sugar and egg yolks; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold ½ of the juice mixture into the pâte à bombe. Fold the other ½ into the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the two mixtures together.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pistachio_almond_cream", + "schema_version": 2, + "save_version": 6, + "title": "Pistachio-Almond Cream", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1850, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_confectioners_sugar", + "position": 2, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_almond_flour", + "position": 3, + "ingredient_id": "almond_flour", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_pistachio_paste", + "position": 4, + "ingredient_id": "pistachio_paste", + "subrecipe_id": null, + "quantity": 136, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whole", + "position": 6, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 350, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix the butter, sugar, flour, pistachio paste, and salt until light and fluffy.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the eggs slowly, thoroughly incorporating each egg before adding the next, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pistachio_bavarian_cream", + "schema_version": 2, + "save_version": 6, + "title": "Pistachio Bavarian Cream", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 1474, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 14, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 70, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_milk_whole", + "position": 4, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_pistachio_paste", + "position": 6, + "ingredient_id": "pistachio_paste", + "subrecipe_id": null, + "quantity": 70, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_yolk", + "position": 7, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_sugar", + "position": 8, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks; set aside in the refrigerator.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a saucepan, bring the milk, first weight of sugar, and paste to a boil. Meanwhile, whisk the egg yolks, second weight of sugar, and salt until light and thick. Temper ⅓ of the milk mixture into the the yolk mixture. Return everything back to the saucepan and cook on medium-low heat until the mixture coats the back of a wooden spoon.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "saucepan", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Once cooked, remove from heat, add the bloomed and drained gelatin, and whisk to dissolve.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Strain through a fine-mesh strainer and cool to about 65°F (18°C), or until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the whipped cream into the cooled pistachio crème anglaise.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pistachio_bonbon_ganache", + "schema_version": 2, + "save_version": 6, + "title": "Pistachio Bonbon Ganache", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_chocolate_white", + "position": 1, + "ingredient_id": "chocolate_white", + "subrecipe_id": null, + "quantity": 532, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 254, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_pistachio_paste", + "position": 3, + "ingredient_id": "pistachio_paste", + "subrecipe_id": null, + "quantity": 67, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_invert_sugar", + "position": 4, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 28, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_butter", + "position": 6, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 119, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the chocolate in a bowl large enough to accommodate the entire recipe.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, bring the cream, paste, sugar, and salt to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Pour the hot mixture over the melted chocolate. Allow to stand for one minute, then emulsify until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir in the softened butter.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Cover the surface of the ganache with plastic wrap. Allow to rest at room temperature until it reaches 78°F (26°C). The cooled ganache should have a thick, yet fluid consistency to properly fill bonbon shells.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pistachio_glaze", + "schema_version": 2, + "save_version": 6, + "title": "Pistachio Glaze", + "summary": null, + "categories_json": "[\"frostings_glazes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frostings_glazes\",\"classic\"]", + "yield_quantity": 2040, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_milk_whole", + "position": 3, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 470, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_glucose_syrup", + "position": 4, + "ingredient_id": "glucose_syrup", + "subrecipe_id": null, + "quantity": 190, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_pistachio_paste", + "position": 5, + "ingredient_id": "pistachio_paste", + "subrecipe_id": null, + "quantity": 130, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_chocolate_white", + "position": 7, + "ingredient_id": "chocolate_white", + "subrecipe_id": null, + "quantity": 565, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_white_chocolate_p_te_glacer", + "position": 8, + "ingredient_id": "white_chocolate_p_te_glacer", + "subrecipe_id": null, + "quantity": 565, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, bring the milk, glucose, pistachio paste, and salt to a boil. While heating, whisk to help dissolve the paste into the milk.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Off the heat, add the chocolates, followed by the bloomed and drained gelatin.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Blend the glaze with an immersion blender until homogenous.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Strain through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Use at about 84°F (29°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pistachio_joconde_sheet_cake", + "schema_version": 2, + "save_version": 6, + "title": "Pistachio Joconde Sheet Cake", + "summary": "Yield: one full sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 780, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one full sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_pistachio_flour", + "position": 1, + "ingredient_id": "pistachio_flour", + "subrecipe_id": null, + "quantity": 107, + "unit_id": "gram", + "percentage": 55.44, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_confectioners_sugar", + "position": 2, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 107, + "unit_id": "gram", + "percentage": 55.44, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 0.65, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 51.81, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_yolk", + "position": 5, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 31.09, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_pistachio_paste", + "position": 6, + "ingredient_id": "pistachio_paste", + "subrecipe_id": null, + "quantity": 36, + "unit_id": "gram", + "percentage": 18.65, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_flour_cake", + "position": 7, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 86, + "unit_id": "gram", + "percentage": 44.56, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_egg_whites", + "position": 8, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 210, + "unit_id": "gram", + "percentage": 108.81, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_sugar", + "position": 9, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 72, + "unit_id": "gram", + "percentage": 37.31, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_cream_of_tartar", + "position": 10, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 1.3, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Combine the sifted dry ingredients in a mixing bowl fitted with a paddle attachment.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the whole eggs, yolks, and pistachio paste and mix on high speed to form a smooth, aerated paste, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Fold the sifted cake flour into the paste until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make a medium peak French meringue with the egg whites, sugar, and cream of tartar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Gently fold the meringue into the pistachio mixture until streaky.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 400°F (204°C) until the cake is browned and springs back to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pistachio_shortbread_cookie", + "schema_version": 2, + "save_version": 1, + "title": "Pistachio Shortbread Cookie", + "summary": null, + "categories_json": "[\"dessert\"]", + "tags_json": "[\"cookie\"]", + "yield_quantity": 265.86, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"pistachio_shortbread_cookie\",\"title\":\"Pistachio Shortbread Cookie\",\"categories\":[\"dessert\"],\"tags\":[\"cookie\"],\"yield\":{\"amount\":{\"quantity\":265.86,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_all_purpose\",\"reference\":{\"ingredient_id\":\"flour_all_purpose\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_butter\",\"reference\":{\"ingredient_id\":\"butter\"},\"amount\":{\"quantity\":79,\"unit_id\":\"gram\"},\"percentage\":79},{\"id\":\"line_03_pistachio_nuts\",\"reference\":{\"ingredient_id\":\"pistachio_nuts\"},\"amount\":{\"quantity\":46,\"unit_id\":\"gram\"},\"percentage\":46},{\"id\":\"line_04_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":37,\"unit_id\":\"gram\"},\"percentage\":37},{\"id\":\"line_05_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":2.1,\"unit_id\":\"gram\"},\"percentage\":2.1},{\"id\":\"line_06_vanilla_extract\",\"reference\":{\"ingredient_id\":\"vanilla_extract\"},\"amount\":{\"quantity\":0.88,\"unit_id\":\"gram\"},\"percentage\":0.88},{\"id\":\"line_07_almond_extract\",\"reference\":{\"ingredient_id\":\"almond_extract\"},\"amount\":{\"quantity\":0.88,\"unit_id\":\"gram\"},\"percentage\":0.88}]}],\"equipment_ids\":[\"food_processor\",\"oven\",\"sheet_pan\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Pulse flour, sugar, salt, pistachios, and extracts in food processor until pistachios are finely ground.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Scatter cold butter chunks in food processor.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Pulse mixture until ingredients form into dough and stick together.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Form dough into log on plastic wrap (2 in by 10 in).\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Refrigerate for 2 hr.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Preheat oven to 325 °F and line baking sheet with parchment.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Cut dough log into 1/2 in cookies.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Brush top of each cookie with water and sprinkle with turbinado.\",\"component_ids\":[\"main\"]},{\"id\":\"step_09\",\"order\":9,\"instruction\":\"Bake for 15-18 min until golden brown.\",\"component_ids\":[\"main\"]},{\"id\":\"step_10\",\"order\":10,\"instruction\":\"Let cookies cool on baking sheet for 5 min, then transfer to wire rack to cool completely.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "food_processor", + "oven", + "sheet_pan" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_butter", + "position": 2, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 79, + "unit_id": "gram", + "percentage": 79, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_pistachio_nuts", + "position": 3, + "ingredient_id": "pistachio_nuts", + "subrecipe_id": null, + "quantity": 46, + "unit_id": "gram", + "percentage": 46, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 37, + "unit_id": "gram", + "percentage": 37, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.1, + "unit_id": "gram", + "percentage": 2.1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_vanilla_extract", + "position": 6, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 0.88, + "unit_id": "gram", + "percentage": 0.88, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_almond_extract", + "position": 7, + "ingredient_id": "almond_extract", + "subrecipe_id": null, + "quantity": 0.88, + "unit_id": "gram", + "percentage": 0.88, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Pulse flour, sugar, salt, pistachios, and extracts in food processor until pistachios are finely ground.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Scatter cold butter chunks in food processor.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Pulse mixture until ingredients form into dough and stick together.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Form dough into log on plastic wrap (2 in by 10 in).", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Refrigerate for 2 hr.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Preheat oven to 325 °F and line baking sheet with parchment.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Cut dough log into 1/2 in cookies.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Brush top of each cookie with water and sprinkle with turbinado.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_09", + "position": 9, + "instruction": "Bake for 15-18 min until golden brown.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Let cookies cool on baking sheet for 5 min, then transfer to wire rack to cool completely.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pistachio_white_chocolate_feuilletine", + "schema_version": 2, + "save_version": 6, + "title": "Pistachio-White Chocolate Feuilletine", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1155, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_chocolate_white", + "position": 1, + "ingredient_id": "chocolate_white", + "subrecipe_id": null, + "quantity": 420, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_pistachio_paste", + "position": 2, + "ingredient_id": "pistachio_paste", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_butter", + "position": 3, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_feuilletine", + "position": 5, + "ingredient_id": "feuilletine", + "subrecipe_id": null, + "quantity": 420, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_pistachio", + "position": 6, + "ingredient_id": "pistachio", + "subrecipe_id": null, + "quantity": 105, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "toasted & finely chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the chocolate and set aside.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a paddle attachment, cream the pistachio paste, butter, and salt together until light and creamy.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the melted chocolate, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir in the feuilletine and pistachios until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pita", + "schema_version": 2, + "save_version": 1, + "title": "Pita", + "summary": null, + "categories_json": "[\"bread\"]", + "tags_json": "[]", + "yield_quantity": 183.2, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"pita\",\"title\":\"Pita\",\"categories\":[\"bread\"],\"tags\":[],\"yield\":{\"amount\":{\"quantity\":183.2,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_bread\",\"reference\":{\"ingredient_id\":\"flour_bread\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":61,\"unit_id\":\"gram\"},\"percentage\":61},{\"id\":\"line_03_oil\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":13.4,\"unit_id\":\"gram\"},\"percentage\":13.4},{\"id\":\"line_04_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":4.5,\"unit_id\":\"gram\"},\"percentage\":4.5},{\"id\":\"line_05_instant_yeast\",\"reference\":{\"ingredient_id\":\"instant_yeast\"},\"amount\":{\"quantity\":2.3,\"unit_id\":\"gram\"},\"percentage\":2.3},{\"id\":\"line_06_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Mix all but oil until combined.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Add oil.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Mix total < 10 min.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Divide into 100 g balls.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Proof refrigerator 12-24 hr.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Warm to room temp ≈1 hr before baking.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Shape into 7 in disc.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Let discs rest 10 min.\",\"component_ids\":[\"main\"]},{\"id\":\"step_09\",\"order\":9,\"instruction\":\"Bake on parchment until fully inflated.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 61, + "unit_id": "gram", + "percentage": 61, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_oil", + "position": 3, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 13.4, + "unit_id": "gram", + "percentage": 13.4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 4.5, + "unit_id": "gram", + "percentage": 4.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_instant_yeast", + "position": 5, + "ingredient_id": "instant_yeast", + "subrecipe_id": null, + "quantity": 2.3, + "unit_id": "gram", + "percentage": 2.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Mix all but oil until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Add oil.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Mix total < 10 min.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Divide into 100 g balls.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Proof refrigerator 12-24 hr.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Warm to room temp ≈1 hr before baking.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Shape into 7 in disc.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Let discs rest 10 min.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_09", + "position": 9, + "instruction": "Bake on parchment until fully inflated.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pizza_dough", + "schema_version": 2, + "save_version": 6, + "title": "Pizza Dough", + "summary": "Yield: four 12-inch pizzas", + "categories_json": "[\"breads\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breads\",\"classic\"]", + "yield_quantity": 1220, + "yield_unit_id": "gram", + "yield_servings": 4, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: four 12-inch pizzas\",\"285 g (10 oz) of dough will yield one 12-inch pizza.\",\"The dough can be refrigerated for 2 days or rolled out 12-inch disks and frozen for 1 month.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "poolish", + "position": 1, + "name": "Poolish", + "notes_json": "[]" + }, + { + "id": "pizza_dough", + "position": 2, + "name": "Pizza Dough", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "pizza_dough", + "id": "line_04_poolish", + "position": 1, + "ingredient_id": "poolish", + "subrecipe_id": null, + "quantity": 350, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "pizza_dough", + "id": "line_05_flour_bread", + "position": 2, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 525, + "unit_id": "gram", + "percentage": 75, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "pizza_dough", + "id": "line_06_water", + "position": 3, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 325, + "unit_id": "gram", + "percentage": 46.43, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "pizza_dough", + "id": "line_07_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 2.14, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "pizza_dough", + "id": "line_08_yeast_fresh", + "position": 5, + "ingredient_id": "yeast_fresh", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 0.71, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "poolish", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 175, + "unit_id": "gram", + "percentage": 25, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "poolish", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 175, + "unit_id": "gram", + "percentage": 25, + "basis_member": 0, + "optional": 0, + "notes": "110°F/43°C", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "poolish", + "id": "line_03_yeast_fresh", + "position": 3, + "ingredient_id": "yeast_fresh", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 0.29, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Poolish:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Mix the flour, water, and yeast until blended. Cover and allow to ferment at room temperature for 6-12 hours.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Dough:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "In a mixer fitted with a paddle attachment, mix the poolish, bread flour, water, salt, and yeast until a dough is formed (1-2 minutes).", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Allow the dough to ferment in the refrigerator overnight in an airtight, oiled bowl.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pizza_sauce", + "schema_version": 2, + "save_version": 1, + "title": "Pizza Sauce", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"pizza\"]", + "yield_quantity": 106.91, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"pizza_sauce\",\"title\":\"Pizza Sauce\",\"categories\":[\"sauce\"],\"tags\":[\"pizza\"],\"yield\":{\"amount\":{\"quantity\":106.91,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_tomato_puree\",\"reference\":{\"ingredient_id\":\"tomato_puree\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_oil\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":3.75,\"unit_id\":\"gram\"},\"percentage\":3.75},{\"id\":\"line_03_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":1,\"unit_id\":\"gram\"},\"percentage\":1},{\"id\":\"line_04_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":0.75,\"unit_id\":\"gram\"},\"percentage\":0.75},{\"id\":\"line_05_msg\",\"reference\":{\"ingredient_id\":\"msg\"},\"amount\":{\"quantity\":0.25,\"unit_id\":\"gram\"},\"percentage\":0.25},{\"id\":\"line_06_oregano\",\"reference\":{\"ingredient_id\":\"oregano\"},\"amount\":{\"quantity\":0.25,\"unit_id\":\"gram\"},\"percentage\":0.25},{\"id\":\"line_07_basil\",\"reference\":{\"ingredient_id\":\"basil\"},\"amount\":{\"quantity\":0.25,\"unit_id\":\"gram\"},\"percentage\":0.25},{\"id\":\"line_08_garlic_dehydrated_minced\",\"reference\":{\"ingredient_id\":\"garlic_dehydrated_minced\"},\"amount\":{\"quantity\":0.25,\"unit_id\":\"gram\"},\"percentage\":0.25},{\"id\":\"line_09_black_pepper_ground\",\"reference\":{\"ingredient_id\":\"black_pepper_ground\"},\"amount\":{\"quantity\":0.2,\"unit_id\":\"gram\"},\"percentage\":0.2},{\"id\":\"line_10_onion_dehydrated_mince\",\"reference\":{\"ingredient_id\":\"onion_dehydrated_flake\"},\"amount\":{\"quantity\":0.12,\"unit_id\":\"gram\"},\"percentage\":0.12},{\"id\":\"line_11_xanthan_gum\",\"reference\":{\"ingredient_id\":\"xanthan_gum\"},\"amount\":{\"quantity\":0.08,\"unit_id\":\"gram\"},\"percentage\":0.08},{\"id\":\"line_12_cayenne\",\"reference\":{\"ingredient_id\":\"cayenne\"},\"amount\":{\"quantity\":0.01,\"unit_id\":\"gram\"},\"percentage\":0.01}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Blend\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_tomato_puree", + "position": 1, + "ingredient_id": "tomato_puree", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_oil", + "position": 2, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 3.75, + "unit_id": "gram", + "percentage": 3.75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.75, + "unit_id": "gram", + "percentage": 0.75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_msg", + "position": 5, + "ingredient_id": "msg", + "subrecipe_id": null, + "quantity": 0.25, + "unit_id": "gram", + "percentage": 0.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_oregano", + "position": 6, + "ingredient_id": "oregano", + "subrecipe_id": null, + "quantity": 0.25, + "unit_id": "gram", + "percentage": 0.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_basil", + "position": 7, + "ingredient_id": "basil", + "subrecipe_id": null, + "quantity": 0.25, + "unit_id": "gram", + "percentage": 0.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_garlic_dehydrated_minced", + "position": 8, + "ingredient_id": "garlic_dehydrated_minced", + "subrecipe_id": null, + "quantity": 0.25, + "unit_id": "gram", + "percentage": 0.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_black_pepper_ground", + "position": 9, + "ingredient_id": "black_pepper_ground", + "subrecipe_id": null, + "quantity": 0.2, + "unit_id": "gram", + "percentage": 0.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_onion_dehydrated_mince", + "position": 10, + "ingredient_id": "onion_dehydrated_flake", + "subrecipe_id": null, + "quantity": 0.12, + "unit_id": "gram", + "percentage": 0.12, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_xanthan_gum", + "position": 11, + "ingredient_id": "xanthan_gum", + "subrecipe_id": null, + "quantity": 0.08, + "unit_id": "gram", + "percentage": 0.08, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_cayenne", + "position": 12, + "ingredient_id": "cayenne", + "subrecipe_id": null, + "quantity": 0.01, + "unit_id": "gram", + "percentage": 0.01, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Blend", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "plum_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Plum Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 2070, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_plum_puree", + "position": 4, + "ingredient_id": "plum_puree", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "10% sugar", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lemon_juice", + "position": 5, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_plum_brandy", + "position": 6, + "ingredient_id": "plum_brandy", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_whites", + "position": 7, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_sugar", + "position": 8, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Warm ⅓ of the puree and melt the bloomed and drained gelatin into it. Whisk that warm mixture back into the rest of the puree and add the juice and brandy. Cool to about 65°F (18°C), or until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make an Italian meringue with the sugar and egg whites; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold ½ of the puree into the meringue. Fold the other ½ into the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the two mixtures together.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "popeyes_coater_mix", + "schema_version": 2, + "save_version": 1, + "title": "Popeyes Coater Mix", + "summary": null, + "categories_json": "[\"component\"]", + "tags_json": "[\"coater\",\"fried\",\"copycat\",\"popeyes\"]", + "yield_quantity": 113.5, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"popeyes_coater_mix\",\"title\":\"Popeyes Coater Mix\",\"categories\":[\"component\"],\"tags\":[\"coater\",\"fried\",\"copycat\",\"popeyes\"],\"yield\":{\"amount\":{\"quantity\":113.5,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_all_purpose\",\"reference\":{\"ingredient_id\":\"flour_all_purpose\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":7.5,\"unit_id\":\"gram\"},\"percentage\":7.5},{\"id\":\"line_03_baking_powder\",\"reference\":{\"ingredient_id\":\"baking_powder\"},\"amount\":{\"quantity\":5,\"unit_id\":\"gram\"},\"percentage\":5},{\"id\":\"line_04_baking_soda\",\"reference\":{\"ingredient_id\":\"baking_soda\"},\"amount\":{\"quantity\":1,\"unit_id\":\"gram\"},\"percentage\":1}]}],\"equipment_ids\":[\"whisk\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Whisk all dry ingredients until uniformly combined.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "whisk" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_salt", + "position": 2, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 7.5, + "unit_id": "gram", + "percentage": 7.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_baking_powder", + "position": 3, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_baking_soda", + "position": 4, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Whisk all dry ingredients until uniformly combined.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "popeyes_fry_batter", + "schema_version": 2, + "save_version": 1, + "title": "Popeyes Fry Batter", + "summary": null, + "categories_json": "[\"component\"]", + "tags_json": "[\"batter\",\"fried\",\"copycat\",\"popeyes\"]", + "yield_quantity": 486.39, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"popeyes_fry_batter\",\"title\":\"Popeyes Fry Batter\",\"categories\":[\"component\"],\"tags\":[\"batter\",\"fried\",\"copycat\",\"popeyes\"],\"yield\":{\"amount\":{\"quantity\":486.39,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_all_purpose\",\"reference\":{\"ingredient_id\":\"flour_all_purpose\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":283,\"unit_id\":\"gram\"},\"percentage\":283},{\"id\":\"line_03_cornstarch\",\"reference\":{\"ingredient_id\":\"cornstarch\"},\"amount\":{\"quantity\":36,\"unit_id\":\"gram\"},\"percentage\":36},{\"id\":\"line_04_buttermilk_powder\",\"reference\":{\"ingredient_id\":\"buttermilk_powder\"},\"amount\":{\"quantity\":16.67,\"unit_id\":\"gram\"},\"percentage\":16.67},{\"id\":\"line_05_nonfat_milk_powder\",\"reference\":{\"ingredient_id\":\"nonfat_milk_powder\"},\"amount\":{\"quantity\":14.44,\"unit_id\":\"gram\"},\"percentage\":14.44},{\"id\":\"line_06_flour_bread\",\"reference\":{\"ingredient_id\":\"flour_bread\"},\"amount\":{\"quantity\":11.1,\"unit_id\":\"gram\"},\"percentage\":11.1},{\"id\":\"line_07_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":10,\"unit_id\":\"gram\"},\"percentage\":10},{\"id\":\"line_08_baking_powder\",\"reference\":{\"ingredient_id\":\"baking_powder\"},\"amount\":{\"quantity\":5.4,\"unit_id\":\"gram\"},\"percentage\":5.4},{\"id\":\"line_09_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":4.67,\"unit_id\":\"gram\"},\"percentage\":4.67},{\"id\":\"line_10_msg\",\"reference\":{\"ingredient_id\":\"msg\"},\"amount\":{\"quantity\":2.22,\"unit_id\":\"gram\"},\"percentage\":2.22},{\"id\":\"line_11_baking_soda\",\"reference\":{\"ingredient_id\":\"baking_soda\"},\"amount\":{\"quantity\":1.33,\"unit_id\":\"gram\"},\"percentage\":1.33},{\"id\":\"line_12_garlic\",\"reference\":{\"ingredient_id\":\"garlic\"},\"amount\":{\"quantity\":0.89,\"unit_id\":\"gram\"},\"percentage\":0.89},{\"id\":\"line_13_onion_powder\",\"reference\":{\"ingredient_id\":\"onion_powder\"},\"amount\":{\"quantity\":0.67,\"unit_id\":\"gram\"},\"percentage\":0.67}]}],\"equipment_ids\":[\"whisk\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine batter dry mix.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Combine coater mix.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Hydrate batter w/ water.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Whisk until mostly smooth.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Coat chicken in coater mix.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Dip in batter.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Coat in coater mix again, forming clumps.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "whisk" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 283, + "unit_id": "gram", + "percentage": 283, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_cornstarch", + "position": 3, + "ingredient_id": "cornstarch", + "subrecipe_id": null, + "quantity": 36, + "unit_id": "gram", + "percentage": 36, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_buttermilk_powder", + "position": 4, + "ingredient_id": "buttermilk_powder", + "subrecipe_id": null, + "quantity": 16.67, + "unit_id": "gram", + "percentage": 16.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_nonfat_milk_powder", + "position": 5, + "ingredient_id": "nonfat_milk_powder", + "subrecipe_id": null, + "quantity": 14.44, + "unit_id": "gram", + "percentage": 14.44, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_flour_bread", + "position": 6, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 11.1, + "unit_id": "gram", + "percentage": 11.1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 10, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_baking_powder", + "position": 8, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 5.4, + "unit_id": "gram", + "percentage": 5.4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_sugar", + "position": 9, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 4.67, + "unit_id": "gram", + "percentage": 4.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_msg", + "position": 10, + "ingredient_id": "msg", + "subrecipe_id": null, + "quantity": 2.22, + "unit_id": "gram", + "percentage": 2.22, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_baking_soda", + "position": 11, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 1.33, + "unit_id": "gram", + "percentage": 1.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_garlic", + "position": 12, + "ingredient_id": "garlic", + "subrecipe_id": null, + "quantity": 0.89, + "unit_id": "gram", + "percentage": 0.89, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_onion_powder", + "position": 13, + "ingredient_id": "onion_powder", + "subrecipe_id": null, + "quantity": 0.67, + "unit_id": "gram", + "percentage": 0.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine batter dry mix.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Combine coater mix.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Hydrate batter w/ water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Whisk until mostly smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Coat chicken in coater mix.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Dip in batter.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Coat in coater mix again, forming clumps.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "poppy_seed_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Poppy Seed Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 2253, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_poppy_seeds", + "position": 1, + "ingredient_id": "poppy_seeds", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_white_port", + "position": 2, + "ingredient_id": "white_port", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_plum_jam", + "position": 3, + "ingredient_id": "plum_jam", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_vanilla_bean", + "position": 4, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "seeds", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_gelatin_sheet", + "position": 5, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 12, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_water", + "position": 6, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_cognac", + "position": 7, + "ingredient_id": "cognac", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_chocolate_white", + "position": 8, + "ingredient_id": "chocolate_white", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_heavy_cream", + "position": 9, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 940, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 qt", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_egg_whole", + "position": 10, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_egg_yolk", + "position": 11, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_salt", + "position": 12, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, cook the poppy seeds, port, jam, and vanilla been seeds until the liquid is reduced and the poppy seeds become a paste; set aside to cool.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Melt the chocolate and keep warm.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "In a mixer fitted with a whisk attachment, whisk the whole eggs, yolks, and salt until a thick ribbon is achieved.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Melt the bloomed and drained gelatin with the cognac and whisk into the whipped eggs.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Fold the whipped cream into the warm chocolate.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Fold the egg mixture into the chocolate/cream mixture, followed by the cooled paste.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "poppy_seed_sheet_cake", + "schema_version": 2, + "save_version": 6, + "title": "Poppy Seed Sheet Cake", + "summary": "Yield: one full sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 2321, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one full sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_poppy_seeds", + "position": 1, + "ingredient_id": "poppy_seeds", + "subrecipe_id": null, + "quantity": 255, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_almond_flour", + "position": 2, + "ingredient_id": "almond_flour", + "subrecipe_id": null, + "quantity": 255, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_butter", + "position": 3, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_confectioners_sugar", + "position": 4, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_honey", + "position": 5, + "ingredient_id": "honey", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_orange_zest", + "position": 6, + "ingredient_id": "orange_zest", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_cinnamon", + "position": 7, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 8, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_cloves", + "position": 8, + "ingredient_id": "cloves", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_egg_yolk", + "position": 10, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 360, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_egg_whites", + "position": 11, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 540, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_sugar", + "position": 12, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_cream_of_tartar", + "position": 13, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a food processor, grind the poppy seeds and flour and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "food_processor" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter, sugar, honey, zest, spices, and salt.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the egg yolks 3 at a time, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Fold in the ground poppy seed/flour mixture.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Make a medium-stiff peak French meringue with the egg whites, sugar, and cream of tartar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the meringue into the batter just until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Bake at 300ºF (149ºC) until the cake springs back to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "port_cassis_poaching_liquid", + "schema_version": 2, + "save_version": 6, + "title": "Port-Cassis Poaching Liquid", + "summary": null, + "categories_json": "[\"sauces_liquids\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sauces_liquids\",\"classic\"]", + "yield_quantity": 2460, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Strain the poaching liquid through a fine-mesh strainer lined with cheesecloth without pressing on the solids for a delicious, nearly translucent, and deep burgundy colored liquid.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 1170, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_cassis_puree", + "position": 2, + "ingredient_id": "cassis_puree", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_port_wine", + "position": 3, + "ingredient_id": "port_wine", + "subrecipe_id": null, + "quantity": 375, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 415, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vanilla_bean", + "position": 5, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "split & scraped (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the water, puree, wine, sugar, and vanilla bean to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Lower to a simmer and add prepared fruit of choice. Keep covered with parchment paper until a paring knife inserted into the fruit yields little to no resistance.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "sheet_pan" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "port_wine_sabayon", + "schema_version": 2, + "save_version": 6, + "title": "Port Wine Sabayon", + "summary": null, + "categories_json": "[\"sauces_liquids\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sauces_liquids\",\"classic\"]", + "yield_quantity": 980, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_port_wine", + "position": 2, + "ingredient_id": "port_wine", + "subrecipe_id": null, + "quantity": 320, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 180, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_cinnamon_sticks", + "position": 4, + "ingredient_id": "cinnamon_sticks", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vanilla_bean", + "position": 5, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "split & scraped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_orange_zest", + "position": 6, + "ingredient_id": "orange_zest", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_yolk", + "position": 7, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Whip the cream to soft peaks and set aside in the refrigerator.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Bring the wine, sugar, cinnamon sticks, vanilla bean, and zest to a boil. Set aside to infuse for 30 minutes.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Strain the infused wine mixture.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Whisk the mixture and egg yolks over a water bath until thickened and a ribbon is achieved.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Whisk the sabayon over an ice bath until cold.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the whipped cream into the sabayon.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "potato_rolls", + "schema_version": 2, + "save_version": 6, + "title": "Potato Rolls", + "summary": "Yield: thirty 50 g (1.8 oz) rolls. This recipe makes the quintessential soft dinner roll — moist, tender, and irresistible. Try them as hamburger and hotdog buns too.", + "categories_json": "[\"breads\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breads\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: thirty 50 g (1.8 oz) rolls\",\"It is recommended to roast the potatoes in the oven, then pass through a ricer or food mill as opposed to boiling them, which increases their water content.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 740, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 106, + "unit_id": "gram", + "percentage": 14.32, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 2.03, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_water", + "position": 4, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 30.68, + "basis_member": 0, + "optional": 0, + "notes": "110ºF/43ºC", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_yeast_fresh", + "position": 5, + "ingredient_id": "yeast_fresh", + "subrecipe_id": null, + "quantity": 21, + "unit_id": "gram", + "percentage": 2.84, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_mashed_potatoes", + "position": 6, + "ingredient_id": "mashed_potatoes", + "subrecipe_id": null, + "quantity": 175, + "unit_id": "gram", + "percentage": 23.65, + "basis_member": 0, + "optional": 0, + "notes": "unseasoned", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_whole", + "position": 7, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 13.51, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_butter", + "position": 8, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 114, + "unit_id": "gram", + "percentage": 15.41, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix all of the ingredients on low speed for 2 minutes to hydrate.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Switch to a hook attachment and mix on medium speed for 6-8 minutes, or until gluten is developed.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Place the dough in an oiled bowl and bulk proof for 60 minutes.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Turn the dough out onto a floured bench and gently de-gas.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Divide into desired sized pieces and pre-shape into rounds. Cover and bench rest for 5 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Final shape each piece into tight rounds. Proof for about 30-45 minutes, or until doubled in size.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Egg wash and bake at 375ºF (191ºC) until the internal temperature is 190ºF (88ºC).", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pots_de_creme", + "schema_version": 2, + "save_version": 6, + "title": "Pots de Crème", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1395, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + }, + { + "id": "variations", + "position": 2, + "name": "Variations", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_milk_whole", + "position": 1, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 225, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_yolk", + "position": 5, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "variations", + "id": "line_07_chocolate_dark", + "position": 1, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "58-66%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "variations", + "id": "line_08_pistachio_paste", + "position": 2, + "ingredient_id": "pistachio_paste", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "variations", + "id": "line_09_vanilla_bean", + "position": 3, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the milk, cream, and sugar to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixing bowl, whisk together the whole egg, yolks, and salt.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Temper the hot cream mixture into the egg mixture until smooth and homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Strain through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Remove excess air bubbles from the top of the pots de crème custard by placing a piece of plastic wrap or paper towel on the surface and then removing.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 275°F (135°C) in a water bath, covered, until the custard trembles slightly when shaken.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "praline_feuilletine_with_cocoa_nibs", + "schema_version": 2, + "save_version": 6, + "title": "Praline Feuilletine with Cocoa Nibs", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1020, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_cocoa_butter", + "position": 1, + "ingredient_id": "cocoa_butter", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_chocolate_milk", + "position": 2, + "ingredient_id": "chocolate_milk", + "subrecipe_id": null, + "quantity": 140, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_chocolate_white", + "position": 3, + "ingredient_id": "chocolate_white", + "subrecipe_id": null, + "quantity": 140, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_praline_paste", + "position": 4, + "ingredient_id": "praline_paste", + "subrecipe_id": null, + "quantity": 310, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_feuilletine", + "position": 6, + "ingredient_id": "feuilletine", + "subrecipe_id": null, + "quantity": 310, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_cocoa_nibs", + "position": 7, + "ingredient_id": "cocoa_nibs", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the cocoa butter over a water bath, add the chocolates and melt together, stirring until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a paddle attachment, cream the chocolate mixture with the praline paste and salt to taste until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Stir in the feuilletine and caramelized cocoa nibs until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "praline_sheet_cake", + "schema_version": 2, + "save_version": 6, + "title": "Praline Sheet Cake", + "summary": "Yield: one full sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 1515, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one full sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_egg_whole", + "position": 1, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 350, + "unit_id": "gram", + "percentage": 280, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_egg_yolk", + "position": 2, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 16, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_praline_paste", + "position": 3, + "ingredient_id": "praline_paste", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": 400, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_flour_cake", + "position": 4, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whites", + "position": 6, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 390, + "unit_id": "gram", + "percentage": 312, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_cream_of_tartar", + "position": 8, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 2.4, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a whisk attachment, whisk the whole eggs, yolk, and praline paste until light and smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Sift the flour and salt together and add to the praline mixture. Whisk until smooth, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Make a stiff peak French meringue with the egg whites, sugar, and cream of tartar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Gently fold the meringue into the batter until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 350ºF (177ºC) until the cake springs back to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "praline_truffle_ganache", + "schema_version": 2, + "save_version": 6, + "title": "Praline Truffle Ganache", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 303, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_icing_fondant", + "position": 2, + "ingredient_id": "icing_fondant", + "subrecipe_id": null, + "quantity": 121, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_invert_sugar", + "position": 3, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_praline_paste", + "position": 5, + "ingredient_id": "praline_paste", + "subrecipe_id": null, + "quantity": 303, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_chocolate_dark", + "position": 6, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 243, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "56%", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter, fondant, sugar, and salt on low speed until homogenous.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the praline paste and mix until smooth, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Temper the chocolate and incorporate into the butter mixture until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Cover the surface of the ganache with plastic wrap and allow to set up at room temperature.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Pipe the ganache into rounds that are as spherical as possible, then refrigerate until firm.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Roll the ganache into spheres by hand and chill again. At this point, the rolled spheres may be refrigerated for several days before being finished.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Allow the spheres to temper from the refrigerator before coating twice in tempered chocolate.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "After the second coating, roll the truffles in sifted cocoa powder before the chocolate sets. Once set, sift the excess cocoa powder off the finished truffles.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pub_pretzel", + "schema_version": 2, + "save_version": 1, + "title": "Pub Pretzel", + "summary": null, + "categories_json": "[\"bread\"]", + "tags_json": "[\"pretzel\"]", + "yield_quantity": 166.2, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"pub_pretzel\",\"title\":\"Pub Pretzel\",\"categories\":[\"bread\"],\"tags\":[\"pretzel\"],\"yield\":{\"amount\":{\"quantity\":166.2,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_all_purpose\",\"reference\":{\"ingredient_id\":\"flour_all_purpose\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":55,\"unit_id\":\"gram\"},\"percentage\":55},{\"id\":\"line_03_oil\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":6,\"unit_id\":\"gram\"},\"percentage\":6},{\"id\":\"line_04_instant_yeast\",\"reference\":{\"ingredient_id\":\"instant_yeast\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_05_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_06_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":1.2,\"unit_id\":\"gram\"},\"percentage\":1.2}]}],\"equipment_ids\":[\"stand_mixer\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine dry.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Combine wet.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Add wet to mixer, then dry.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Mix for 10 min.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Divide into 50 g pieces.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Roll into ≈4 in logs.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Proof 1 hr 70 °F covered, misted.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Score 3x.\",\"component_ids\":[\"main\"]},{\"id\":\"step_09\",\"order\":9,\"instruction\":\"Bake 450 °F, 7 min.\",\"component_ids\":[\"main\"]},{\"id\":\"step_10\",\"order\":10,\"instruction\":\"Dip in 4% lye solution.\",\"component_ids\":[\"main\"]},{\"id\":\"step_11\",\"order\":11,\"instruction\":\"Finish baking in greased rack, 5 min.\",\"component_ids\":[\"main\"]},{\"id\":\"step_12\",\"order\":12,\"instruction\":\"Deep fry 45 sec.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "stand_mixer" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 55, + "unit_id": "gram", + "percentage": 55, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_oil", + "position": 3, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_instant_yeast", + "position": 4, + "ingredient_id": "instant_yeast", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 1.2, + "unit_id": "gram", + "percentage": 1.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine dry.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Combine wet.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Add wet to mixer, then dry.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Mix for 10 min.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Divide into 50 g pieces.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Roll into ≈4 in logs.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Proof 1 hr 70 °F covered, misted.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Score 3x.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_09", + "position": 9, + "instruction": "Bake 450 °F, 7 min.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Dip in 4% lye solution.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_11", + "position": 11, + "instruction": "Finish baking in greased rack, 5 min.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_12", + "position": 12, + "instruction": "Deep fry 45 sec.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pullman_white", + "schema_version": 2, + "save_version": 1, + "title": "Pullman White", + "summary": null, + "categories_json": "[\"bread\"]", + "tags_json": "[\"loaf\"]", + "yield_quantity": 190.5, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"pullman_white\",\"title\":\"Pullman White\",\"categories\":[\"bread\"],\"tags\":[\"loaf\"],\"yield\":{\"amount\":{\"quantity\":190.5,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_bread\",\"reference\":{\"ingredient_id\":\"flour_bread\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":65,\"unit_id\":\"gram\"},\"percentage\":65},{\"id\":\"line_03_oil\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":9,\"unit_id\":\"gram\"},\"percentage\":9},{\"id\":\"line_04_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":5,\"unit_id\":\"gram\"},\"percentage\":5},{\"id\":\"line_05_nonfat_milk_powder\",\"reference\":{\"ingredient_id\":\"nonfat_milk_powder\"},\"amount\":{\"quantity\":4,\"unit_id\":\"gram\"},\"percentage\":4},{\"id\":\"line_06_vinegar_5\",\"reference\":{\"ingredient_id\":\"vinegar_5\"},\"amount\":{\"quantity\":2.5,\"unit_id\":\"gram\"},\"percentage\":2.5},{\"id\":\"line_07_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":2.3,\"unit_id\":\"gram\"},\"percentage\":2.3},{\"id\":\"line_08_instant_yeast\",\"reference\":{\"ingredient_id\":\"instant_yeast\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_09_lactic_acid_88\",\"reference\":{\"ingredient_id\":\"lactic_acid_88\"},\"amount\":{\"quantity\":0.7,\"unit_id\":\"gram\"},\"percentage\":0.7}]}],\"equipment_ids\":[\"mixing_bowl\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Add water, vinegar, then remaining ingredients to mixing bowl.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Mix to full development.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Grease loaf pan.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Shape dough.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Place the dough seam-side down in greased pan.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Place lid on the pan, cracked slightly so that dough is visible.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Proof until dough nearly touches the lid.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Bake at 375 °F for about 32 min.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "mixing_bowl" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 65, + "unit_id": "gram", + "percentage": 65, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_oil", + "position": 3, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 9, + "unit_id": "gram", + "percentage": 9, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_nonfat_milk_powder", + "position": 5, + "ingredient_id": "nonfat_milk_powder", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": 4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_vinegar_5", + "position": 6, + "ingredient_id": "vinegar_5", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 2.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.3, + "unit_id": "gram", + "percentage": 2.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_instant_yeast", + "position": 8, + "ingredient_id": "instant_yeast", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_lactic_acid_88", + "position": 9, + "ingredient_id": "lactic_acid_88", + "subrecipe_id": null, + "quantity": 0.7, + "unit_id": "gram", + "percentage": 0.7, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Add water, vinegar, then remaining ingredients to mixing bowl.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Mix to full development.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Grease loaf pan.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Shape dough.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Place the dough seam-side down in greased pan.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Place lid on the pan, cracked slightly so that dough is visible.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Proof until dough nearly touches the lid.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Bake at 375 °F for about 32 min.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pumpkin_bread", + "schema_version": 2, + "save_version": 1, + "title": "Pumpkin Bread", + "summary": null, + "categories_json": "[\"dessert\"]", + "tags_json": "[\"quick-bread\"]", + "yield_quantity": 201, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"pumpkin_bread\",\"title\":\"Pumpkin Bread\",\"categories\":[\"dessert\"],\"tags\":[\"quick-bread\"],\"yield\":{\"amount\":{\"quantity\":201,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_bread\",\"reference\":{\"ingredient_id\":\"flour_bread\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_pumpkin_puree\",\"reference\":{\"ingredient_id\":\"pumpkin_puree\"},\"amount\":{\"quantity\":75,\"unit_id\":\"gram\"},\"percentage\":75},{\"id\":\"line_03_shortening\",\"reference\":{\"ingredient_id\":\"shortening\"},\"amount\":{\"quantity\":10,\"unit_id\":\"gram\"},\"percentage\":10},{\"id\":\"line_04_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":8,\"unit_id\":\"gram\"},\"percentage\":8},{\"id\":\"line_05_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":4,\"unit_id\":\"gram\"},\"percentage\":4},{\"id\":\"line_06_instant_yeast\",\"reference\":{\"ingredient_id\":\"instant_yeast\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_07_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"TODO: Add complete preparation instructions for this recipe.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_pumpkin_puree", + "position": 2, + "ingredient_id": "pumpkin_puree", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": 75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_shortening", + "position": 3, + "ingredient_id": "shortening", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 10, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 8, + "unit_id": "gram", + "percentage": 8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_water", + "position": 5, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": 4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_instant_yeast", + "position": 6, + "ingredient_id": "instant_yeast", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "TODO: Add complete preparation instructions for this recipe.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pumpkin_brioche", + "schema_version": 2, + "save_version": 6, + "title": "Pumpkin Brioche", + "summary": null, + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breakfast\",\"classic\"]", + "yield_quantity": 1750, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "sponge", + "position": 1, + "name": "Sponge", + "notes_json": "[]" + }, + { + "id": "dough", + "position": 2, + "name": "Dough", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "dough", + "id": "line_05_sugar", + "position": 1, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": 9.91, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_06_egg_whole", + "position": 2, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 175, + "unit_id": "gram", + "percentage": 23.12, + "basis_member": 0, + "optional": 0, + "notes": "3½ each", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_07_egg_yolk", + "position": 3, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 2.64, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_08_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 11, + "unit_id": "gram", + "percentage": 1.45, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_09_flour_bread", + "position": 5, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 563, + "unit_id": "gram", + "percentage": 74.37, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_10_pumpkin_puree", + "position": 6, + "ingredient_id": "pumpkin_puree", + "subrecipe_id": null, + "quantity": 283, + "unit_id": "gram", + "percentage": 37.38, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_11_butter", + "position": 7, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 29.99, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "sponge", + "id": "line_01_milk_whole", + "position": 1, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": 16.51, + "basis_member": 0, + "optional": 0, + "notes": "110ºF/43ºC", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "sponge", + "id": "line_02_yeast_fresh", + "position": 2, + "ingredient_id": "yeast_fresh", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": 3.96, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "sponge", + "id": "line_03_egg_whole", + "position": 3, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 6.61, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "sponge", + "id": "line_04_flour_bread", + "position": 4, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 194, + "unit_id": "gram", + "percentage": 25.63, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Make a sponge with the milk, yeast, egg, and flour. Cover and let proof in a warm place for about 20 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Once the sponge is ready, mix everything together- except the butter- with a dough hook for about 5 minutes, or until gluten is developed and a \"window\" is achieved.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the butter in several additions and mix until silky and all of the butter has been absorbed into the dough.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Slow proof the dough in the refrigerator overnight. Alternatively, bulk proof for 2 hours at room temperature, chill until firm, then use.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pumpkin_cake", + "schema_version": 2, + "save_version": 6, + "title": "Pumpkin Cake", + "summary": "Yield: one 9-inch cake pan or one half sheet pan", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 1570, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one 9-inch cake pan or one half sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_pumpkin_puree", + "position": 1, + "ingredient_id": "pumpkin_puree", + "subrecipe_id": null, + "quantity": 380, + "unit_id": "gram", + "percentage": 104.97, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 218, + "unit_id": "gram", + "percentage": 60.22, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_brown_sugar", + "position": 3, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 180, + "unit_id": "gram", + "percentage": 49.72, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 55.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_canola_oil", + "position": 5, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 160, + "unit_id": "gram", + "percentage": 44.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_flour_all_purpose", + "position": 6, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 362, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_cinnamon", + "position": 7, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.38, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_ginger", + "position": 8, + "ingredient_id": "ginger", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 0.55, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_cloves", + "position": 9, + "ingredient_id": "cloves", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.69, + "basis_member": 0, + "optional": 0, + "notes": "ground (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_baking_soda", + "position": 10, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 1.93, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_baking_powder", + "position": 11, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.38, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_salt", + "position": 12, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.38, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix the puree, sugars, and eggs until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Slowly add the oil to the pumpkin mixture.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the sifted dry ingredients and mix until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Bake at 350ºF (177ºC) until the cake springs back to the touch and a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pumpkin_cheesecake", + "schema_version": 2, + "save_version": 6, + "title": "Pumpkin Cheesecake", + "summary": "Yield: one 10-inch cake pan", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 2270, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one 10-inch cake pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_cream_cheese", + "position": 1, + "ingredient_id": "cream_cheese", + "subrecipe_id": null, + "quantity": 908, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_brown_sugar", + "position": 3, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 114, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_yolk", + "position": 5, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_pumpkin_puree", + "position": 6, + "ingredient_id": "pumpkin_puree", + "subrecipe_id": null, + "quantity": 737, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_cinnamon", + "position": 7, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_ginger", + "position": 8, + "ingredient_id": "ginger", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_cloves", + "position": 9, + "ingredient_id": "cloves", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix the cream cheese and sugars on medium speed until smooth, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "On medium speed, add the whole eggs and yolks one at a time, scraping down the bowl again as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the puree and spices to the cream cheese mixture and mix until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Bake at 300°F (149°F) in a water bath.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pumpkin_chocolate_chip_pound_cake", + "schema_version": 2, + "save_version": 6, + "title": "Pumpkin-Chocolate Chip Pound Cake", + "summary": "Yield: two 9-inch loaf pans", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 1965, + "yield_unit_id": "gram", + "yield_servings": 2, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: two 9-inch loaf pans\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 189, + "unit_id": "gram", + "percentage": 42, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 313, + "unit_id": "gram", + "percentage": 69.56, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_brown_sugar", + "position": 3, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 22.22, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 33.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_flour_cake", + "position": 5, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 55.56, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_flour_all_purpose", + "position": 6, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 44.44, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_baking_powder", + "position": 7, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 19, + "unit_id": "gram", + "percentage": 4.22, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 2.22, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_cinnamon", + "position": 9, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": 0.89, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_ginger", + "position": 10, + "ingredient_id": "ginger", + "subrecipe_id": null, + "quantity": 3.75, + "unit_id": "gram", + "percentage": 0.83, + "basis_member": 0, + "optional": 0, + "notes": "ground (¾ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_allspice", + "position": 11, + "ingredient_id": "allspice", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.56, + "basis_member": 0, + "optional": 0, + "notes": "ground (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_nutmeg", + "position": 12, + "ingredient_id": "nutmeg", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.56, + "basis_member": 0, + "optional": 0, + "notes": "ground (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_pumpkin_puree", + "position": 13, + "ingredient_id": "pumpkin_puree", + "subrecipe_id": null, + "quantity": 232, + "unit_id": "gram", + "percentage": 51.56, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_14_water", + "position": 14, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 197, + "unit_id": "gram", + "percentage": 43.78, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_15_chocolate_chips", + "position": 15, + "ingredient_id": "chocolate_chips", + "subrecipe_id": null, + "quantity": 197, + "unit_id": "gram", + "percentage": 43.78, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_16_walnut", + "position": 16, + "ingredient_id": "walnut", + "subrecipe_id": null, + "quantity": 98, + "unit_id": "gram", + "percentage": 21.78, + "basis_member": 0, + "optional": 0, + "notes": "toasted & coarsely chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter and sugars.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the eggs one at a time, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Sift the dry ingredients.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Whisk the puree and water until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Alternately mix the dry and wet ingredients into the butter mixture until smooth, followed by the chocolate chips and nuts.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 325°F (163°C) until a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pumpkin_creme_brulee", + "schema_version": 2, + "save_version": 6, + "title": "Pumpkin Crème Brûlée", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 2117, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Crème brûlée has a shelf life up to 3 days.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 470, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_milk_whole", + "position": 2, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 732, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "divided", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_pumpkin_puree", + "position": 4, + "ingredient_id": "pumpkin_puree", + "subrecipe_id": null, + "quantity": 325, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_cinnamon", + "position": 5, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 9, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_yolk", + "position": 6, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 380, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the cream, milk, and ½ of the sugar to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixing bowl, whisk together the puree, cinnamon, egg yolks, the other ½ of the sugar, and salt.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Temper the hot cream into the egg yolk mixture and whisk until smooth and emulsified.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Strain through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Remove excess air bubbles from the top of the crème brûlée custard by placing a piece of plastic wrap or paper towel on the surface and then removing.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 275°F (135°C) in a water bath, covered, until the custard trembles slightly when shaken.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pumpkin_ganache", + "schema_version": 2, + "save_version": 1, + "title": "Pumpkin Ganache", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"dessert-sauce\",\"chocolate\"]", + "yield_quantity": 207.39, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"pumpkin_ganache\",\"title\":\"Pumpkin Ganache\",\"categories\":[\"sauce\"],\"tags\":[\"dessert-sauce\",\"chocolate\"],\"yield\":{\"amount\":{\"quantity\":207.39,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_pumpkin_puree\",\"reference\":{\"ingredient_id\":\"pumpkin_puree\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_white_chocolate\",\"reference\":{\"ingredient_id\":\"white_chocolate\"},\"amount\":{\"quantity\":54,\"unit_id\":\"gram\"},\"percentage\":54},{\"id\":\"line_03_heavy_cream\",\"reference\":{\"ingredient_id\":\"heavy_cream\"},\"amount\":{\"quantity\":27.5,\"unit_id\":\"gram\"},\"percentage\":27.5},{\"id\":\"line_04_glucose\",\"reference\":{\"ingredient_id\":\"glucose\"},\"amount\":{\"quantity\":15.7,\"unit_id\":\"gram\"},\"percentage\":15.7},{\"id\":\"line_05_butter\",\"reference\":{\"ingredient_id\":\"butter\"},\"amount\":{\"quantity\":8.63,\"unit_id\":\"gram\"},\"percentage\":8.63},{\"id\":\"line_06_cinnamon\",\"reference\":{\"ingredient_id\":\"cinnamon\"},\"amount\":{\"quantity\":0.55,\"unit_id\":\"gram\"},\"percentage\":0.55},{\"id\":\"line_07_kosher_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":0.45,\"unit_id\":\"gram\"},\"percentage\":0.45},{\"id\":\"line_08_cardamom\",\"reference\":{\"ingredient_id\":\"cardamom\"},\"amount\":{\"quantity\":0.3,\"unit_id\":\"gram\"},\"percentage\":0.3},{\"id\":\"line_09_allspice\",\"reference\":{\"ingredient_id\":\"allspice\"},\"amount\":{\"quantity\":0.12,\"unit_id\":\"gram\"},\"percentage\":0.12},{\"id\":\"line_10_ginger\",\"reference\":{\"ingredient_id\":\"ginger_ground\"},\"amount\":{\"quantity\":0.12,\"unit_id\":\"gram\"},\"percentage\":0.12},{\"id\":\"line_11_cloves\",\"reference\":{\"ingredient_id\":\"cloves\"},\"amount\":{\"quantity\":0.02,\"unit_id\":\"gram\"},\"percentage\":0.02}]}],\"equipment_ids\":[\"mixing_bowl\",\"sheet_pan\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Spread pumpkin over parchment-lined half size baking sheet.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Roast 1 hr at 325 °F until pumpkin reduced by 40%.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Add chocolate chips to a mixing bowl.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Combine cream, glucose, butter in pot.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Bring to the boil.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Pour over white chocolate.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Let sit for 1 min.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Add roasted pumpkin, spices, salt to mixture.\",\"component_ids\":[\"main\"]},{\"id\":\"step_09\",\"order\":9,\"instruction\":\"Stir, immersion blend until totally smooth.\",\"component_ids\":[\"main\"]},{\"id\":\"step_10\",\"order\":10,\"instruction\":\"Pour into shells warm.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "mixing_bowl", + "sheet_pan" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_pumpkin_puree", + "position": 1, + "ingredient_id": "pumpkin_puree", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_white_chocolate", + "position": 2, + "ingredient_id": "white_chocolate", + "subrecipe_id": null, + "quantity": 54, + "unit_id": "gram", + "percentage": 54, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 27.5, + "unit_id": "gram", + "percentage": 27.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_glucose", + "position": 4, + "ingredient_id": "glucose", + "subrecipe_id": null, + "quantity": 15.7, + "unit_id": "gram", + "percentage": 15.7, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_butter", + "position": 5, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 8.63, + "unit_id": "gram", + "percentage": 8.63, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_cinnamon", + "position": 6, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 0.55, + "unit_id": "gram", + "percentage": 0.55, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_kosher_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.45, + "unit_id": "gram", + "percentage": 0.45, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_cardamom", + "position": 8, + "ingredient_id": "cardamom", + "subrecipe_id": null, + "quantity": 0.3, + "unit_id": "gram", + "percentage": 0.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_allspice", + "position": 9, + "ingredient_id": "allspice", + "subrecipe_id": null, + "quantity": 0.12, + "unit_id": "gram", + "percentage": 0.12, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_ginger", + "position": 10, + "ingredient_id": "ginger_ground", + "subrecipe_id": null, + "quantity": 0.12, + "unit_id": "gram", + "percentage": 0.12, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_cloves", + "position": 11, + "ingredient_id": "cloves", + "subrecipe_id": null, + "quantity": 0.02, + "unit_id": "gram", + "percentage": 0.02, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Spread pumpkin over parchment-lined half size baking sheet.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Roast 1 hr at 325 °F until pumpkin reduced by 40%.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Add chocolate chips to a mixing bowl.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Combine cream, glucose, butter in pot.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Bring to the boil.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Pour over white chocolate.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Let sit for 1 min.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Add roasted pumpkin, spices, salt to mixture.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_09", + "position": 9, + "instruction": "Stir, immersion blend until totally smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Pour into shells warm.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pumpkin_ice_cream", + "schema_version": 2, + "save_version": 6, + "title": "Pumpkin Ice Cream", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1550, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_milk_whole", + "position": 1, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 663, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 160, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_milk_powder", + "position": 3, + "ingredient_id": "milk_powder", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_powdered_glucose", + "position": 4, + "ingredient_id": "powdered_glucose", + "subrecipe_id": null, + "quantity": 45, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vanilla_bean", + "position": 5, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "seeds (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 65, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_ice_cream_stabilizer", + "position": 7, + "ingredient_id": "ice_cream_stabilizer", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_invert_sugar", + "position": 9, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 77, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_egg_yolk", + "position": 10, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_brown_sugar", + "position": 11, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_pumpkin_puree", + "position": 12, + "ingredient_id": "pumpkin_puree", + "subrecipe_id": null, + "quantity": 320, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_cinnamon", + "position": 13, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_14_ginger", + "position": 14, + "ingredient_id": "ginger", + "subrecipe_id": null, + "quantity": 3.75, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground (¾ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_15_nutmeg", + "position": 15, + "ingredient_id": "nutmeg", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground (¼ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan large enough to accommodate the entire recipe, combine the milk and cream. With an immersion blender, blend in the milk power, glucose, and vanilla bean seeds to dissolve.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Heat until warm, 105°F (40°C); whisk in the granulated sugar combined with the stabilizer and salt, followed by the invert sugar.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk in the brown sugar that has been whisked together with the egg yolks.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Whisk in the puree that has been combined with the spices.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Stir with a whisk and heat to 185°F (85°C). Strain.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Chill immediately and allow to mature for 6 to 12 hours.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Blend with an immersion blender before spinning.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pumpkin_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Pumpkin Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 1620, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_pumpkin_puree", + "position": 4, + "ingredient_id": "pumpkin_puree", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vanilla_extract", + "position": 5, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_cinnamon", + "position": 6, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 3.75, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground (¾ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_ginger", + "position": 7, + "ingredient_id": "ginger", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground (¼ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_nutmeg", + "position": 8, + "ingredient_id": "nutmeg", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground (¼ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_cloves", + "position": 9, + "ingredient_id": "cloves", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground (¼ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_salt", + "position": 10, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_egg_yolk", + "position": 11, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 220, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_sugar", + "position": 12, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_water", + "position": 13, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Heat the puree with the spices over a water bath until warm, about 110°F (43°C), or until slightly thickened. Gently melt the gelatin and combine with the puree until smooth; set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make a pâte à bombe with the sugar, water, and egg yolks; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold the pumpkin mixture into the pâte à bombe, followed by the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pumpkin_muffin", + "schema_version": 2, + "save_version": 1, + "title": "Pumpkin Muffin", + "summary": null, + "categories_json": "[\"dessert\"]", + "tags_json": "[\"muffin\"]", + "yield_quantity": 403.07, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"pumpkin_muffin\",\"title\":\"Pumpkin Muffin\",\"categories\":[\"dessert\"],\"tags\":[\"muffin\"],\"yield\":{\"amount\":{\"quantity\":403.07,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_cake\",\"reference\":{\"ingredient_id\":\"flour_cake\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_pumpkin_puree\",\"reference\":{\"ingredient_id\":\"pumpkin_puree\"},\"amount\":{\"quantity\":90,\"unit_id\":\"gram\"},\"percentage\":90},{\"id\":\"line_03_brown_sugar\",\"reference\":{\"ingredient_id\":\"brown_sugar\"},\"amount\":{\"quantity\":67,\"unit_id\":\"gram\"},\"percentage\":67},{\"id\":\"line_04_chocolate_chip\",\"reference\":{\"ingredient_id\":\"semisweet_chocolate\"},\"amount\":{\"quantity\":50,\"unit_id\":\"gram\"},\"percentage\":50,\"notes\":\"chips\"},{\"id\":\"line_05_shortening\",\"reference\":{\"ingredient_id\":\"shortening\"},\"amount\":{\"quantity\":42,\"unit_id\":\"gram\"},\"percentage\":42},{\"id\":\"line_06_egg_whole\",\"reference\":{\"ingredient_id\":\"egg_whole\"},\"amount\":{\"quantity\":25,\"unit_id\":\"gram\"},\"percentage\":25},{\"id\":\"line_07_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":20,\"unit_id\":\"gram\"},\"percentage\":20},{\"id\":\"line_08_buttermilk_powder\",\"reference\":{\"ingredient_id\":\"buttermilk_powder\"},\"amount\":{\"quantity\":5,\"unit_id\":\"gram\"},\"percentage\":5},{\"id\":\"line_09_baking_powder\",\"reference\":{\"ingredient_id\":\"baking_powder\"},\"amount\":{\"quantity\":1.4,\"unit_id\":\"gram\"},\"percentage\":1.4},{\"id\":\"line_10_baking_soda\",\"reference\":{\"ingredient_id\":\"baking_soda\"},\"amount\":{\"quantity\":1.4,\"unit_id\":\"gram\"},\"percentage\":1.4},{\"id\":\"line_11_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":0.6,\"unit_id\":\"gram\"},\"percentage\":0.6},{\"id\":\"line_12_ginger\",\"reference\":{\"ingredient_id\":\"ginger_ground\"},\"amount\":{\"quantity\":0.2,\"unit_id\":\"gram\"},\"percentage\":0.2},{\"id\":\"line_13_allspice\",\"reference\":{\"ingredient_id\":\"allspice\"},\"amount\":{\"quantity\":0.2,\"unit_id\":\"gram\"},\"percentage\":0.2},{\"id\":\"line_14_cinnamon\",\"reference\":{\"ingredient_id\":\"cinnamon\"},\"amount\":{\"quantity\":0.17,\"unit_id\":\"gram\"},\"percentage\":0.17},{\"id\":\"line_15_nutmeg\",\"reference\":{\"ingredient_id\":\"nutmeg\"},\"amount\":{\"quantity\":0.1,\"unit_id\":\"gram\"},\"percentage\":0.1}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine fat, sugar, salt, spices, milk powder.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Paddle mix until light.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Add eggs in 2 to 3 stages, cream well between stages.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Sift in dry ingredients.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Mix together liquid until combined.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Add 1/4 of the dry mixture and mix until just blended.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Add 1/3 of the liquid and mix until just blended.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Repeat the additions, scraping as needed.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_cake", + "position": 1, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_pumpkin_puree", + "position": 2, + "ingredient_id": "pumpkin_puree", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": 90, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_brown_sugar", + "position": 3, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 67, + "unit_id": "gram", + "percentage": 67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_chocolate_chip", + "position": 4, + "ingredient_id": "semisweet_chocolate", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": "chips", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_shortening", + "position": 5, + "ingredient_id": "shortening", + "subrecipe_id": null, + "quantity": 42, + "unit_id": "gram", + "percentage": 42, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whole", + "position": 6, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": 25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_water", + "position": 7, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 20, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_buttermilk_powder", + "position": 8, + "ingredient_id": "buttermilk_powder", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_baking_powder", + "position": 9, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 1.4, + "unit_id": "gram", + "percentage": 1.4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_baking_soda", + "position": 10, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 1.4, + "unit_id": "gram", + "percentage": 1.4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_salt", + "position": 11, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": 0.6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_ginger", + "position": 12, + "ingredient_id": "ginger_ground", + "subrecipe_id": null, + "quantity": 0.2, + "unit_id": "gram", + "percentage": 0.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_allspice", + "position": 13, + "ingredient_id": "allspice", + "subrecipe_id": null, + "quantity": 0.2, + "unit_id": "gram", + "percentage": 0.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_14_cinnamon", + "position": 14, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 0.17, + "unit_id": "gram", + "percentage": 0.17, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_15_nutmeg", + "position": 15, + "ingredient_id": "nutmeg", + "subrecipe_id": null, + "quantity": 0.1, + "unit_id": "gram", + "percentage": 0.1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine fat, sugar, salt, spices, milk powder.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Paddle mix until light.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Add eggs in 2 to 3 stages, cream well between stages.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Sift in dry ingredients.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Mix together liquid until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Add 1/4 of the dry mixture and mix until just blended.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Add 1/3 of the liquid and mix until just blended.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Repeat the additions, scraping as needed.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pumpkin_muffins", + "schema_version": 2, + "save_version": 6, + "title": "Pumpkin Muffins", + "summary": null, + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breakfast\",\"classic\"]", + "yield_quantity": 2180, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_pumpkin_puree", + "position": 1, + "ingredient_id": "pumpkin_puree", + "subrecipe_id": null, + "quantity": 618, + "unit_id": "gram", + "percentage": 181.76, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 681, + "unit_id": "gram", + "percentage": 200.29, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_whole", + "position": 3, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 29.41, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_canola_oil", + "position": 4, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 162, + "unit_id": "gram", + "percentage": 47.65, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_flour_all_purpose", + "position": 5, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 340, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 5.88, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_baking_soda", + "position": 7, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 2.94, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_cinnamon", + "position": 8, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 14, + "unit_id": "gram", + "percentage": 4.12, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_ginger", + "position": 9, + "ingredient_id": "ginger", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": 1.18, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_cloves", + "position": 10, + "ingredient_id": "cloves", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 0.59, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_golden_raisins", + "position": 11, + "ingredient_id": "golden_raisins", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 66.76, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the puree, sugar, and eggs.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Gradually add the oil.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the sifted dry ingredients and mix until streaky.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the raisins and mix until the batter is homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 350ºF (177ºC) until a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pumpkin_panna_cotta", + "schema_version": 2, + "save_version": 6, + "title": "Pumpkin Panna Cotta", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1800, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_milk_whole", + "position": 4, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_pumpkin_puree", + "position": 5, + "ingredient_id": "pumpkin_puree", + "subrecipe_id": null, + "quantity": 275, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_brown_sugar", + "position": 7, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_cinnamon", + "position": 8, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 9, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_ginger", + "position": 9, + "ingredient_id": "ginger", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_cloves", + "position": 10, + "ingredient_id": "cloves", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground (¼ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_salt", + "position": 11, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the puree with the spices until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Combine everything-except the gelatin-in a saucepan and bring to a boil, whisking periodically.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Off the heat, add the bloomed and drained gelatin to the mixture and gently whisk to minimize air bubbles.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Strain through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Stir over an ice bath until slightly thickened and pour into desired molds.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pumpkin_pie_filling", + "schema_version": 2, + "save_version": 6, + "title": "Pumpkin Pie Filling", + "summary": "Yield: two 10-inch pies", + "categories_json": "[\"tart_pie_fillings\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"tart_pie_fillings\",\"classic\"]", + "yield_quantity": 2150, + "yield_unit_id": "gram", + "yield_servings": 2, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: two 10-inch pies\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_egg_whole", + "position": 1, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_pumpkin_puree", + "position": 2, + "ingredient_id": "pumpkin_puree", + "subrecipe_id": null, + "quantity": 720, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_brown_sugar", + "position": 4, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 113, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_cinnamon", + "position": 6, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_ginger", + "position": 7, + "ingredient_id": "ginger", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_cloves", + "position": 8, + "ingredient_id": "cloves", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_nutmeg", + "position": 9, + "ingredient_id": "nutmeg", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground (¼ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_milk_whole", + "position": 10, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 415, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_heavy_cream", + "position": 11, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 415, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, lightly mix the eggs to blend. Add the puree and mix to combine.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the sugars and spices, followed by the milk and cream.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Bake at 300°F (149ºC) in blind baked pie shells until set.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "pumpkin_tuiles", + "schema_version": 2, + "save_version": 6, + "title": "Pumpkin Tuiles", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 550, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Sweet potato puree may be substituted for pumpkin puree.\",\"Spices may be added to the batter as desired.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_pumpkin_puree", + "position": 1, + "ingredient_id": "pumpkin_puree", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_confectioners_sugar", + "position": 2, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "sifted", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_light_corn_syrup", + "position": 3, + "ingredient_id": "light_corn_syrup", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Whisk all of the ingredients together until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Chill before use.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Using a template, spread thinly on a silicone baking mat.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Bake at 200°F (93°C).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Shape as desired and store in airtight containers.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "puppy_chow", + "schema_version": 2, + "save_version": 1, + "title": "Puppy Chow", + "summary": null, + "categories_json": "[\"dessert\"]", + "tags_json": "[\"snack\",\"chocolate\"]", + "yield_quantity": 562.25, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"puppy_chow\",\"title\":\"Puppy Chow\",\"categories\":[\"dessert\"],\"tags\":[\"snack\",\"chocolate\"],\"yield\":{\"amount\":{\"quantity\":562.25,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_rice_chex\",\"reference\":{\"ingredient_id\":\"rice_chex\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_confectioners_sugar\",\"reference\":{\"ingredient_id\":\"confectioners_sugar\"},\"amount\":{\"quantity\":200,\"unit_id\":\"gram\"},\"percentage\":200},{\"id\":\"line_03_semisweet_chocolate_chips\",\"reference\":{\"ingredient_id\":\"semisweet_chocolate\"},\"amount\":{\"quantity\":150,\"unit_id\":\"gram\"},\"percentage\":150,\"notes\":\"chips\"},{\"id\":\"line_04_peanut_butter\",\"reference\":{\"ingredient_id\":\"peanut_butter\"},\"amount\":{\"quantity\":85,\"unit_id\":\"gram\"},\"percentage\":85},{\"id\":\"line_05_oil\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":25,\"unit_id\":\"gram\"},\"percentage\":25},{\"id\":\"line_06_vanilla_extract\",\"reference\":{\"ingredient_id\":\"vanilla_extract\"},\"amount\":{\"quantity\":1.75,\"unit_id\":\"gram\"},\"percentage\":1.75},{\"id\":\"line_07_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":0.5,\"unit_id\":\"gram\"},\"percentage\":0.5}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Set aside rice chex.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Add peanut butter, chocolate, fat, salt to pan.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Heat until melted and smooth.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Pour melted mixture over cereal.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Mix / fold until coated evenly.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Add powdered sugar to plastic bag.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Add coated cereal to bag.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Mix in bag to coat.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_rice_chex", + "position": 1, + "ingredient_id": "rice_chex", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_confectioners_sugar", + "position": 2, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 200, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_semisweet_chocolate_chips", + "position": 3, + "ingredient_id": "semisweet_chocolate", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 150, + "basis_member": 0, + "optional": 0, + "notes": "chips", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_peanut_butter", + "position": 4, + "ingredient_id": "peanut_butter", + "subrecipe_id": null, + "quantity": 85, + "unit_id": "gram", + "percentage": 85, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_oil", + "position": 5, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": 25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_vanilla_extract", + "position": 6, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 1.75, + "unit_id": "gram", + "percentage": 1.75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.5, + "unit_id": "gram", + "percentage": 0.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Set aside rice chex.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Add peanut butter, chocolate, fat, salt to pan.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Heat until melted and smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Pour melted mixture over cereal.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Mix / fold until coated evenly.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Add powdered sugar to plastic bag.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Add coated cereal to bag.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Mix in bag to coat.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "quark_souffle", + "schema_version": 2, + "save_version": 6, + "title": "Quark Soufflé", + "summary": "Yield: fifteen 5.5 oz soufflé ramekins", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 1700, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: fifteen 5.5 oz soufflé ramekins\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_non_fat_quark_cheese", + "position": 1, + "ingredient_id": "non_fat_quark_cheese", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sour_cream", + "position": 2, + "ingredient_id": "sour_cream", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_lemon_zest", + "position": 3, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whites", + "position": 6, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_egg_white_powder", + "position": 8, + "ingredient_id": "egg_white_powder", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 T", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Whisk the cheese, sour cream, zest, egg yolks, and salt until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Make a medium peak French meringue with the egg whites, sugar, and egg white powder.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Gently fold the meringue into the cheese mixture.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Fill the soufflé ramekins that have been buttered and sugared.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 375°F (191°C) until risen, browned, and a little soft inside.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "German for \"fresh curd,\" quark is a fresh and slightly drained cows' milk cheese common in the cuisines of Germany and Northern Europe. This soufflé is versatile and truly delicious. Try pairing it with fruits of the season.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "quiche_custard", + "schema_version": 2, + "save_version": 3, + "title": "Quiche Custard", + "summary": null, + "categories_json": "[\"component\"]", + "tags_json": "[]", + "yield_quantity": 296.5, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\",\"For 12 standard muffin wells in a nonstick pan, use about 40 oz of custard batter and about 16 fl oz of vegetables or other fillings. Set the muffin pan in a half-size sheet pan to make a bain-marie, then pour boiling water into the sheet pan. Bake at 275°F for at least 45 minutes.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"quiche_custard\",\"title\":\"Quiche Custard\",\"categories\":[\"component\"],\"tags\":[\"filling\",\"egg\"],\"yield\":{\"amount\":{\"quantity\":296.5,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_heavy_cream\",\"reference\":{\"ingredient_id\":\"heavy_cream\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":90,\"unit_id\":\"gram\"},\"percentage\":90},{\"id\":\"line_03_egg_whole\",\"reference\":{\"ingredient_id\":\"egg_whole\"},\"amount\":{\"quantity\":68,\"unit_id\":\"gram\"},\"percentage\":68},{\"id\":\"line_04_egg_yolk\",\"reference\":{\"ingredient_id\":\"egg_yolk\"},\"amount\":{\"quantity\":25,\"unit_id\":\"gram\"},\"percentage\":25},{\"id\":\"line_05_milk_powder_whole\",\"reference\":{\"ingredient_id\":\"milk_powder_whole\"},\"amount\":{\"quantity\":10,\"unit_id\":\"gram\"},\"percentage\":10},{\"id\":\"line_06_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1.8,\"unit_id\":\"gram\"},\"percentage\":1.8},{\"id\":\"line_07_pepper\",\"reference\":{\"ingredient_id\":\"black_pepper_ground\"},\"amount\":{\"quantity\":0.6,\"unit_id\":\"gram\"},\"percentage\":0.6},{\"id\":\"line_08_nutmeg\",\"reference\":{\"ingredient_id\":\"nutmeg\"},\"amount\":{\"quantity\":0.6,\"unit_id\":\"gram\"},\"percentage\":0.6},{\"id\":\"line_09_xanthan_gum\",\"reference\":{\"ingredient_id\":\"xanthan_gum\"},\"amount\":{\"quantity\":0.5,\"unit_id\":\"gram\"},\"percentage\":0.5}]}],\"equipment_ids\":[\"blender\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Add all ingredients to blender.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Blend well combined.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Until ready to bake, 1 hr.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\",\"For 12 standard muffin wells in a nonstick pan, use about 40 oz of custard batter and about 16 fl oz of vegetables or other fillings. Set the muffin pan in a half-size sheet pan to make a bain-marie, then pour boiling water into the sheet pan. Bake at 275°F for at least 45 minutes.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "blender" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[\"test\"]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 33.72681281618886, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": 30.354131534569976, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_whole", + "position": 3, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 68, + "unit_id": "gram", + "percentage": 22.934232715008427, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": 8.431703204047215, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_milk_powder_whole", + "position": 5, + "ingredient_id": "milk_powder_whole", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 3.372681281618886, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.8, + "unit_id": "gram", + "percentage": 0.6070826306913996, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_pepper", + "position": 7, + "ingredient_id": "black_pepper_ground", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": 0.20236087689713317, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_nutmeg", + "position": 8, + "ingredient_id": "nutmeg", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": 0.20236087689713317, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_xanthan_gum", + "position": 9, + "ingredient_id": "xanthan_gum", + "subrecipe_id": null, + "quantity": 0.5, + "unit_id": "gram", + "percentage": 0.1686340640809443, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Add all ingredients to blender.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Blend well combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Until ready to bake, 1 hr.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "quiche_custard_tart_filling", + "schema_version": 2, + "save_version": 6, + "title": "Quiche Custard Tart Filling", + "summary": "Yield: four 9-inch tarts", + "categories_json": "[\"tart_pie_fillings\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"tart_pie_fillings\",\"classic\"]", + "yield_quantity": 1400, + "yield_unit_id": "gram", + "yield_servings": 4, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: four 9-inch tarts\",\"Adjust the seasonings according to the type of quiche you are making and your taste.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_milk_whole", + "position": 1, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_cr_me_fraiche", + "position": 3, + "ingredient_id": "cr_me_fraiche", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 8, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_black_pepper", + "position": 6, + "ingredient_id": "black_pepper", + "subrecipe_id": null, + "quantity": 3.75, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "freshly ground (¾ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_nutmeg", + "position": 7, + "ingredient_id": "nutmeg", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground (¼ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_cayenne_pepper", + "position": 8, + "ingredient_id": "cayenne_pepper", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Whisk the milk, cream, crème fraiche, eggs, and seasonings until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Strain the custard through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Bake at 250ºF (121ºC) in blind baked shells until set.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "quick_puff_pastry", + "schema_version": 2, + "save_version": 6, + "title": "Quick Puff Pastry", + "summary": null, + "categories_json": "[\"doughs\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"doughs\",\"classic\"]", + "yield_quantity": 1686, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Acids like vinegar help relax gluten, making the dough more pliable.\",\"Quick puff pastry is ideal for applications where a \\\"high rise\\\" is not a priority, and/or if time constraints are a concern.\",\"Puff pastry can be refrigerated for 3 days or frozen up to 2 months.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 750, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_butter", + "position": 2, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 20, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_water", + "position": 4, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 315, + "unit_id": "gram", + "percentage": 42, + "basis_member": 0, + "optional": 0, + "notes": "ice cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_white_vinegar", + "position": 5, + "ingredient_id": "white_vinegar", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.33, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_butter", + "position": 6, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": 60.53, + "basis_member": 0, + "optional": 0, + "notes": "½-inch cubes, frozen", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix the flour, butter, and salt until well combined.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Combine the water and vinegar. Add to the dry ingredients and mix to form a dough. Do not over mix, but be sure there are no dry spots of flour in the dough.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the cubed and frozen butter and mix just until combined. Pat the dough into a square, wrap in plastic wrap, and refrigerate for at least 1 hour.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Give the dough 4 book turns total, resting for 30 minutes in between every 2 turns.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "raisin_challah", + "schema_version": 2, + "save_version": 6, + "title": "Raisin Challah", + "summary": "Yield: three 675 g loaves", + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breakfast\",\"classic\"]", + "yield_quantity": 2045, + "yield_unit_id": "gram", + "yield_servings": 3, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: three 675 g loaves\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 40, + "basis_member": 0, + "optional": 0, + "notes": "room temperature", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_yeast_fresh", + "position": 2, + "ingredient_id": "yeast_fresh", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_flour_all_purpose", + "position": 3, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 10, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_honey", + "position": 5, + "ingredient_id": "honey", + "subrecipe_id": null, + "quantity": 70, + "unit_id": "gram", + "percentage": 7, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": 3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": 3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_olive_oil", + "position": 8, + "ingredient_id": "olive_oil", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_butter", + "position": 9, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 35, + "unit_id": "gram", + "percentage": 3.5, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_raisins", + "position": 10, + "ingredient_id": "raisins", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 30, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix all of the ingredients-except the raisins-on low speed for 2 minutes to hydrate.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Switch to a hook attachment and mix on medium speed until gluten is developed (5-7 minutes).", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the raisins and mix as briefly as possible until evenly distributed (30-45 seconds).", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Place the dough in an oiled bowl and bulk proof for 60 minutes.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Turn/fold/flip over and continue to bulk proof for another 60 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Divide into 675 gram pieces. Shape into balls, then divide each ball into 168 gram pieces.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Pre-shape the pieces into ropes of equal length, about 8 to 10-inches.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Shape the loaves by braiding the 4 ropes together.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Brush lightly with egg wash, proof, and egg wash a second time.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Bake at 350°F (177°C) until the internal temperature reaches 185°F (85°C).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "raising_canes_sauce", + "schema_version": 2, + "save_version": 1, + "title": "Raising Cane's Sauce", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"copycat\",\"raising-canes\"]", + "yield_quantity": 183.93, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"raising_canes_sauce\",\"title\":\"Raising Cane's Sauce\",\"categories\":[\"sauce\"],\"tags\":[\"copycat\",\"raising-canes\"],\"yield\":{\"amount\":{\"quantity\":183.93,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_mayonnaise\",\"reference\":{\"ingredient_id\":\"mayonnaise\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_ketchup\",\"reference\":{\"ingredient_id\":\"ketchup\"},\"amount\":{\"quantity\":70.67,\"unit_id\":\"gram\"},\"percentage\":70.67},{\"id\":\"line_03_worschestershire_sauce\",\"reference\":{\"ingredient_id\":\"worschestershire_sauce\"},\"amount\":{\"quantity\":10.67,\"unit_id\":\"gram\"},\"percentage\":10.67},{\"id\":\"line_04_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1.47,\"unit_id\":\"gram\"},\"percentage\":1.47},{\"id\":\"line_05_black_pepper_ground\",\"reference\":{\"ingredient_id\":\"black_pepper_ground\"},\"amount\":{\"quantity\":0.83,\"unit_id\":\"gram\"},\"percentage\":0.83},{\"id\":\"line_06_garlic_powder\",\"reference\":{\"ingredient_id\":\"garlic_powder\"},\"amount\":{\"quantity\":0.26,\"unit_id\":\"gram\"},\"percentage\":0.26},{\"id\":\"line_07_citric_acid\",\"reference\":{\"ingredient_id\":\"citric_acid\"},\"amount\":{\"quantity\":0.03,\"unit_id\":\"gram\"},\"percentage\":0.03}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine all.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_mayonnaise", + "position": 1, + "ingredient_id": "mayonnaise", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_ketchup", + "position": 2, + "ingredient_id": "ketchup", + "subrecipe_id": null, + "quantity": 70.67, + "unit_id": "gram", + "percentage": 70.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_worschestershire_sauce", + "position": 3, + "ingredient_id": "worschestershire_sauce", + "subrecipe_id": null, + "quantity": 10.67, + "unit_id": "gram", + "percentage": 10.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.47, + "unit_id": "gram", + "percentage": 1.47, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_black_pepper_ground", + "position": 5, + "ingredient_id": "black_pepper_ground", + "subrecipe_id": null, + "quantity": 0.83, + "unit_id": "gram", + "percentage": 0.83, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_garlic_powder", + "position": 6, + "ingredient_id": "garlic_powder", + "subrecipe_id": null, + "quantity": 0.26, + "unit_id": "gram", + "percentage": 0.26, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_citric_acid", + "position": 7, + "ingredient_id": "citric_acid", + "subrecipe_id": null, + "quantity": 0.03, + "unit_id": "gram", + "percentage": 0.03, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine all.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "ranch_dressing", + "schema_version": 2, + "save_version": 1, + "title": "Ranch Dressing", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"dressing\",\"ranch\"]", + "yield_quantity": 228.6, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"ranch_dressing\",\"title\":\"Ranch Dressing\",\"categories\":[\"sauce\"],\"tags\":[\"dressing\",\"ranch\"],\"yield\":{\"amount\":{\"quantity\":228.6,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_mayonnaise\",\"reference\":{\"ingredient_id\":\"mayonnaise\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_milk\",\"reference\":{\"ingredient_id\":\"milk\"},\"amount\":{\"quantity\":115,\"unit_id\":\"gram\"},\"percentage\":115},{\"id\":\"line_03_ranch_powder\",\"reference\":{\"ingredient_id\":\"hidden_valley_ranch_dry_seasoning\"},\"amount\":{\"quantity\":13.6,\"unit_id\":\"gram\"},\"percentage\":13.6}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Mix\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_mayonnaise", + "position": 1, + "ingredient_id": "mayonnaise", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_milk", + "position": 2, + "ingredient_id": "milk", + "subrecipe_id": null, + "quantity": 115, + "unit_id": "gram", + "percentage": 115, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_ranch_powder", + "position": 3, + "ingredient_id": "hidden_valley_ranch_dry_seasoning", + "subrecipe_id": null, + "quantity": 13.6, + "unit_id": "gram", + "percentage": 13.6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Mix", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "raspberry_fig_sangria_granite", + "schema_version": 2, + "save_version": 6, + "title": "Raspberry & Fig Sangria Granité", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1700, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_red_wine", + "position": 1, + "ingredient_id": "red_wine", + "subrecipe_id": null, + "quantity": 187, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_ruby_port", + "position": 2, + "ingredient_id": "ruby_port", + "subrecipe_id": null, + "quantity": 187, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_water", + "position": 3, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_raspberry_puree", + "position": 4, + "ingredient_id": "raspberry_puree", + "subrecipe_id": null, + "quantity": 255, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_fresh_figs", + "position": 5, + "ingredient_id": "fresh_figs", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "sliced", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_lemon_juice", + "position": 7, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_gelatin_sheet", + "position": 8, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_water", + "position": 9, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_orange_juice", + "position": 10, + "ingredient_id": "orange_juice", + "subrecipe_id": null, + "quantity": 375, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, heat the wines until warm, 105°F (40°C); ignite with a flame and let the alcohol burn off.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "thermometer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the water, puree, figs, sugar, and lemon juice.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Simmer for 15-20 minutes, or until the figs are broken down and very soft; set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Stir the bloomed gelatin into the raspberry/fig mixture to dissolve.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Cool over an ice bath and add the orange juice. Strain.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Measure and adjust the °Brix between 15°-20° depending on your taste.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Pour into a shallow pan and begin to freeze, stirring every 15 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "raspberry_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Raspberry Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 2040, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_raspberry_puree", + "position": 4, + "ingredient_id": "raspberry_puree", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "10% sugar", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lemon_juice", + "position": 5, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_raspberry_liqueur", + "position": 6, + "ingredient_id": "raspberry_liqueur", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_whites", + "position": 7, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_sugar", + "position": 8, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Warm ⅓ of the puree and melt the bloomed and drained gelatin into it. Whisk that warm mixture back into the rest of the puree and add the juice and liqueur. Cool to about 65°F (18°C), or until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make an Italian meringue with the sugar and egg whites; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold ½ of the puree into the meringue. Fold the other ½ into the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the two mixtures together.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "raspberry_sauce", + "schema_version": 2, + "save_version": 6, + "title": "Raspberry Sauce", + "summary": null, + "categories_json": "[\"sauces_liquids\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sauces_liquids\",\"classic\"]", + "yield_quantity": 1000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"This base recipe can be used for other fruit purees with a similar sugar density. Simply adjust the sugar and acidity to taste.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_raspberry_puree", + "position": 1, + "ingredient_id": "raspberry_puree", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_confectioners_sugar", + "position": 2, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_lemon_or_lime_juice", + "position": 3, + "ingredient_id": "lemon_or_lime_juice", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, whisk the puree and sugar together and bring to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Lower to a simmer and reduce until thickened to desired consistency, stirring periodically.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Cool the sauce down immediately over an ice bath.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir in the lemon or lime juice to taste.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "raspberry_sorbet", + "schema_version": 2, + "save_version": 6, + "title": "Raspberry Sorbet", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"For variation, try substituting raspberry vinegar for the lemon juice.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 530, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_dextrose", + "position": 2, + "ingredient_id": "dextrose", + "subrecipe_id": null, + "quantity": 225, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 140, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sorbet_stabilizer", + "position": 4, + "ingredient_id": "sorbet_stabilizer", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1¼ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_raspberry_puree", + "position": 5, + "ingredient_id": "raspberry_puree", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_lemon_juice", + "position": 6, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 35, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Place the water in a saucepan large enough to accommodate the entire recipe. With an immersion blender, blend in the dextrose to dissolve.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Combine the sugar with the stabilizer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Heat the mixture until warm, 105°F (40°C); whisk in the sugar that has been blended with the stabilizer.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir with a whisk and heat to 185°F (85°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Chill immediately. Once cool, whisk in the puree and juice and allow to mature for 6 to 12 hours.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Blend with an immersion blender before spinning.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "ravioli_filling", + "schema_version": 2, + "save_version": 1, + "title": "Ravioli Filling", + "summary": null, + "categories_json": "[\"meat\"]", + "tags_json": "[\"ravioli\",\"filling\",\"beef\",\"Italian sausage\"]", + "yield_quantity": 376.55, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"ravioli_filling\",\"title\":\"Ravioli Filling\",\"categories\":[\"meat\"],\"tags\":[\"ravioli\",\"filling\",\"beef\",\"Italian sausage\"],\"yield\":{\"amount\":{\"quantity\":376.55,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_ground_beef_73_27_raw\",\"reference\":{\"ingredient_id\":\"ground_beef_73_27_raw\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_italian_sausage\",\"reference\":{\"ingredient_id\":\"italian_sausage\"},\"amount\":{\"quantity\":50,\"unit_id\":\"gram\"},\"percentage\":50},{\"id\":\"line_03_egg_whole\",\"reference\":{\"ingredient_id\":\"egg_whole\"},\"amount\":{\"quantity\":22,\"unit_id\":\"gram\"},\"percentage\":22},{\"id\":\"line_04_mozzarella_cheese\",\"reference\":{\"ingredient_id\":\"mozzarella_cheese\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100},{\"id\":\"line_05_provolone_cheese\",\"reference\":{\"ingredient_id\":\"provolone_cheese\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100},{\"id\":\"line_06_garlic_dehydrated_minced\",\"reference\":{\"ingredient_id\":\"garlic_dehydrated_minced\"},\"amount\":{\"quantity\":1.1,\"unit_id\":\"gram\"},\"percentage\":1.1},{\"id\":\"line_07_parsley\",\"reference\":{\"ingredient_id\":\"parsley\"},\"amount\":{\"quantity\":0.72,\"unit_id\":\"gram\"},\"percentage\":0.72},{\"id\":\"line_08_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1.5,\"unit_id\":\"gram\"},\"percentage\":1.5},{\"id\":\"line_09_black_pepper_ground\",\"reference\":{\"ingredient_id\":\"black_pepper_ground\"},\"amount\":{\"quantity\":0.66,\"unit_id\":\"gram\"},\"percentage\":0.66},{\"id\":\"line_10_nutmeg\",\"reference\":{\"ingredient_id\":\"nutmeg\"},\"amount\":{\"quantity\":0.57,\"unit_id\":\"gram\"},\"percentage\":0.57}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Brown the beef and sausage; drain.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Process the meat and cheese for 30–60 seconds.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Add the egg and seasonings; pulse until finely mixed.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_ground_beef_73_27_raw", + "position": 1, + "ingredient_id": "ground_beef_73_27_raw", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_italian_sausage", + "position": 2, + "ingredient_id": "italian_sausage", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_whole", + "position": 3, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 22, + "unit_id": "gram", + "percentage": 22, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_mozzarella_cheese", + "position": 4, + "ingredient_id": "mozzarella_cheese", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_provolone_cheese", + "position": 5, + "ingredient_id": "provolone_cheese", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_garlic_dehydrated_minced", + "position": 6, + "ingredient_id": "garlic_dehydrated_minced", + "subrecipe_id": null, + "quantity": 1.1, + "unit_id": "gram", + "percentage": 1.1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_parsley", + "position": 7, + "ingredient_id": "parsley", + "subrecipe_id": null, + "quantity": 0.72, + "unit_id": "gram", + "percentage": 0.72, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.5, + "unit_id": "gram", + "percentage": 1.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_black_pepper_ground", + "position": 9, + "ingredient_id": "black_pepper_ground", + "subrecipe_id": null, + "quantity": 0.66, + "unit_id": "gram", + "percentage": 0.66, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_nutmeg", + "position": 10, + "ingredient_id": "nutmeg", + "subrecipe_id": null, + "quantity": 0.57, + "unit_id": "gram", + "percentage": 0.57, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Brown the beef and sausage; drain.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Process the meat and cheese for 30–60 seconds.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Add the egg and seasonings; pulse until finely mixed.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "red_velvet_cake", + "schema_version": 2, + "save_version": 6, + "title": "Red Velvet Cake", + "summary": "Yield: one 9-inch cake pan", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 1160, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one 9-inch cake pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 130, + "unit_id": "gram", + "percentage": 42.62, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 305, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_whole", + "position": 3, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 32.79, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_buttermilk", + "position": 4, + "ingredient_id": "buttermilk", + "subrecipe_id": null, + "quantity": 270, + "unit_id": "gram", + "percentage": 88.52, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vanilla_extract", + "position": 5, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 1.97, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_white_vinegar", + "position": 6, + "ingredient_id": "white_vinegar", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 1.97, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_red_gel_food_coloring", + "position": 7, + "ingredient_id": "red_gel_food_coloring", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 1.97, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_flour_all_purpose", + "position": 8, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 225, + "unit_id": "gram", + "percentage": 73.77, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_flour_cake", + "position": 9, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": 26.23, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_cocoa_powder", + "position": 10, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 17, + "unit_id": "gram", + "percentage": 5.57, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_salt", + "position": 11, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 1.97, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_baking_soda", + "position": 12, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 1.97, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_baking_powder", + "position": 13, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 0.98, + "basis_member": 0, + "optional": 0, + "notes": "½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter and sugar.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the eggs one at a time, beating well in between additions, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk the wet ingredients until homogenous.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Alternately add the sifted dry and wet ingredients in 3 additions and mix just until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 325ºF (163ºC) until a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "red_wine_reduction", + "schema_version": 2, + "save_version": 6, + "title": "Red Wine Reduction", + "summary": null, + "categories_json": "[\"sauces_liquids\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sauces_liquids\",\"classic\"]", + "yield_quantity": 750, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_red_wine", + "position": 1, + "ingredient_id": "red_wine", + "subrecipe_id": null, + "quantity": 1500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_ruby_port", + "position": 2, + "ingredient_id": "ruby_port", + "subrecipe_id": null, + "quantity": 750, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_whole_cloves", + "position": 4, + "ingredient_id": "whole_cloves", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_cinnamon_sticks", + "position": 5, + "ingredient_id": "cinnamon_sticks", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_orange_zest", + "position": 6, + "ingredient_id": "orange_zest", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_bay_leaf", + "position": 7, + "ingredient_id": "bay_leaf", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring all of the ingredients to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Lower to a simmer and reduce slowly by ⅔, or until desired consistency is reached.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Strain through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Chill over an ice bath.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "redcurrant_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Redcurrant Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 1452, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 17, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 85, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_redcurrant_puree", + "position": 4, + "ingredient_id": "redcurrant_puree", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "10% sugar", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_yolk", + "position": 5, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Warm ⅓ of the puree and melt the bloomed and drained gelatin into it. Whisk that warm mixture back into the rest of the puree. Cool to about 65°F (18°C), or until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make a pâte à bombe with the sugar and egg yolks; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold ½ of the puree into the pâte à bombe. Fold the other ½ into the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the two mixtures together.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "reeces_peanut_butter_cup_filling", + "schema_version": 2, + "save_version": 1, + "title": "Reese's Peanut Butter Cup Filling", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"filling\",\"copycat\",\"reeses\"]", + "yield_quantity": 137.7, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"reeces_peanut_butter_cup_filling\",\"title\":\"Reese's Peanut Butter Cup Filling\",\"categories\":[\"sauce\"],\"tags\":[\"filling\",\"copycat\",\"reeses\"],\"yield\":{\"amount\":{\"quantity\":137.7,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_peanut_butter\",\"reference\":{\"ingredient_id\":\"peanut_butter\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":37.6,\"unit_id\":\"gram\"},\"percentage\":37.6},{\"id\":\"line_03_vanilla_extract\",\"reference\":{\"ingredient_id\":\"vanilla_extract\"},\"amount\":{\"quantity\":0.1,\"unit_id\":\"gram\"},\"percentage\":0.1}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_peanut_butter", + "position": 1, + "ingredient_id": "peanut_butter", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 37.6, + "unit_id": "gram", + "percentage": 37.6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_vanilla_extract", + "position": 3, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 0.1, + "unit_id": "gram", + "percentage": 0.1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "refried_beans", + "schema_version": 2, + "save_version": 1, + "title": "Refried Beans", + "summary": null, + "categories_json": "[\"side\"]", + "tags_json": "[\"beans\"]", + "yield_quantity": 169, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"refried_beans\",\"title\":\"Refried Beans\",\"categories\":[\"side\"],\"tags\":[\"beans\"],\"yield\":{\"amount\":{\"quantity\":169,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_cooked_pinto_beans_drained\",\"reference\":{\"ingredient_id\":\"cooked_pinto_beans_drained\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":60,\"unit_id\":\"gram\"},\"percentage\":60},{\"id\":\"line_03_lard\",\"reference\":{\"ingredient_id\":\"lard\"},\"amount\":{\"quantity\":6.5,\"unit_id\":\"gram\"},\"percentage\":6.5},{\"id\":\"line_04_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1.5,\"unit_id\":\"gram\"},\"percentage\":1.5},{\"id\":\"line_05_lime_juice\",\"reference\":{\"ingredient_id\":\"lime_juice\"},\"amount\":{\"quantity\":0.8,\"unit_id\":\"gram\"},\"percentage\":0.8},{\"id\":\"line_06_cumin\",\"reference\":{\"ingredient_id\":\"cumin\"},\"amount\":{\"quantity\":0.1,\"unit_id\":\"gram\"},\"percentage\":0.1},{\"id\":\"line_07_oregano\",\"reference\":{\"ingredient_id\":\"oregano\"},\"amount\":{\"quantity\":0.1,\"unit_id\":\"gram\"},\"percentage\":0.1}]}],\"equipment_ids\":[\"blender\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Cook beans.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Combine all in blender.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Blend until very smooth.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "blender" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_cooked_pinto_beans_drained", + "position": 1, + "ingredient_id": "cooked_pinto_beans_drained", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 60, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_lard", + "position": 3, + "ingredient_id": "lard", + "subrecipe_id": null, + "quantity": 6.5, + "unit_id": "gram", + "percentage": 6.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.5, + "unit_id": "gram", + "percentage": 1.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lime_juice", + "position": 5, + "ingredient_id": "lime_juice", + "subrecipe_id": null, + "quantity": 0.8, + "unit_id": "gram", + "percentage": 0.8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_cumin", + "position": 6, + "ingredient_id": "cumin", + "subrecipe_id": null, + "quantity": 0.1, + "unit_id": "gram", + "percentage": 0.1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_oregano", + "position": 7, + "ingredient_id": "oregano", + "subrecipe_id": null, + "quantity": 0.1, + "unit_id": "gram", + "percentage": 0.1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Cook beans.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Combine all in blender.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Blend until very smooth.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "rhubarb_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Rhubarb Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 2170, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_rhubarb_puree", + "position": 4, + "ingredient_id": "rhubarb_puree", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "10% sugar", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lime_juice", + "position": 5, + "ingredient_id": "lime_juice", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_grenadine", + "position": 6, + "ingredient_id": "grenadine", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_whites", + "position": 7, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_sugar", + "position": 8, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Warm ⅓ of the puree and melt the bloomed and drained gelatin into it. Whisk that warm mixture back into the rest of the puree and add the juice and grenadine. Cool to about 65°F (18°C), or until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make an Italian meringue with the sugar and egg whites; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold ½ of the puree into the meringue. Fold the other ½ into the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the two mixtures together.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "rhubarb_pie_filling", + "schema_version": 2, + "save_version": 6, + "title": "Rhubarb Pie Filling", + "summary": "Yield: one 9-inch pie", + "categories_json": "[\"tart_pie_fillings\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"tart_pie_fillings\",\"classic\"]", + "yield_quantity": 840, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one 9-inch pie\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_rhubarb", + "position": 1, + "ingredient_id": "rhubarb", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½-inch dice", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 210, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_orange_zest", + "position": 3, + "ingredient_id": "orange_zest", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "finely chopped (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_vanilla_bean", + "position": 4, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "seeds (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_instant_tapioca", + "position": 6, + "ingredient_id": "instant_tapioca", + "subrecipe_id": null, + "quantity": 29, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a bowl, mix the diced rhubarb, sugar, zest, vanilla, salt, and tapioca. Allow the rhubarb to macerate at room temperature for 30 minutes.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Fill a 9-inch pie crust with the rhubarb pie filling.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Cover with the top crust and seal the edges. Cut several slits in the top crust.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Lightly cover the pie with plastic wrap and refrigerate for 30-60 minutes before baking.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 375°F (191°C) until golden brown.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "richs_classic_white_icing", + "schema_version": 2, + "save_version": 1, + "title": "Rich's Classic White Icing", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"icing\",\"copycat\",\"richs\"]", + "yield_quantity": 100.095, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"richs_classic_white_icing\",\"title\":\"Rich's Classic White Icing\",\"categories\":[\"sauce\"],\"tags\":[\"icing\",\"copycat\",\"richs\"],\"yield\":{\"amount\":{\"quantity\":100.095,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":80,\"unit_id\":\"gram\"},\"percentage\":80,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":15,\"unit_id\":\"gram\"},\"percentage\":15},{\"id\":\"line_03_corn_syrup\",\"reference\":{\"ingredient_id\":\"corn_syrup_light\"},\"amount\":{\"quantity\":5,\"unit_id\":\"gram\"},\"percentage\":5},{\"id\":\"line_04_agar\",\"reference\":{\"ingredient_id\":\"agar\"},\"amount\":{\"quantity\":0.065,\"unit_id\":\"gram\"},\"percentage\":0.065},{\"id\":\"line_05_citric_acid\",\"reference\":{\"ingredient_id\":\"citric_acid\"},\"amount\":{\"quantity\":0.03,\"unit_id\":\"gram\"},\"percentage\":0.03}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"TODO: Add complete preparation instructions for this recipe.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sugar", + "position": 1, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": 80, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 15, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_corn_syrup", + "position": 3, + "ingredient_id": "corn_syrup_light", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_agar", + "position": 4, + "ingredient_id": "agar", + "subrecipe_id": null, + "quantity": 0.065, + "unit_id": "gram", + "percentage": 0.065, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_citric_acid", + "position": 5, + "ingredient_id": "citric_acid", + "subrecipe_id": null, + "quantity": 0.03, + "unit_id": "gram", + "percentage": 0.03, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "TODO: Add complete preparation instructions for this recipe.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "richs_maple_icing", + "schema_version": 2, + "save_version": 1, + "title": "Rich's Maple Icing", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"icing\",\"copycat\",\"richs\"]", + "yield_quantity": 98.1835, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"richs_maple_icing\",\"title\":\"Rich's Maple Icing\",\"categories\":[\"sauce\"],\"tags\":[\"icing\",\"copycat\",\"richs\"],\"yield\":{\"amount\":{\"quantity\":98.1835,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_confectioners_sugar\",\"reference\":{\"ingredient_id\":\"confectioners_sugar\"},\"amount\":{\"quantity\":68,\"unit_id\":\"gram\"},\"percentage\":68,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":11.5,\"unit_id\":\"gram\"},\"percentage\":11.5},{\"id\":\"line_03_corn_syrup\",\"reference\":{\"ingredient_id\":\"corn_syrup_light\"},\"amount\":{\"quantity\":10,\"unit_id\":\"gram\"},\"percentage\":10},{\"id\":\"line_04_shortening\",\"reference\":{\"ingredient_id\":\"shortening\"},\"amount\":{\"quantity\":7.5,\"unit_id\":\"gram\"},\"percentage\":7.5},{\"id\":\"line_05_maple_extract\",\"reference\":{\"ingredient_id\":\"maple_extract\"},\"amount\":{\"quantity\":0.6,\"unit_id\":\"gram\"},\"percentage\":0.6},{\"id\":\"line_06_lecithin\",\"reference\":{\"ingredient_id\":\"lecithin\"},\"amount\":{\"quantity\":0.33,\"unit_id\":\"gram\"},\"percentage\":0.33},{\"id\":\"line_07_vanilla_extract\",\"reference\":{\"ingredient_id\":\"vanilla_extract\"},\"amount\":{\"quantity\":0.2,\"unit_id\":\"gram\"},\"percentage\":0.2},{\"id\":\"line_08_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":0.0535,\"unit_id\":\"gram\"},\"percentage\":0.0535}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"TODO: Add complete preparation instructions for this recipe.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_confectioners_sugar", + "position": 1, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 68, + "unit_id": "gram", + "percentage": 68, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 11.5, + "unit_id": "gram", + "percentage": 11.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_corn_syrup", + "position": 3, + "ingredient_id": "corn_syrup_light", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 10, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_shortening", + "position": 4, + "ingredient_id": "shortening", + "subrecipe_id": null, + "quantity": 7.5, + "unit_id": "gram", + "percentage": 7.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_maple_extract", + "position": 5, + "ingredient_id": "maple_extract", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": 0.6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_lecithin", + "position": 6, + "ingredient_id": "lecithin", + "subrecipe_id": null, + "quantity": 0.33, + "unit_id": "gram", + "percentage": 0.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_vanilla_extract", + "position": 7, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 0.2, + "unit_id": "gram", + "percentage": 0.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.0535, + "unit_id": "gram", + "percentage": 0.0535, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "TODO: Add complete preparation instructions for this recipe.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "roasted_sweet_potato_carrot", + "schema_version": 2, + "save_version": 1, + "title": "Roasted Sweet Potato and Carrot", + "summary": null, + "categories_json": "[\"side\"]", + "tags_json": "[\"sweet-potato\"]", + "yield_quantity": 110.7, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"roasted_sweet_potato_carrot\",\"title\":\"Roasted Sweet Potato and Carrot\",\"categories\":[\"side\"],\"tags\":[\"sweet-potato\"],\"yield\":{\"amount\":{\"quantity\":110.7,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_carrot\",\"reference\":{\"ingredient_id\":\"carrot\"},\"amount\":{\"quantity\":50,\"unit_id\":\"gram\"},\"percentage\":50,\"basis_member\":true},{\"id\":\"line_01_sweet_potato\",\"reference\":{\"ingredient_id\":\"sweet_potato_cooked\"},\"amount\":{\"quantity\":50,\"unit_id\":\"gram\"},\"percentage\":50,\"basis_member\":true},{\"id\":\"line_02_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":5,\"unit_id\":\"gram\"},\"percentage\":5},{\"id\":\"line_03_olive_oil\",\"reference\":{\"ingredient_id\":\"olive_oil\"},\"amount\":{\"quantity\":3,\"unit_id\":\"gram\"},\"percentage\":3},{\"id\":\"line_04_vinegar_balsamic\",\"reference\":{\"ingredient_id\":\"vinegar_balsamic\"},\"amount\":{\"quantity\":2.5,\"unit_id\":\"gram\"},\"percentage\":2.5},{\"id\":\"line_05_black_pepper_ground\",\"reference\":{\"ingredient_id\":\"black_pepper_ground\"},\"amount\":{\"quantity\":0.2,\"unit_id\":\"gram\"},\"percentage\":0.2}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Peel, chop vegetables into 1cm^3 volume.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Soak in 5% salt solution, 4 hr.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Drain, dry.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Coat in mixture.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Roast at 400 °F for 1 hr+, stir occasionally.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_carrot", + "position": 1, + "ingredient_id": "carrot", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 50, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_01_sweet_potato", + "position": 2, + "ingredient_id": "sweet_potato_cooked", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 50, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_olive_oil", + "position": 4, + "ingredient_id": "olive_oil", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_vinegar_balsamic", + "position": 5, + "ingredient_id": "vinegar_balsamic", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 2.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_black_pepper_ground", + "position": 6, + "ingredient_id": "black_pepper_ground", + "subrecipe_id": null, + "quantity": 0.2, + "unit_id": "gram", + "percentage": 0.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Peel, chop vegetables into 1cm^3 volume.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Soak in 5% salt solution, 4 hr.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Drain, dry.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Coat in mixture.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Roast at 400 °F for 1 hr+, stir occasionally.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "roquefort_walnut_crackers", + "schema_version": 2, + "save_version": 6, + "title": "Roquefort-Walnut Crackers", + "summary": "Yield: approximately 25 dozen crackers", + "categories_json": "[\"breads\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breads\",\"classic\"]", + "yield_quantity": 2400, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: approximately 25 dozen crackers\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 720, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_salt", + "position": 2, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 2.08, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 2.08, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_baking_powder", + "position": 4, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 12, + "unit_id": "gram", + "percentage": 1.67, + "basis_member": 0, + "optional": 0, + "notes": "1 T", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_black_pepper", + "position": 5, + "ingredient_id": "black_pepper", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 0.97, + "basis_member": 0, + "optional": 0, + "notes": "1 T", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_herbs_de_provence", + "position": 6, + "ingredient_id": "herbs_de_provence", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 0.69, + "basis_member": 0, + "optional": 0, + "notes": "1 tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_roquefort_cheese", + "position": 7, + "ingredient_id": "roquefort_cheese", + "subrecipe_id": null, + "quantity": 908, + "unit_id": "gram", + "percentage": 126.11, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_butter", + "position": 8, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": 63.06, + "basis_member": 0, + "optional": 0, + "notes": "½-inch cubes, cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_water", + "position": 9, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 43, + "unit_id": "gram", + "percentage": 5.97, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_walnut", + "position": 10, + "ingredient_id": "walnut", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 31.53, + "basis_member": 0, + "optional": 0, + "notes": "chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixing bowl, whisk the dry ingredients together to blend.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "mixing_bowl", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a paddle attachment, mix the dry ingredients, cheese and butter until the butter is ¼-inch or \"pea sized.\"", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add ½ of the water to the dry ingredients and mix for 10-20 seconds on low speed to hydrate.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the remaining water and walnuts; mix until the dough just comes together. Do not over mix.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Wrap the dough in plastic wrap and chill for a minimum of 1 hour, or overnight.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Roll the dough to ⅛-inch thick and cut with a fluted wheel cutter ¾-inch wide x 3-inches long. Chill the crackers before baking.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Bake at 325°F (163°C) until puffed and browned on the edges (about 15-20 minutes).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Store in airtight containers for up to 3 days.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "rose_petal_ice_cream", + "schema_version": 2, + "save_version": 6, + "title": "Rose Petal Ice Cream", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"For a cold infusion, double the weight of rose buds called for in the recipe and infuse for 5 days in the refrigerator.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 725, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_organic_dried_rosebuds_petals", + "position": 2, + "ingredient_id": "organic_dried_rosebuds_petals", + "subrecipe_id": null, + "quantity": 35, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 255, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_milk_powder", + "position": 4, + "ingredient_id": "milk_powder", + "subrecipe_id": null, + "quantity": 135, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_dextrose", + "position": 5, + "ingredient_id": "dextrose", + "subrecipe_id": null, + "quantity": 225, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_powdered_glucose", + "position": 6, + "ingredient_id": "powdered_glucose", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 110, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_ice_cream_stabilizer", + "position": 8, + "ingredient_id": "ice_cream_stabilizer", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1¼ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bring the water to a boil; pour it over the rosebuds and cover. Set aside to infuse for 12 hours, then strain through a fine-mesh strainer pressing on the rose buds to extract all of the liquid. Rescale the liquid to the original weight with more water as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan large enough to accommodate the entire recipe, combine the rose infusion and cream. With an immersion blender, blend in the milk powder, dextrose, and glucose to dissolve.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Heat until warm, 105°F (40°C); whisk in the sugar that has been blended with the stabilizer.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir with a whisk and heat to 185°F (85°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Chill immediately and allow to mature for 6 to 12 hours.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Blend with an immersion blender before spinning.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "rosemary_cornmeal_sable_cookies", + "schema_version": 2, + "save_version": 6, + "title": "Rosemary-Cornmeal Sablé Cookies", + "summary": "Yield: fifty 2-inch cookies", + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1125, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: fifty 2-inch cookies\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 340, + "unit_id": "gram", + "percentage": 149.78, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_lemon_zest", + "position": 3, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": 0.44, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_fresh_rosemary", + "position": 4, + "ingredient_id": "fresh_rosemary", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": 1.76, + "basis_member": 0, + "optional": 0, + "notes": "finely chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_yolk", + "position": 5, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 26.43, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_honey", + "position": 6, + "ingredient_id": "honey", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": 13.22, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_vanilla_extract", + "position": 7, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 2.2, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_flour_bread", + "position": 8, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_cornmeal", + "position": 9, + "ingredient_id": "cornmeal", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_salt", + "position": 10, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 2.2, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter, sugar, zest, and rosemary.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the egg yolks one at a time, followed by the honey and extract, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the dry ingredients and mix just until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Refrigerate the dough until firm.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Roll to ¼-inch thick, cut into desired size and place on parchment-lined sheet pans.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Brush the cookies with egg wash and sprinkle with granulated sugar before baking.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Bake at 350°F (177°C) until light golden brown.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "roulade_sheet_cake", + "schema_version": 2, + "save_version": 6, + "title": "Roulade Sheet Cake", + "summary": "Yield: one full sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 1060, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one full sheet pan\",\"This is a great recipe for making bûche de Noël.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_egg_whites", + "position": 1, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": 96, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 225, + "unit_id": "gram", + "percentage": 90, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_cream_of_tartar", + "position": 3, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 1.2, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 80, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_invert_sugar", + "position": 5, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": 10, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_flour_cake", + "position": 6, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_butter", + "position": 8, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": 48, + "basis_member": 0, + "optional": 0, + "notes": "melted", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_vanilla_extract", + "position": 9, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Make a stiff peak French meringue with the egg whites, granulated sugar, and cream of tartar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the egg yolks and invert sugar until light and thick. Fold into the meringue until streaky.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Fold the sifted dry ingredients into the meringue mixture.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Sacrifice some of the batter into the melted butter and extract mixture, then fold the butter mixture into the rest of the batter until homogenous. Do not over fold.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 375°F (191°C) until the cake springs back to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "rugelach_dough", + "schema_version": 2, + "save_version": 6, + "title": "Rugelach Dough", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1550, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"To inhibit gluten development, keep all ingredients and mixing bowl as cold as possible.\",\"The dough can be refrigerated for 3 days or frozen up to 2 months.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 550, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 7.27, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.45, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_butter", + "position": 4, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 450, + "unit_id": "gram", + "percentage": 81.82, + "basis_member": 0, + "optional": 0, + "notes": "½-inch cubes, cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_cream_cheese", + "position": 5, + "ingredient_id": "cream_cheese", + "subrecipe_id": null, + "quantity": 450, + "unit_id": "gram", + "percentage": 81.82, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sour_cream", + "position": 6, + "ingredient_id": "sour_cream", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 10.91, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix together the flour, sugar, salt, and cold butter until the butter is ¼-inch, or \"pea sized.\"", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the cream cheese and sour cream and continue to mix until a smooth dough is formed. Do not over mix.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Portion the dough as desired and wrap in plastic wrap. Refrigerate for a minimum of 1 hour, preferably overnight.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "rum_sabayon", + "schema_version": 2, + "save_version": 6, + "title": "Rum Sabayon", + "summary": null, + "categories_json": "[\"sauces_liquids\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sauces_liquids\",\"classic\"]", + "yield_quantity": 980, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_dark_or_spiced_rum", + "position": 2, + "ingredient_id": "dark_or_spiced_rum", + "subrecipe_id": null, + "quantity": 320, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_yolk", + "position": 3, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 140, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_brown_sugar", + "position": 5, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Whip the cream to soft peaks and set aside in the refrigerator.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the rum, egg yolks, sugars, and salt over a water bath until thickened and a ribbon is achieved.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk the sabayon over an ice bath until cold.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Fold the whipped cream into the sabayon.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "sable_breton", + "schema_version": 2, + "save_version": 6, + "title": "Sablé Breton", + "summary": "In Brittany, they traditionally use semi-salted butter (beurre demi-sel) to make this recipe.", + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1260, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"This dough can be chilled, then rolled out to desired thickness and cut with cookies cutters or rolled into logs and cut into coins.\",\"Alternatively, the dough can be piped into molds or rings when freshly made and soft.\",\"The citrus zest is optional and may be eliminated or replaced with vanilla extract or seeds if desired. Similarly, the salt can be adjusted to taste.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 320, + "unit_id": "gram", + "percentage": 70.48, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 320, + "unit_id": "gram", + "percentage": 70.48, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_orange_zest", + "position": 3, + "ingredient_id": "orange_zest", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.55, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_lemon_zest", + "position": 4, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": 0.22, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_yolk", + "position": 5, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 160, + "unit_id": "gram", + "percentage": 35.24, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_flour_all_purpose", + "position": 6, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.1, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter, sugar, and zests.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the egg yolks one at a time, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the flour and salt and mix just until combined; do not over mix.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Bake at 300°F (149°C) until light golden brown.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "sacher_torte_sheet_cake", + "schema_version": 2, + "save_version": 6, + "title": "Sacher Torte Sheet Cake", + "summary": "Yield: one half sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 1530, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one half sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 283.75, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_confectioners_sugar", + "position": 2, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 162, + "unit_id": "gram", + "percentage": 202.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_yolk", + "position": 3, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 160, + "unit_id": "gram", + "percentage": 200, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 125, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_chocolate_dark", + "position": 5, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 268, + "unit_id": "gram", + "percentage": 335, + "basis_member": 0, + "optional": 0, + "notes": "58-66%, melted/warm", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whites", + "position": 6, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": 300, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_confectioners_sugar", + "position": 7, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 65, + "unit_id": "gram", + "percentage": 81.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_cream_of_tartar", + "position": 8, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 3.13, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_almond_flour", + "position": 9, + "ingredient_id": "almond_flour", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 283.75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_flour_all_purpose", + "position": 10, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_salt", + "position": 11, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 6.25, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter and sugar.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the yolks and whole eggs one at a time, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the warm melted chocolate and mix until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make a medium peak French meringue with the egg whites, sugar, and cream of tartar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Gently fold the meringue into the chocolate until streaky, followed by the sifted dry ingredients.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 350°F (177°C) until a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "savory_tomato_sorbet", + "schema_version": 2, + "save_version": 6, + "title": "Savory Tomato Sorbet", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"This base recipe can be spiced as desired; suggestions include: celery salt, hot sauce, fresh basil, horseradish, and replacing some of the tomato juice with beef stock.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 575, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_dextrose", + "position": 2, + "ingredient_id": "dextrose", + "subrecipe_id": null, + "quantity": 310, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "divided", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sorbet_stabilizer", + "position": 3, + "ingredient_id": "sorbet_stabilizer", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1¼ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_black_pepper", + "position": 5, + "ingredient_id": "black_pepper", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_tomato_juice", + "position": 6, + "ingredient_id": "tomato_juice", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "fresh & strained", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_worcestershire_sauce", + "position": 7, + "ingredient_id": "worcestershire_sauce", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan large enough to accommodate the entire recipe, whisk ⅔ of the dextrose into the cold water, then using an immersion blender, blend until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "saucepan", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Combine the remaining dextrose with the stabilizer, salt, and pepper.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Heat the mixture until warm, 105°F (40°C); whisk in the remaining dextrose that has been blended with the stabilizer, salt, and pepper.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir with a whisk and heat to 185°F (85°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Chill immediately. Once cool, add the juice and Worcestershire sauce and allow to mature for 6 to 12 hours.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Blend with an immersion blender before spinning.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "scandinavian_butter_cookies", + "schema_version": 2, + "save_version": 6, + "title": "Scandinavian Butter Cookies", + "summary": "Yield: one hundred 1½-inch cookies", + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1478, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one hundred 1½-inch cookies\",\"Refrigerate the piped cookies until firm before baking; this helps to retain the definition of the cookies and minimize spreading.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_almond_paste", + "position": 1, + "ingredient_id": "almond_paste", + "subrecipe_id": null, + "quantity": 340, + "unit_id": "gram", + "percentage": 73.91, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 170, + "unit_id": "gram", + "percentage": 36.96, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_whole", + "position": 3, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 21.74, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whites", + "position": 4, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 13.04, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vanilla_extract", + "position": 5, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.09, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.54, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_butter", + "position": 7, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 340, + "unit_id": "gram", + "percentage": 73.91, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_flour_cake", + "position": 8, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 340, + "unit_id": "gram", + "percentage": 73.91, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_flour_all_purpose", + "position": 9, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": 26.09, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix the almond paste and sugar until crumbly.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a separate bowl, whisk the whole eggs, egg whites, extract, and salt.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add ½ the egg mixture in 3 additions to the almond paste mixture, mixing well between each addition, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "When the mixture forms a smooth consistency, beat in the butter until the mixture is light.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Beat in the other ½ of the egg mixture, followed by the sifted flours. Mix just until combined, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Pipe out rosettes, or other desired shape with a star tip.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Bake at 350°F (177°C) until the edges are golden brown.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "scones", + "schema_version": 2, + "save_version": 6, + "title": "Scones", + "summary": null, + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breakfast\",\"classic\"]", + "yield_quantity": 1346, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Inclusions can be varied. Some suggestions include chopped nuts, dried fruits and berries, raisins/currants, candied ginger, and chocolate chips.\",\"Scones can be made in advance and frozen for up to 2 months, then baked fresh as needed.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 568, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 84, + "unit_id": "gram", + "percentage": 14.79, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_baking_powder", + "position": 3, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 18, + "unit_id": "gram", + "percentage": 3.17, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 1.76, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_butter", + "position": 5, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 39.96, + "basis_member": 0, + "optional": 0, + "notes": "cold & cubed", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_milk_whole", + "position": 6, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 113, + "unit_id": "gram", + "percentage": 19.89, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_buttermilk", + "position": 7, + "ingredient_id": "buttermilk", + "subrecipe_id": null, + "quantity": 113, + "unit_id": "gram", + "percentage": 19.89, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_egg_whole", + "position": 8, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 17.61, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_inclusions", + "position": 9, + "ingredient_id": "inclusions", + "subrecipe_id": null, + "quantity": 113, + "unit_id": "gram", + "percentage": 19.89, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Whisk the whole milk, buttermilk, and eggs and keep cold.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a paddle attachment, mix together the dry ingredients and butter until the butter is ¼-inch, or \"pea sized.\"", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Mix the inclusions into the dry mixture to combine.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the egg/milk mixture to the dry ingredients and mix just until a dough is roughly formed. Do not over mix. Pat or roll out the dough to about ¾-inch thick.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Cut the scones into the desired shape and brush the top of each with heavy cream.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 350°F (177°C) until lightly browned and just baked through.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "scrambled_egg_patty", + "schema_version": 2, + "save_version": 1, + "title": "Scrambled Egg Patty", + "summary": null, + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"egg\"]", + "yield_quantity": 133.2, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"scrambled_egg_patty\",\"title\":\"Scrambled Egg Patty\",\"categories\":[\"breakfast\"],\"tags\":[\"egg\"],\"yield\":{\"amount\":{\"quantity\":133.2,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_egg_whole\",\"reference\":{\"ingredient_id\":\"egg_whole\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":19,\"unit_id\":\"gram\"},\"percentage\":19},{\"id\":\"line_03_butter_flavored_shortening\",\"reference\":{\"ingredient_id\":\"butter_flavored_shortening\"},\"amount\":{\"quantity\":13,\"unit_id\":\"gram\"},\"percentage\":13},{\"id\":\"line_04_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1.1,\"unit_id\":\"gram\"},\"percentage\":1.1},{\"id\":\"line_05_xanthan_gum\",\"reference\":{\"ingredient_id\":\"xanthan_gum\"},\"amount\":{\"quantity\":0.1,\"unit_id\":\"gram\"},\"percentage\":0.1}]}],\"equipment_ids\":[\"blender\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine all in blender.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Blend.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Strain.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Pour into 3 in non-stick cake tin.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Bake in bain-marie until egg is set at 300 °F.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "blender" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_egg_whole", + "position": 1, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 19, + "unit_id": "gram", + "percentage": 19, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_butter_flavored_shortening", + "position": 3, + "ingredient_id": "butter_flavored_shortening", + "subrecipe_id": null, + "quantity": 13, + "unit_id": "gram", + "percentage": 13, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.1, + "unit_id": "gram", + "percentage": 1.1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_xanthan_gum", + "position": 5, + "ingredient_id": "xanthan_gum", + "subrecipe_id": null, + "quantity": 0.1, + "unit_id": "gram", + "percentage": 0.1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine all in blender.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Blend.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Strain.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Pour into 3 in non-stick cake tin.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Bake in bain-marie until egg is set at 300 °F.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "sea_vinaigrette", + "schema_version": 2, + "save_version": 1, + "title": "Southeast Asian Vinaigrette", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"dressing\"]", + "yield_quantity": 343, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"sea_vinaigrette\",\"title\":\"Southeast Asian Vinaigrette\",\"categories\":[\"sauce\"],\"tags\":[\"dressing\"],\"yield\":{\"amount\":{\"quantity\":343,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_oil\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_orange_juice\",\"reference\":{\"ingredient_id\":\"orange_juice\"},\"amount\":{\"quantity\":110,\"unit_id\":\"gram\"},\"percentage\":110},{\"id\":\"line_03_peanut_butter\",\"reference\":{\"ingredient_id\":\"peanut_butter\"},\"amount\":{\"quantity\":75,\"unit_id\":\"gram\"},\"percentage\":75},{\"id\":\"line_04_vinegar_apple_cider\",\"reference\":{\"ingredient_id\":\"vinegar_apple_cider\"},\"amount\":{\"quantity\":37,\"unit_id\":\"gram\"},\"percentage\":37},{\"id\":\"line_05_honey\",\"reference\":{\"ingredient_id\":\"honey\"},\"amount\":{\"quantity\":15,\"unit_id\":\"gram\"},\"percentage\":15},{\"id\":\"line_06_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":5,\"unit_id\":\"gram\"},\"percentage\":5},{\"id\":\"line_07_pepper\",\"reference\":{\"ingredient_id\":\"black_pepper_ground\"},\"amount\":{\"quantity\":1,\"unit_id\":\"gram\"},\"percentage\":1}]}],\"equipment_ids\":[\"blender\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Blender.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "blender" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_oil", + "position": 1, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_orange_juice", + "position": 2, + "ingredient_id": "orange_juice", + "subrecipe_id": null, + "quantity": 110, + "unit_id": "gram", + "percentage": 110, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_peanut_butter", + "position": 3, + "ingredient_id": "peanut_butter", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": 75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_vinegar_apple_cider", + "position": 4, + "ingredient_id": "vinegar_apple_cider", + "subrecipe_id": null, + "quantity": 37, + "unit_id": "gram", + "percentage": 37, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_honey", + "position": 5, + "ingredient_id": "honey", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 15, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_pepper", + "position": 7, + "ingredient_id": "black_pepper_ground", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Blender.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "seasoned_chicken", + "schema_version": 2, + "save_version": 1, + "title": "Seasoned Chicken", + "summary": null, + "categories_json": "[\"meat\"]", + "tags_json": "[\"chicken\",\"seasoning\"]", + "yield_quantity": 102.8, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"seasoned_chicken\",\"title\":\"Seasoned Chicken\",\"categories\":[\"meat\"],\"tags\":[\"chicken\",\"seasoning\"],\"yield\":{\"amount\":{\"quantity\":102.8,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_chicken\",\"reference\":{\"ingredient_id\":\"chicken_breast\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1.2,\"unit_id\":\"gram\"},\"percentage\":1.2},{\"id\":\"line_03_black_pepper_ground\",\"reference\":{\"ingredient_id\":\"black_pepper_ground\"},\"amount\":{\"quantity\":0.2,\"unit_id\":\"gram\"},\"percentage\":0.2},{\"id\":\"line_04_garlic_powder\",\"reference\":{\"ingredient_id\":\"garlic_powder\"},\"amount\":{\"quantity\":0.4,\"unit_id\":\"gram\"},\"percentage\":0.4},{\"id\":\"line_05_onion_powder\",\"reference\":{\"ingredient_id\":\"onion_powder\"},\"amount\":{\"quantity\":0.3,\"unit_id\":\"gram\"},\"percentage\":0.3},{\"id\":\"line_06_paprika\",\"reference\":{\"ingredient_id\":\"paprika\"},\"amount\":{\"quantity\":0.4,\"unit_id\":\"gram\"},\"percentage\":0.4},{\"id\":\"line_07_baking_powder\",\"reference\":{\"ingredient_id\":\"baking_powder\"},\"amount\":{\"quantity\":0.3,\"unit_id\":\"gram\"},\"percentage\":0.3}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Pat the chicken dry.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Combine the salt, black pepper, garlic powder, onion powder, paprika, and baking powder.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Coat the chicken evenly with the seasoning mixture.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Refrigerate uncovered for at least 1 hour, or overnight.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Roast until browned and the thickest part of the chicken reaches 165 °F.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_chicken", + "position": 1, + "ingredient_id": "chicken_breast", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_salt", + "position": 2, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.2, + "unit_id": "gram", + "percentage": 1.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_black_pepper_ground", + "position": 3, + "ingredient_id": "black_pepper_ground", + "subrecipe_id": null, + "quantity": 0.2, + "unit_id": "gram", + "percentage": 0.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_garlic_powder", + "position": 4, + "ingredient_id": "garlic_powder", + "subrecipe_id": null, + "quantity": 0.4, + "unit_id": "gram", + "percentage": 0.4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_onion_powder", + "position": 5, + "ingredient_id": "onion_powder", + "subrecipe_id": null, + "quantity": 0.3, + "unit_id": "gram", + "percentage": 0.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_paprika", + "position": 6, + "ingredient_id": "paprika", + "subrecipe_id": null, + "quantity": 0.4, + "unit_id": "gram", + "percentage": 0.4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_baking_powder", + "position": 7, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 0.3, + "unit_id": "gram", + "percentage": 0.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Pat the chicken dry.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Combine the salt, black pepper, garlic powder, onion powder, paprika, and baking powder.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Coat the chicken evenly with the seasoning mixture.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Refrigerate uncovered for at least 1 hour, or overnight.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Roast until browned and the thickest part of the chicken reaches 165 °F.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "semolina_pudding", + "schema_version": 2, + "save_version": 6, + "title": "Semolina Pudding", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1850, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_milk_whole", + "position": 1, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_vanilla_bean", + "position": 3, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "seeds (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_semolina", + "position": 5, + "ingredient_id": "semolina", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whole", + "position": 6, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_lemon_zest", + "position": 8, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_orange_zest", + "position": 9, + "ingredient_id": "orange_zest", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the milk, first weight of sugar, vanilla bean seeds, and salt to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Slowly pour the semolina into the milk, stirring with a whisk or wooden spoon. Continue stirring as the mixture thickens (about 2-3 minutes).", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Reduce the heat to low and cook until the mixture thickens and the semolina is tender, stirring often.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Meanwhile, whisk the eggs with the second weight of sugar until well blended.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "kitchen_scale", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Temper ½ of the hot semolina mixture into the eggs. Combine both mixtures together, along with the zests.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 300°F (149°C) in a water bath, covered, until set.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "sesame_ginger_brittle", + "schema_version": 2, + "save_version": 6, + "title": "Sesame-Ginger Brittle", + "summary": "Yield: one 16 x 24-inch sheet", + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1147, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one 16 x 24-inch sheet\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sugar", + "position": 1, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 395, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 170, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_glucose_syrup", + "position": 3, + "ingredient_id": "glucose_syrup", + "subrecipe_id": null, + "quantity": 285, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sesame_seeds", + "position": 4, + "ingredient_id": "sesame_seeds", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_black_sesame_seeds", + "position": 5, + "ingredient_id": "black_sesame_seeds", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_candied_ginger", + "position": 6, + "ingredient_id": "candied_ginger", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼-inch dice", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_butter", + "position": 7, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_vanilla_extract", + "position": 8, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_baking_soda", + "position": 10, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the sugar and water to a boil, stirring to dissolve the sugar.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the glucose and continue cooking to 275°F (135°C), without stirring.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the sesame seeds and cook to 308°F (153°C) over moderate heat, stirring continuously.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Off the heat, stir in the ginger, butter, extract, and salt.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Add the baking soda, stirring well to incorporate.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Pour the mixture onto a silicone baking mat and spread with an oiled spatula.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Because sesame seeds have a high oil content, they turn rancid quickly. Store them in an airtight container for up to 3 months; refrigerate for up to 6 months; or freeze for up to 1 year.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "sesame_tuiles", + "schema_version": 2, + "save_version": 6, + "title": "Sesame Tuiles", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1300, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_milk_whole", + "position": 1, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 105, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_butter", + "position": 2, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 293, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 293, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_glucose_syrup", + "position": 4, + "ingredient_id": "glucose_syrup", + "subrecipe_id": null, + "quantity": 105, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sesame_seeds", + "position": 6, + "ingredient_id": "sesame_seeds", + "subrecipe_id": null, + "quantity": 504, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the milk, butter, sugar, glucose, and salt together.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Stir in the sesame seeds.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Chill before use.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Roll into desired sized balls and place on a silicone baking mat. Lightly flatten each ball with the palm of your hand.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 350°F (177°C).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Shape as desired and store in airtight containers.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "shake_shack_shacksauce", + "schema_version": 2, + "save_version": 1, + "title": "Shake Shack ShackSauce", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"copycat\",\"shake-shack\"]", + "yield_quantity": 135.2, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"shake_shack_shacksauce\",\"title\":\"Shake Shack ShackSauce\",\"categories\":[\"sauce\"],\"tags\":[\"copycat\",\"shake-shack\"],\"yield\":{\"amount\":{\"quantity\":135.2,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_mayonnaise\",\"reference\":{\"ingredient_id\":\"mayonnaise\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_mustard_dijon\",\"reference\":{\"ingredient_id\":\"mustard_dijon\"},\"amount\":{\"quantity\":15,\"unit_id\":\"gram\"},\"percentage\":15},{\"id\":\"line_03_ketchup\",\"reference\":{\"ingredient_id\":\"ketchup\"},\"amount\":{\"quantity\":15,\"unit_id\":\"gram\"},\"percentage\":15},{\"id\":\"line_04_pickle_juice\",\"reference\":{\"ingredient_id\":\"pickle_juice\"},\"amount\":{\"quantity\":5,\"unit_id\":\"gram\"},\"percentage\":5},{\"id\":\"line_05_cayenne\",\"reference\":{\"ingredient_id\":\"cayenne\"},\"amount\":{\"quantity\":0.2,\"unit_id\":\"gram\"},\"percentage\":0.2}]}],\"equipment_ids\":[\"whisk\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Whisk until homogeneous.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "whisk" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_mayonnaise", + "position": 1, + "ingredient_id": "mayonnaise", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_mustard_dijon", + "position": 2, + "ingredient_id": "mustard_dijon", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 15, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_ketchup", + "position": 3, + "ingredient_id": "ketchup", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 15, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_pickle_juice", + "position": 4, + "ingredient_id": "pickle_juice", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_cayenne", + "position": 5, + "ingredient_id": "cayenne", + "subrecipe_id": null, + "quantity": 0.2, + "unit_id": "gram", + "percentage": 0.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Whisk until homogeneous.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "shakespeares_pizza_dough", + "schema_version": 2, + "save_version": 1, + "title": "Shakespeare's Pizza Dough", + "summary": null, + "categories_json": "[\"bread\"]", + "tags_json": "[\"dough\",\"pizza\",\"copycat\",\"shakespeares\"]", + "yield_quantity": 158.5, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"shakespeares_pizza_dough\",\"title\":\"Shakespeare's Pizza Dough\",\"categories\":[\"bread\"],\"tags\":[\"dough\",\"pizza\",\"copycat\",\"shakespeares\"],\"yield\":{\"amount\":{\"quantity\":158.5,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_bread\",\"reference\":{\"ingredient_id\":\"flour_bread\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":50,\"unit_id\":\"gram\"},\"percentage\":50},{\"id\":\"line_03_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":2.5,\"unit_id\":\"gram\"},\"percentage\":2.5},{\"id\":\"line_04_instant_yeast\",\"reference\":{\"ingredient_id\":\"instant_yeast\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_05_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_06_oil\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2}]}],\"equipment_ids\":[\"mixing_bowl\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Add water to bowl.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Add dry.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Mix for 2 min.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Add oil.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Mix until smooth, 10 to 15 min, no more than.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "mixing_bowl" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 2.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_instant_yeast", + "position": 4, + "ingredient_id": "instant_yeast", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_oil", + "position": 6, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Add water to bowl.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Add dry.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Mix for 2 min.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Add oil.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Mix until smooth, 10 to 15 min, no more than.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "shakespeares_pizza_sauce", + "schema_version": 2, + "save_version": 1, + "title": "Shakespeare's Pizza Sauce", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"pizza\",\"copycat\",\"shakespeares\"]", + "yield_quantity": 111.95, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"shakespeares_pizza_sauce\",\"title\":\"Shakespeare's Pizza Sauce\",\"categories\":[\"sauce\"],\"tags\":[\"pizza\",\"copycat\",\"shakespeares\"],\"yield\":{\"amount\":{\"quantity\":111.95,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_tomato_puree\",\"reference\":{\"ingredient_id\":\"tomato_puree\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":6.51,\"unit_id\":\"gram\"},\"percentage\":6.51},{\"id\":\"line_03_oil\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":2.5,\"unit_id\":\"gram\"},\"percentage\":2.5},{\"id\":\"line_04_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1.96,\"unit_id\":\"gram\"},\"percentage\":1.96},{\"id\":\"line_05_garlic\",\"reference\":{\"ingredient_id\":\"garlic\"},\"amount\":{\"quantity\":0.27,\"unit_id\":\"gram\"},\"percentage\":0.27},{\"id\":\"line_06_oregano\",\"reference\":{\"ingredient_id\":\"oregano\"},\"amount\":{\"quantity\":0.25,\"unit_id\":\"gram\"},\"percentage\":0.25},{\"id\":\"line_07_black_pepper_ground\",\"reference\":{\"ingredient_id\":\"black_pepper_ground\"},\"amount\":{\"quantity\":0.2,\"unit_id\":\"gram\"},\"percentage\":0.2},{\"id\":\"line_08_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":0.17,\"unit_id\":\"gram\"},\"percentage\":0.17},{\"id\":\"line_09_onion\",\"reference\":{\"ingredient_id\":\"onion_yellow\"},\"amount\":{\"quantity\":0.08,\"unit_id\":\"gram\"},\"percentage\":0.08},{\"id\":\"line_10_cayenne\",\"reference\":{\"ingredient_id\":\"cayenne\"},\"amount\":{\"quantity\":0.01,\"unit_id\":\"gram\"},\"percentage\":0.01}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"TODO: Add complete preparation instructions for this recipe.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_tomato_puree", + "position": 1, + "ingredient_id": "tomato_puree", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 6.51, + "unit_id": "gram", + "percentage": 6.51, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_oil", + "position": 3, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 2.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.96, + "unit_id": "gram", + "percentage": 1.96, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_garlic", + "position": 5, + "ingredient_id": "garlic", + "subrecipe_id": null, + "quantity": 0.27, + "unit_id": "gram", + "percentage": 0.27, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_oregano", + "position": 6, + "ingredient_id": "oregano", + "subrecipe_id": null, + "quantity": 0.25, + "unit_id": "gram", + "percentage": 0.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_black_pepper_ground", + "position": 7, + "ingredient_id": "black_pepper_ground", + "subrecipe_id": null, + "quantity": 0.2, + "unit_id": "gram", + "percentage": 0.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_sugar", + "position": 8, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 0.17, + "unit_id": "gram", + "percentage": 0.17, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_onion", + "position": 9, + "ingredient_id": "onion_yellow", + "subrecipe_id": null, + "quantity": 0.08, + "unit_id": "gram", + "percentage": 0.08, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_cayenne", + "position": 10, + "ingredient_id": "cayenne", + "subrecipe_id": null, + "quantity": 0.01, + "unit_id": "gram", + "percentage": 0.01, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "TODO: Add complete preparation instructions for this recipe.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "shiny_chocolate_sauce", + "schema_version": 2, + "save_version": 6, + "title": "Shiny Chocolate Sauce", + "summary": null, + "categories_json": "[\"sauces_liquids\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sauces_liquids\",\"classic\"]", + "yield_quantity": 2000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"This chocolate sauce is dark and shiny like a beautiful piece of patent leather. Use at room temperature or warm.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 1250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 900, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_cocoa_powder", + "position": 3, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 375, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_heavy_cream", + "position": 5, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 750, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the water, sugar, cocoa powder, and salt to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the cream and reduce on medium-low heat by approximately ⅓, whisking periodically to prevent scalding on the bottom of the pot.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "shiny_red_glaze", + "schema_version": 2, + "save_version": 6, + "title": "Shiny Red Glaze", + "summary": null, + "categories_json": "[\"frostings_glazes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frostings_glazes\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Red coloring may be substituted for other colors as desired.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 28, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 138, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_water", + "position": 3, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 195, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_glucose_syrup", + "position": 5, + "ingredient_id": "glucose_syrup", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_condensed_milk", + "position": 6, + "ingredient_id": "condensed_milk", + "subrecipe_id": null, + "quantity": 215, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_chocolate_white", + "position": 7, + "ingredient_id": "chocolate_white", + "subrecipe_id": null, + "quantity": 315, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_red_cocoa_butter_color", + "position": 8, + "ingredient_id": "red_cocoa_butter_color", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, bring the water, sugar, and glucose to a boil. Cool to 185°F (85ºC) and stir in the condensed milk and the bloomed and drained gelatin.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "thermometer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Melt the chocolate and cocoa butter color together and add to the syrup mixture.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Blend the glaze with an immersion blender until homogenous.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Strain through a fine-mesh strainer and refrigerate overnight.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Use at about 82°F (28ºC).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "smoked_salmon_souffle", + "schema_version": 2, + "save_version": 6, + "title": "Smoked Salmon Soufflé", + "summary": "Yield: six 5.5 oz soufflé ramekins", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 1330, + "yield_unit_id": "gram", + "yield_servings": 6, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: six 5.5 oz soufflé ramekins\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 113, + "unit_id": "gram", + "percentage": 198.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_flour_bread", + "position": 2, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 57, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_milk_whole", + "position": 3, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 380, + "unit_id": "gram", + "percentage": 666.67, + "basis_member": 0, + "optional": 0, + "notes": "185ºF/85ºC", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_cream_cheese", + "position": 4, + "ingredient_id": "cream_cheese", + "subrecipe_id": null, + "quantity": 85, + "unit_id": "gram", + "percentage": 149.12, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_yolk", + "position": 5, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": 210.53, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_smoked_salmon", + "position": 6, + "ingredient_id": "smoked_salmon", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 350.88, + "basis_member": 0, + "optional": 0, + "notes": "chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_chives", + "position": 7, + "ingredient_id": "chives", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 1.75, + "basis_member": 0, + "optional": 0, + "notes": "finely chopped (3 T)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_fresh_dill", + "position": 8, + "ingredient_id": "fresh_dill", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 8.77, + "basis_member": 0, + "optional": 0, + "notes": "chopped (1 tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_fresh_parsley", + "position": 9, + "ingredient_id": "fresh_parsley", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 8.77, + "basis_member": 0, + "optional": 0, + "notes": "chopped (1 tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_lemon_zest", + "position": 10, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "each", + "percentage": 3.51, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_black_pepper", + "position": 11, + "ingredient_id": "black_pepper", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 8.77, + "basis_member": 0, + "optional": 0, + "notes": "ground (1 tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_salt", + "position": 12, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 8.77, + "basis_member": 0, + "optional": 0, + "notes": "1 tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_cayenne_pepper", + "position": 13, + "ingredient_id": "cayenne_pepper", + "subrecipe_id": null, + "quantity": 3.75, + "unit_id": "gram", + "percentage": 6.58, + "basis_member": 0, + "optional": 0, + "notes": "¾ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_14_egg_whites", + "position": 14, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 360, + "unit_id": "gram", + "percentage": 631.58, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_15_cream_of_tartar", + "position": 15, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 5.26, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the butter in a saucepan, whisk in the flour and cook for 2 minutes to make a roux.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the hot milk into the roux in 3 additions.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Bring the mixture to a boil and whisk until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Whisk in the cream cheese, followed by the egg yolks.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Stir in the smoked salmon and seasonings; set aside to cool to room temperature.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Make a medium peak French meringue with the egg whites and cream of tartar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Fold the meringue into the room temperature base.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Fill the soufflé ramekins that have been buttered and lined with bread crumbs.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Bake at 375°F (191°C) until risen, browned, and a little soft inside.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "snickerdoodle_cookies", + "schema_version": 2, + "save_version": 6, + "title": "Snickerdoodle Cookies", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1700, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 340, + "unit_id": "gram", + "percentage": 54.4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 440, + "unit_id": "gram", + "percentage": 70.4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_invert_sugar", + "position": 3, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 45, + "unit_id": "gram", + "percentage": 7.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 24, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_flour_all_purpose", + "position": 5, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 625, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_cream_of_tartar", + "position": 6, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 2.4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_baking_soda", + "position": 7, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 8, + "unit_id": "gram", + "percentage": 1.28, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.4, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter and sugars.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the eggs one at a time, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the sifted dry ingredients and mix just until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Chill before use.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Roll the dough into desired sized balls and toss each ball in cinnamon sugar before baking.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 275°F (135°C).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "soft_apple_cider_caramels", + "schema_version": 2, + "save_version": 6, + "title": "Soft Apple Cider Caramels", + "summary": "Yield: one hundred and thirty 1-inch squares", + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 4402, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one hundred and thirty 1-inch squares\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_apple_cider", + "position": 1, + "ingredient_id": "apple_cider", + "subrecipe_id": null, + "quantity": 1893, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "2 qt", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_apple_cider_reduction", + "position": 2, + "ingredient_id": "apple_cider_reduction", + "subrecipe_id": null, + "quantity": 237, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 875, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_honey", + "position": 4, + "ingredient_id": "honey", + "subrecipe_id": null, + "quantity": 113, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_butter", + "position": 5, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 113, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_apple_pectin", + "position": 7, + "ingredient_id": "apple_pectin", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_vanilla_bean", + "position": 9, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "split & scraped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_cinnamon_stick", + "position": 10, + "ingredient_id": "cinnamon_stick", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_sugar", + "position": 11, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 450, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_water", + "position": 12, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 135, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_glucose_syrup", + "position": 13, + "ingredient_id": "glucose_syrup", + "subrecipe_id": null, + "quantity": 450, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Reduce the 2 quarts of apple cider to 8 ounces.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Bring the cider reduction, cream, honey, butter, sugar, pectin, salt, vanilla bean, and cinnamon stick to a boil. Set aside to infuse for 30 minutes, then strain through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Make a caramel with the second weight of sugar, water, and glucose.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Whisk the cider reduction mixture into the caramel in 3 additions and cook over medium-high heat to 251°F (122°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Pour onto a silicone baking mat with oiled candy bars measuring about 13 x 10½ x ½-inch or into an oiled 12-inch ring. Allow to cool, then cut into 1-inch squares with an oiled knife.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "soft_chocolate_caramels", + "schema_version": 2, + "save_version": 6, + "title": "Soft Chocolate Caramels", + "summary": "Yield: one 9-inch cake ring", + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1595, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one 9-inch cake ring\",\"Store the caramels in an air tight container at room temperature for up to one week.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 375, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_invert_sugar", + "position": 3, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_glucose_syrup", + "position": 4, + "ingredient_id": "glucose_syrup", + "subrecipe_id": null, + "quantity": 350, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_chocolate_dark", + "position": 5, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "70-72%, chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_butter", + "position": 6, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cubed", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Lightly oil the inside of a cake ring and place it on a silicone mat.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a deep saucepan, combine the cream, sugars, and glucose. Cook to 245°F (118°C), stirring continuously.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "thermometer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Off the heat, add the chopped chocolate, butter, and salt; whisking to emulsify.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Immediately pour the mixture into the oiled cake ring. At this point you may sprinkle the top of the freshly poured caramel with fleur de sel, chopped toasted nuts, coconut shavings, or other toppings if desired.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Allow to cool to room temperature until set, then cut the caramel into desired shapes.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "soft_chocolate_molasses_cookies", + "schema_version": 2, + "save_version": 6, + "title": "Soft Chocolate-Molasses Cookies", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1369, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 35.71, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 320, + "unit_id": "gram", + "percentage": 76.19, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_brown_sugar", + "position": 3, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": 19.05, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 23.81, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_molasses", + "position": 5, + "ingredient_id": "molasses", + "subrecipe_id": null, + "quantity": 160, + "unit_id": "gram", + "percentage": 38.1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_white_vinegar", + "position": 6, + "ingredient_id": "white_vinegar", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 3.57, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_vanilla_extract", + "position": 7, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.19, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_flour_bread", + "position": 8, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 420, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_cocoa_powder", + "position": 9, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 105, + "unit_id": "gram", + "percentage": 25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_baking_soda", + "position": 10, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 14, + "unit_id": "gram", + "percentage": 3.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_salt", + "position": 11, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 1.67, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter and sugars.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the eggs one at a time, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Slowly add the molasses, vinegar, and extract.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the sifted dry ingredients and mix until combined, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Chill until firm.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Portion the dough into 20 g (0.7 oz) balls and dredge in granulated sugar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Bake at 350°F (177°C) for 8-10 minutes. The cookies will spread and the sugar crust will crack.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "soft_coconut_dacquoise", + "schema_version": 2, + "save_version": 6, + "title": "Soft Coconut Dacquoise", + "summary": "Yield: one full sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 1190, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one full sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_egg_whites", + "position": 1, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 390, + "unit_id": "gram", + "percentage": 750, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 164, + "unit_id": "gram", + "percentage": 315.38, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_cream_of_tartar", + "position": 3, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 5.77, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 253, + "unit_id": "gram", + "percentage": 486.54, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_desiccated_coconut", + "position": 5, + "ingredient_id": "desiccated_coconut", + "subrecipe_id": null, + "quantity": 164, + "unit_id": "gram", + "percentage": 315.38, + "basis_member": 0, + "optional": 0, + "notes": "toasted", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_almond_flour", + "position": 6, + "ingredient_id": "almond_flour", + "subrecipe_id": null, + "quantity": 164, + "unit_id": "gram", + "percentage": 315.38, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_flour_cake", + "position": 7, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 52, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 4.81, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Make a stiff peak French meringue with the egg whites, sugar, and cream of tartar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Sift the dry ingredients then combine with the coconut. Fold into the meringue.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Spread onto a prepared sheet pan that has been lightly sprayed with pan spray.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Sift additional powdered sugar on top of the cake before baking.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 350°F (177°C) until firm to the touch and a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "soft_dinner_rolls", + "schema_version": 2, + "save_version": 6, + "title": "Soft Dinner Rolls", + "summary": "Yield: twenty-four 50 g (1.8 oz) rolls", + "categories_json": "[\"breads\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breads\",\"classic\"]", + "yield_quantity": 1177, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: twenty-four 50 g (1.8 oz) rolls\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "sponge", + "position": 1, + "name": "Sponge", + "notes_json": "[]" + }, + { + "id": "dough", + "position": 2, + "name": "Dough", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "dough", + "id": "line_04_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 185, + "unit_id": "gram", + "percentage": 29.6, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_05_milk_powder", + "position": 2, + "ingredient_id": "milk_powder", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": 4.8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_06_egg_whole", + "position": 3, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_07_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 9.6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_08_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 12, + "unit_id": "gram", + "percentage": 1.92, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_09_butter", + "position": 6, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 9.6, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "sponge", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 440, + "unit_id": "gram", + "percentage": 70.4, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "sponge", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 320, + "unit_id": "gram", + "percentage": 51.2, + "basis_member": 0, + "optional": 0, + "notes": "110°F/43°C", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "sponge", + "id": "line_03_yeast_fresh", + "position": 3, + "ingredient_id": "yeast_fresh", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 3.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Make a sponge with the flour, water, and yeast; cover and let proof in a warm place for about 20 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Once the sponge is ready, mix everything together-except the butter-with a dough hook for about 5 minutes, or until gluten is developed and a \"window\" is achieved.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the butter in 3 additions; mix until silky and all of the butter has been absorbed into the dough.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Bulk ferment for 30 minutes at room temperature.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Turn the dough out onto a floured bench and gently de-gas.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Divide into desired sized pieces and pre-shape into rounds. Cover and bench rest for 5 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Final shape each piece into tight rounds. Proof for about 30-45 minutes, or until doubled in size.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Egg wash and bake at 375ºF (191ºC) until the internal temperature is 190ºF (88ºC).", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "soft_gingerbread_sheet_cake", + "schema_version": 2, + "save_version": 6, + "title": "Soft Gingerbread Sheet Cake", + "summary": "Yield: one full sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 1454, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one full sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_brown_sugar", + "position": 1, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 285, + "unit_id": "gram", + "percentage": 85.07, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_honey", + "position": 2, + "ingredient_id": "honey", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 14.93, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_whole", + "position": 3, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 59.7, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 5.97, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_flour_all_purpose", + "position": 5, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 335, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_baking_powder", + "position": 6, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 17, + "unit_id": "gram", + "percentage": 5.07, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_baking_soda", + "position": 7, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": 1.19, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.49, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_cinnamon", + "position": 9, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 4.48, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_ginger", + "position": 10, + "ingredient_id": "ginger", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 0.9, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_cardamom", + "position": 11, + "ingredient_id": "cardamom", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 0.9, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_cloves", + "position": 12, + "ingredient_id": "cloves", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 0.6, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_butter", + "position": 13, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 74.63, + "basis_member": 0, + "optional": 0, + "notes": "melted", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_14_half_half", + "position": 14, + "ingredient_id": "half_half", + "subrecipe_id": null, + "quantity": 212, + "unit_id": "gram", + "percentage": 63.28, + "basis_member": 0, + "optional": 0, + "notes": "room temperature", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a whisk attachment, whisk the sugar, honey, whole eggs, and yolk until light and thick.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the sifted dry ingredients and whisk until smooth, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Combine the butter and half & half and slowly add to the egg mixture while whisking.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Bake at 325°F (163°C) until the cake springs back to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "soft_hazelnut_dacquoise", + "schema_version": 2, + "save_version": 6, + "title": "Soft Hazelnut Dacquoise", + "summary": "Yield: one full sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 1476, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one full sheet pan\",\"This recipe is ideal for gluten-free diets.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_hazelnut_flour", + "position": 1, + "ingredient_id": "hazelnut_flour", + "subrecipe_id": null, + "quantity": 326, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_confectioners_sugar", + "position": 2, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 364, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whites", + "position": 4, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 360, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_cream_of_tartar", + "position": 6, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¾ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_hazelnut", + "position": 7, + "ingredient_id": "hazelnut", + "subrecipe_id": null, + "quantity": 375, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "crushed", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Sift the dry ingredients and set aside.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Make a stiff peak French meringue with the egg whites, sugar, and cream of tartar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Gently fold the sifted dry ingredients into the meringue.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Spread onto a prepared sheet pan that has been lightly sprayed with pan spray.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Sprinkle the crushed hazelnuts on top of the cake before baking.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 350°F (177°C) until the cake springs back to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "soft_lime_almond_dacquoise", + "schema_version": 2, + "save_version": 6, + "title": "Soft Lime-Almond Dacquoise", + "summary": "Yield: one full sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 1295, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one full sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_almond_flour", + "position": 1, + "ingredient_id": "almond_flour", + "subrecipe_id": null, + "quantity": 280, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_confectioners_sugar", + "position": 2, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 280, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whites", + "position": 4, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 360, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_cream_of_tartar", + "position": 6, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_lime_zest", + "position": 7, + "ingredient_id": "lime_zest", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_whole_almonds", + "position": 8, + "ingredient_id": "whole_almonds", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Sift the dry ingredients and set aside.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Make a stiff peak French meringue with the egg whites, sugar, and cream of tartar. Once stiff peaks are achieved, whisk in the zest to incorporate.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Gently fold the sifted dry ingredients into the meringue.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Spread onto a prepared sheet pan that has been lightly sprayed with pan spray.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Sprinkle the chopped almonds on top of the cake before baking.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 350°F (177°C) until firm to the touch and a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "soft_pistachio_dacquoise", + "schema_version": 2, + "save_version": 6, + "title": "Soft Pistachio Dacquoise", + "summary": "Yield: one full sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 1380, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one full sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_almond_flour", + "position": 1, + "ingredient_id": "almond_flour", + "subrecipe_id": null, + "quantity": 280, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_confectioners_sugar", + "position": 2, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 320, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_pistachio_paste", + "position": 4, + "ingredient_id": "pistachio_paste", + "subrecipe_id": null, + "quantity": 48, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_whites", + "position": 5, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 360, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 120, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_cream_of_tartar", + "position": 7, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_pistachio_nuts", + "position": 8, + "ingredient_id": "pistachio_nuts", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "coarsely chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a food processor, grind the flour, powdered sugar, salt, and pistachio paste together.", + "critical_control_point": 0, + "equipment_ids": [ + "food_processor" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Make a stiff peak French meringue with the egg whites, granulated sugar, and cream of tartar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Sacrifice some of the meringue to lighten the pistachio paste mixture, then gently fold in the rest of the meringue until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Spread onto a prepared sheet pan that has been lightly sprayed with pan spray.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Sprinkle the chopped pistachio nuts on top of the cake before baking.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 350ºF (177ºC) until firm to the touch and a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "sorbet_syrup", + "schema_version": 2, + "save_version": 6, + "title": "Sorbet Syrup", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 2500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sugar", + "position": 1, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_powered_glucose", + "position": 2, + "ingredient_id": "powered_glucose", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sorbet_stabilizer", + "position": 3, + "ingredient_id": "sorbet_stabilizer", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 T", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_water", + "position": 4, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 1125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_invert_sugar", + "position": 5, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Mix the sugar, glucose, and stabilizer until well combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan large enough to accommodate the entire recipe, heat the water until warm, 105°F (40°C).", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "thermometer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk in the dry ingredients, followed by the invert sugar.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir with a whisk and heat to 185°F (85°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Chill immediately and allow to mature for 6 to 12 hours.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Blend with an immersion blender before spinning.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "sour_cherry_pie_filling", + "schema_version": 2, + "save_version": 6, + "title": "Sour Cherry Pie Filling", + "summary": "Yield: one 9-inch pie", + "categories_json": "[\"tart_pie_fillings\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"tart_pie_fillings\",\"classic\"]", + "yield_quantity": 872, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one 9-inch pie\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sour_cherries", + "position": 1, + "ingredient_id": "sour_cherries", + "subrecipe_id": null, + "quantity": 625, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "pitted", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 145, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_brown_sugar", + "position": 3, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 45, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_lemon_juice", + "position": 4, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_almond_extract", + "position": 5, + "ingredient_id": "almond_extract", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_vanilla_bean", + "position": 6, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "seeds (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_instant_tapioca", + "position": 8, + "ingredient_id": "instant_tapioca", + "subrecipe_id": null, + "quantity": 36, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_butter", + "position": 9, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 14, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "small cubes", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a bowl, mix the cherries, sugars, juice, extract, vanilla, salt, and tapioca. Allow the cherries to macerate at room temperature for 30 minutes.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Fill a 9-inch pie crust with the cherry pie filling and dot with butter.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Cover with the top crust and seal the edges. Cut several slits in the top crust.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Lightly cover the pie with plastic wrap and refrigerate for 30-60 minutes before baking.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 375°F (191°C) until golden brown.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "sour_cream", + "schema_version": 2, + "save_version": 1, + "title": "Sour Cream", + "summary": null, + "categories_json": "[\"component\"]", + "tags_json": "[\"base-formula\"]", + "yield_quantity": 121.8, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"sour_cream\",\"title\":\"Sour Cream\",\"categories\":[\"component\"],\"tags\":[\"base-formula\"],\"yield\":{\"amount\":{\"quantity\":121.8,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_cream_cheese\",\"reference\":{\"ingredient_id\":\"cream_cheese\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":21.8,\"unit_id\":\"gram\"},\"percentage\":21.8}]}],\"equipment_ids\":[\"blender\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Add to blender.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Blend smooth.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "blender" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_cream_cheese", + "position": 1, + "ingredient_id": "cream_cheese", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 21.8, + "unit_id": "gram", + "percentage": 21.8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Add to blender.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Blend smooth.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "sourdough", + "schema_version": 2, + "save_version": 1, + "title": "Sourdough", + "summary": null, + "categories_json": "[\"bread\"]", + "tags_json": "[\"sourdough\",\"loaf\"]", + "yield_quantity": 179.3, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"sourdough\",\"title\":\"Sourdough\",\"categories\":[\"bread\"],\"tags\":[\"sourdough\",\"loaf\"],\"yield\":{\"amount\":{\"quantity\":179.3,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_bread\",\"reference\":{\"ingredient_id\":\"flour_bread\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":71.8,\"unit_id\":\"gram\"},\"percentage\":71.8},{\"id\":\"line_03_vinegar_5\",\"reference\":{\"ingredient_id\":\"vinegar_5\"},\"amount\":{\"quantity\":2.5,\"unit_id\":\"gram\"},\"percentage\":2.5},{\"id\":\"line_04_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":2.3,\"unit_id\":\"gram\"},\"percentage\":2.3},{\"id\":\"line_05_instant_yeast\",\"reference\":{\"ingredient_id\":\"instant_yeast\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_06_lactic_acid_88\",\"reference\":{\"ingredient_id\":\"lactic_acid_88\"},\"amount\":{\"quantity\":0.7,\"unit_id\":\"gram\"},\"percentage\":0.7}]}],\"equipment_ids\":[\"mixing_bowl\",\"oven\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Dissolve lactic acid, vinegar, ascorbic acid into water.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Add liquid to mixing bowl, reserve 10%\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Add dry to mixing bowl.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Mix.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Remove dough, divide 500 g balls.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Rest 10 min.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Form into ball, flour ball.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Place into banneton.\",\"component_ids\":[\"main\"]},{\"id\":\"step_09\",\"order\":9,\"instruction\":\"Proof.\",\"component_ids\":[\"main\"]},{\"id\":\"step_10\",\"order\":10,\"instruction\":\"Preheat baking steel 3/8 in for 1 hr, middle rack at 500 °F.\",\"component_ids\":[\"main\"]},{\"id\":\"step_11\",\"order\":11,\"instruction\":\"Turn out onto parchment, pizza peel.\",\"component_ids\":[\"main\"]},{\"id\":\"step_12\",\"order\":12,\"instruction\":\"Launch into oven.\",\"component_ids\":[\"main\"]},{\"id\":\"step_13\",\"order\":13,\"instruction\":\"Lower temp.\",\"component_ids\":[\"main\"]},{\"id\":\"step_14\",\"order\":14,\"instruction\":\"Bake 8 min.\",\"component_ids\":[\"main\"]},{\"id\":\"step_15\",\"order\":15,\"instruction\":\"Remove loaf, place on rack, back in oven.\",\"component_ids\":[\"main\"]},{\"id\":\"step_16\",\"order\":16,\"instruction\":\"Bake 12 min.\",\"component_ids\":[\"main\"]},{\"id\":\"step_17\",\"order\":17,\"instruction\":\"Drop temp.\",\"component_ids\":[\"main\"]},{\"id\":\"step_18\",\"order\":18,\"instruction\":\"Bake 12 min.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "mixing_bowl", + "oven" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 71.8, + "unit_id": "gram", + "percentage": 71.8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_vinegar_5", + "position": 3, + "ingredient_id": "vinegar_5", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 2.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.3, + "unit_id": "gram", + "percentage": 2.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_instant_yeast", + "position": 5, + "ingredient_id": "instant_yeast", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_lactic_acid_88", + "position": 6, + "ingredient_id": "lactic_acid_88", + "subrecipe_id": null, + "quantity": 0.7, + "unit_id": "gram", + "percentage": 0.7, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Dissolve lactic acid, vinegar, ascorbic acid into water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Add liquid to mixing bowl, reserve 10%", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Add dry to mixing bowl.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Mix.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Remove dough, divide 500 g balls.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Rest 10 min.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Form into ball, flour ball.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Place into banneton.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_09", + "position": 9, + "instruction": "Proof.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Preheat baking steel 3/8 in for 1 hr, middle rack at 500 °F.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_11", + "position": 11, + "instruction": "Turn out onto parchment, pizza peel.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_12", + "position": 12, + "instruction": "Launch into oven.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_13", + "position": 13, + "instruction": "Lower temp.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_14", + "position": 14, + "instruction": "Bake 8 min.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_15", + "position": 15, + "instruction": "Remove loaf, place on rack, back in oven.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_16", + "position": 16, + "instruction": "Bake 12 min.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_17", + "position": 17, + "instruction": "Drop temp.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_18", + "position": 18, + "instruction": "Bake 12 min.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "sourdough_starter", + "schema_version": 2, + "save_version": 1, + "title": "Sourdough Starter, 100% Hydration", + "summary": null, + "categories_json": "[\"component\"]", + "tags_json": "[\"sourdough\",\"preferment\"]", + "yield_quantity": 100, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 50, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"This is a 100% hydration maintenance formula; fermentation loss is not yet modeled.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"sourdough_starter\",\"title\":\"Sourdough Starter, 100% Hydration\",\"categories\":[\"component\"],\"tags\":[\"sourdough\",\"preferment\"],\"yield\":{\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":50,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_bread\",\"reference\":{\"ingredient_id\":\"flour_bread\"},\"amount\":{\"quantity\":50,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":50,\"unit_id\":\"gram\"},\"percentage\":100}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Mix equal weights of bread flour and water with an established culture and ferment until active.\",\"component_ids\":[\"main\"]}],\"notes\":[\"This is a 100% hydration maintenance formula; fermentation loss is not yet modeled.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Mix equal weights of bread flour and water with an established culture and ferment until active.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "speculoos", + "schema_version": 2, + "save_version": 6, + "title": "Speculoos", + "summary": "Yield: one half sheet pan", + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1857, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one half sheet pan\",\"Dried cake crumbs can be substituted for graham cracker crumbs.\",\"Alternatively, you can roll the dough in between 2 pieces of parchment paper or silicone baking mats to ¼-inch thick, chill the dough, then cut into desired shapes.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 33.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_brown_sugar", + "position": 2, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": 66.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_graham_cracker_crumbs", + "position": 3, + "ingredient_id": "graham_cracker_crumbs", + "subrecipe_id": null, + "quantity": 114, + "unit_id": "gram", + "percentage": 16.74, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_milk_whole", + "position": 4, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 121, + "unit_id": "gram", + "percentage": 17.77, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_honey", + "position": 5, + "ingredient_id": "honey", + "subrecipe_id": null, + "quantity": 84, + "unit_id": "gram", + "percentage": 12.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_flour_all_purpose", + "position": 6, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 681, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.37, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_baking_powder", + "position": 8, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 1.47, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_baking_soda", + "position": 9, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 1.47, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_cinnamon", + "position": 10, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 14, + "unit_id": "gram", + "percentage": 2.06, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_nutmeg", + "position": 11, + "ingredient_id": "nutmeg", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 1.03, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_ginger", + "position": 12, + "ingredient_id": "ginger", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 1.03, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_almond", + "position": 13, + "ingredient_id": "almond", + "subrecipe_id": null, + "quantity": 128, + "unit_id": "gram", + "percentage": 18.8, + "basis_member": 0, + "optional": 0, + "notes": "sliced", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter, sugar, and graham cracker crumbs.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the milk and honey to dissolve.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Alternately add the sifted dry and wet ingredients to the butter mixture.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Mix in the sliced almonds.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Flatten the dough evenly onto a half sheet pan and refrigerate until cold and firm.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Cut the chilled dough into 3-inch wide strips and cut each strip into ¼-inch slices.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Place the slices flat onto a sheet pan.", + "critical_control_point": 0, + "equipment_ids": [ + "sheet_pan" + ] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Bake at 350°F (177°C) until the edges are browned.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "spice_bonbon_ganache", + "schema_version": 2, + "save_version": 6, + "title": "Spice Bonbon Ganache", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_chocolate_milk", + "position": 1, + "ingredient_id": "chocolate_milk", + "subrecipe_id": null, + "quantity": 567, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 333, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_fresh_ginger", + "position": 3, + "ingredient_id": "fresh_ginger", + "subrecipe_id": null, + "quantity": 43, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "peeled & chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_whole_cloves", + "position": 4, + "ingredient_id": "whole_cloves", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_cinnamon_sticks", + "position": 5, + "ingredient_id": "cinnamon_sticks", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_whole_allspice", + "position": 6, + "ingredient_id": "whole_allspice", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_vanilla_bean", + "position": 7, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "split & scraped (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_butter", + "position": 9, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Place the chocolate in a bowl large enough to accommodate the entire recipe.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, bring the cream and spices to a boil; set aside to infuse for 30 minutes.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Bring the spice infused cream back to a boil, then strain over the chocolate. Allow to stand for one minute, then emulsify until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir in the softened butter.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Cover the surface of the ganache with plastic wrap. Allow to rest at room temperature until it reaches 78°F (26°C). The cooled ganache should have a thick, yet fluid consistency to properly fill bonbon shells.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "spiced_candied_peanuts", + "schema_version": 2, + "save_version": 6, + "title": "Spiced Candied Peanuts", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 675, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"You may not need all of the egg whites.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_peanuts", + "position": 1, + "ingredient_id": "peanuts", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_egg_whites", + "position": 2, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 58, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_muscovado_sugar", + "position": 3, + "ingredient_id": "muscovado_sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_cinnamon", + "position": 5, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_ginger", + "position": 6, + "ingredient_id": "ginger", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_black_pepper", + "position": 7, + "ingredient_id": "black_pepper", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground (¼ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_five_spice_powder", + "position": 8, + "ingredient_id": "five_spice_powder", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Evenly coat the peanuts with the egg whites.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Stir together the remaining ingredients and toss with the moistened peanuts to coat.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Spread onto a silicone baking mat and cook at 300°F (149ºC) until golden brown.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "spiced_poaching_liquid", + "schema_version": 2, + "save_version": 6, + "title": "Spiced Poaching Liquid", + "summary": null, + "categories_json": "[\"sauces_liquids\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sauces_liquids\",\"classic\"]", + "yield_quantity": 2350, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 2000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 350, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_lemon_juice", + "position": 3, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_fresh_ginger", + "position": 4, + "ingredient_id": "fresh_ginger", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "peeled & sliced", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_allspice", + "position": 5, + "ingredient_id": "allspice", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_star_anise", + "position": 6, + "ingredient_id": "star_anise", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_cinnamon_stick", + "position": 7, + "ingredient_id": "cinnamon_stick", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_vanilla_bean", + "position": 8, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "split & scraped", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the water, sugar, juice, and spices to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Lower to a simmer and add prepared fruit of choice. Keep covered with parchment paper until a paring knife inserted into the fruit yields little to no resistance.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "sheet_pan" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "spritz_cookie", + "schema_version": 2, + "save_version": 1, + "title": "Spritz Cookie", + "summary": null, + "categories_json": "[\"dessert\"]", + "tags_json": "[\"cookie\"]", + "yield_quantity": 254.5, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"spritz_cookie\",\"title\":\"Spritz Cookie\",\"categories\":[\"dessert\"],\"tags\":[\"cookie\"],\"yield\":{\"amount\":{\"quantity\":254.5,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_all_purpose\",\"reference\":{\"ingredient_id\":\"flour_all_purpose\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_shortening\",\"reference\":{\"ingredient_id\":\"shortening\"},\"amount\":{\"quantity\":73,\"unit_id\":\"gram\"},\"percentage\":73},{\"id\":\"line_03_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":58,\"unit_id\":\"gram\"},\"percentage\":58},{\"id\":\"line_04_egg_whole\",\"reference\":{\"ingredient_id\":\"egg_whole\"},\"amount\":{\"quantity\":20,\"unit_id\":\"gram\"},\"percentage\":20},{\"id\":\"line_05_vanilla_extract\",\"reference\":{\"ingredient_id\":\"vanilla_extract\"},\"amount\":{\"quantity\":1.5,\"unit_id\":\"gram\"},\"percentage\":1.5},{\"id\":\"line_06_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":0.75,\"unit_id\":\"gram\"},\"percentage\":0.75},{\"id\":\"line_07_almond_extract\",\"reference\":{\"ingredient_id\":\"almond_extract\"},\"amount\":{\"quantity\":0.75,\"unit_id\":\"gram\"},\"percentage\":0.75},{\"id\":\"line_08_baking_powder\",\"reference\":{\"ingredient_id\":\"baking_powder\"},\"amount\":{\"quantity\":0.5,\"unit_id\":\"gram\"},\"percentage\":0.5}]}],\"equipment_ids\":[\"mixing_bowl\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Cream shortening, adding sugar in gradually.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Add egg, dry mix, extract.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Mix well.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Fill cookie press.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Form cookies on cookie sheet.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Bake 6 min at 400 °F.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Place the fat, sugar, salt, and spices in the mixing bowl.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"With the paddle attachment, cream these ingredients at low speed.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "mixing_bowl" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_shortening", + "position": 2, + "ingredient_id": "shortening", + "subrecipe_id": null, + "quantity": 73, + "unit_id": "gram", + "percentage": 73, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 58, + "unit_id": "gram", + "percentage": 58, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 20, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vanilla_extract", + "position": 5, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 1.5, + "unit_id": "gram", + "percentage": 1.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.75, + "unit_id": "gram", + "percentage": 0.75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_almond_extract", + "position": 7, + "ingredient_id": "almond_extract", + "subrecipe_id": null, + "quantity": 0.75, + "unit_id": "gram", + "percentage": 0.75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_baking_powder", + "position": 8, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 0.5, + "unit_id": "gram", + "percentage": 0.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Cream shortening, adding sugar in gradually.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Add egg, dry mix, extract.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Mix well.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Fill cookie press.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Form cookies on cookie sheet.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Bake 6 min at 400 °F.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Place the fat, sugar, salt, and spices in the mixing bowl.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "With the paddle attachment, cream these ingredients at low speed.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "srirancha", + "schema_version": 2, + "save_version": 1, + "title": "Srirancha", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"dressing\",\"ranch\"]", + "yield_quantity": 243.6, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"srirancha\",\"title\":\"Srirancha\",\"categories\":[\"sauce\"],\"tags\":[\"dressing\",\"ranch\"],\"yield\":{\"amount\":{\"quantity\":243.6,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_mayonnaise\",\"reference\":{\"ingredient_id\":\"mayonnaise\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_milk\",\"reference\":{\"ingredient_id\":\"milk\"},\"amount\":{\"quantity\":115,\"unit_id\":\"gram\"},\"percentage\":115},{\"id\":\"line_03_sriracha\",\"reference\":{\"ingredient_id\":\"sriracha\"},\"amount\":{\"quantity\":15,\"unit_id\":\"gram\"},\"percentage\":15},{\"id\":\"line_04_ranch_powder\",\"reference\":{\"ingredient_id\":\"hidden_valley_ranch_dry_seasoning\"},\"amount\":{\"quantity\":13.6,\"unit_id\":\"gram\"},\"percentage\":13.6}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_mayonnaise", + "position": 1, + "ingredient_id": "mayonnaise", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_milk", + "position": 2, + "ingredient_id": "milk", + "subrecipe_id": null, + "quantity": 115, + "unit_id": "gram", + "percentage": 115, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sriracha", + "position": 3, + "ingredient_id": "sriracha", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 15, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_ranch_powder", + "position": 4, + "ingredient_id": "hidden_valley_ranch_dry_seasoning", + "subrecipe_id": null, + "quantity": 13.6, + "unit_id": "gram", + "percentage": 13.6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "stabilized_whipped_cream", + "schema_version": 2, + "save_version": 6, + "title": "Stabilized Whipped Cream", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1135, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Gelatin stiffens whipped cream enough to make it suitable as a filling, icing, or for piped decorations.\",\"We like to use stabilized whipped cream as a filling and icing for the Black Forest chocolate cake on page 68.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 7.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 38, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 940, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 qt", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_confectioners_sugar", + "position": 4, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a whisk attachment, whip the cream and sugar to soft peaks.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Melt the bloomed and drained gelatin over a water bath with vanilla extract or alcohol to taste for flavoring and to help thin the gelatin. Allow to cool until tepid.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the melted gelatin to the whipped cream in a quick and steady stream while the mixer is running and whip until desired peaks.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "starch_glaze", + "schema_version": 2, + "save_version": 1, + "title": "Starch Glaze", + "summary": null, + "categories_json": "[\"component\"]", + "tags_json": "[\"glaze\"]", + "yield_quantity": 104, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"starch_glaze\",\"title\":\"Starch Glaze\",\"categories\":[\"component\"],\"tags\":[\"glaze\"],\"yield\":{\"amount\":{\"quantity\":104,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_tapioca_starch\",\"reference\":{\"ingredient_id\":\"tapioca_starch\"},\"amount\":{\"quantity\":4,\"unit_id\":\"gram\"},\"percentage\":4}]}],\"equipment_ids\":[\"mixing_bowl\",\"whisk\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Whisk to combine in bowl.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Heat until thickened.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Apply to bread just before baking.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "mixing_bowl", + "whisk" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_tapioca_starch", + "position": 2, + "ingredient_id": "tapioca_starch", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": 4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Whisk to combine in bowl.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Heat until thickened.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Apply to bread just before baking.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "steamed_eggs", + "schema_version": 2, + "save_version": 1, + "title": "Steamed Eggs", + "summary": null, + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"egg\"]", + "yield_quantity": 133.3, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"steamed_eggs\",\"title\":\"Steamed Eggs\",\"categories\":[\"breakfast\"],\"tags\":[\"egg\"],\"yield\":{\"amount\":{\"quantity\":133.3,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_egg_whole\",\"reference\":{\"ingredient_id\":\"egg_whole\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":19,\"unit_id\":\"gram\"},\"percentage\":19},{\"id\":\"line_03_fat\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":13,\"unit_id\":\"gram\"},\"percentage\":13},{\"id\":\"line_04_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1.1,\"unit_id\":\"gram\"},\"percentage\":1.1},{\"id\":\"line_05_xanthan_gum\",\"reference\":{\"ingredient_id\":\"xanthan_gum\"},\"amount\":{\"quantity\":0.2,\"unit_id\":\"gram\"},\"percentage\":0.2}]}],\"equipment_ids\":[\"blender\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Add to blender.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Blend.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Strain.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Pour 90g in mini cake tin.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "blender" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_egg_whole", + "position": 1, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 19, + "unit_id": "gram", + "percentage": 19, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_fat", + "position": 3, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 13, + "unit_id": "gram", + "percentage": 13, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.1, + "unit_id": "gram", + "percentage": 1.1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_xanthan_gum", + "position": 5, + "ingredient_id": "xanthan_gum", + "subrecipe_id": null, + "quantity": 0.2, + "unit_id": "gram", + "percentage": 0.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Add to blender.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Blend.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Strain.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Pour 90g in mini cake tin.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "stollen", + "schema_version": 2, + "save_version": 6, + "title": "Stollen", + "summary": "Yield: three 600 g (1 lb 5 oz) loaves", + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breakfast\",\"classic\"]", + "yield_quantity": 1800, + "yield_unit_id": "gram", + "yield_servings": 3, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: three 600 g (1 lb 5 oz) loaves\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "sponge", + "position": 1, + "name": "Sponge", + "notes_json": "[]" + }, + { + "id": "dough", + "position": 2, + "name": "Dough", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "dough", + "id": "line_04_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 415, + "unit_id": "gram", + "percentage": 66.4, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_05_salt", + "position": 2, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 8, + "unit_id": "gram", + "percentage": 1.28, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_06_cardamom", + "position": 3, + "ingredient_id": "cardamom", + "subrecipe_id": null, + "quantity": 3.75, + "unit_id": "gram", + "percentage": 0.6, + "basis_member": 0, + "optional": 0, + "notes": "ground (¾ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_07_allspice", + "position": 4, + "ingredient_id": "allspice", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.4, + "basis_member": 0, + "optional": 0, + "notes": "ground (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_08_butter", + "position": 5, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 285, + "unit_id": "gram", + "percentage": 45.6, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_09_egg_whole", + "position": 6, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 16, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_10_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 6.4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_11_honey", + "position": 8, + "ingredient_id": "honey", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 3.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_12_lemon_zest", + "position": 9, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": 0.16, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_13_orange_zest", + "position": 10, + "ingredient_id": "orange_zest", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.4, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_14_raisins", + "position": 11, + "ingredient_id": "raisins", + "subrecipe_id": null, + "quantity": 335, + "unit_id": "gram", + "percentage": 53.6, + "basis_member": 0, + "optional": 0, + "notes": "macerated", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_15_candied_orange_peel", + "position": 12, + "ingredient_id": "candied_orange_peel", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 9.6, + "basis_member": 0, + "optional": 0, + "notes": "¼-inch dice", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_16_whole_almonds", + "position": 13, + "ingredient_id": "whole_almonds", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 6.4, + "basis_member": 0, + "optional": 0, + "notes": "toasted", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_17_whole_pecans", + "position": 14, + "ingredient_id": "whole_pecans", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 6.4, + "basis_member": 0, + "optional": 0, + "notes": "toasted", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "dough", + "id": "line_18_whole_walnuts", + "position": 15, + "ingredient_id": "whole_walnuts", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 6.4, + "basis_member": 0, + "optional": 0, + "notes": "toasted", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "sponge", + "id": "line_01_yeast_fresh", + "position": 1, + "ingredient_id": "yeast_fresh", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 6.4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "sponge", + "id": "line_02_milk_whole", + "position": 2, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 183, + "unit_id": "gram", + "percentage": 29.28, + "basis_member": 0, + "optional": 0, + "notes": "110ºF/43ºC", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "sponge", + "id": "line_03_flour_bread", + "position": 3, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 210, + "unit_id": "gram", + "percentage": 33.6, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Sponge:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Make a sponge with the majority of the flour, yeast, and milk. Sprinkle the remaining flour on top of the sponge. Cover and let proof in a warm place for 20 minutes, or until doubled in size.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Dough:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "In a mixer fitted with a paddle attachment, mix the sponge and all of the dough ingredients on low speed for 2 minutes to hydrate.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Continue to mix on medium-low speed until gluten is developed (about 4-5 minutes).", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Place the dough in an oiled bowl and let proof for 20 minutes.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Add the fruits and nuts by kneading them in by hand. This procedure will be difficult due to the large quantity of inclusions.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Scale/divide into 3 portions and bulk proof for 20 minutes. Turn/flip/fold over the dough and continue to bulk proof for another 20 minutes.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale" + ] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Shaping & Baking:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "De-gas the dough on a floured surface and pre-shape by patting or rolling into a 4 x 8-inch rectangles; bench rest for 5 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_11", + "position": 11, + "instruction": "Form the rectangles into loaves by folding the top ⅓ down to the middle. Fold again so that the edges meet and seal the bottom by pressing the seams together. Bench rest for another 5 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_12", + "position": 12, + "instruction": "Final shape by using a wooden dowel to roll 2 channels into the loaves. There will be 3 bumps and 2 channels in the dough.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_13", + "position": 13, + "instruction": "Lift the top bump up and place it in the channel closest to you. Fold the dough edge backwards to create a loaf that now has 3 ridges, 2 on either side of the 1 in the middle. The middle ridge should be higher than the other two.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_14", + "position": 14, + "instruction": "Final proof the loaves for 30-40 minutes, refrigerating for 10 minutes right before baking which preserves the final shape.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_15", + "position": 15, + "instruction": "Egg wash and bake at 350°F (177°C) for 30-40 minutes, or until the internal temperature is 185°F (85°C). Let cool until warm on wire racks.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_16", + "position": 16, + "instruction": "Finishing:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_17", + "position": 17, + "instruction": "While warm, remove any dark raisins from the exterior and liberally brush with melted butter.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_18", + "position": 18, + "instruction": "Roll each loaf in a 50/50 mixture of vanilla sugar and powdered sugar.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "strawberry_ice_cream", + "schema_version": 2, + "save_version": 6, + "title": "Strawberry Ice Cream", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Puree strawberries with a small amount of lemon or lime juice, then strain the puree through a fine-mesh strainer before weighing. It is best to make the puree right before you spin the ice cream to minimize oxidation of both flavor and color.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_milk_whole", + "position": 1, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 180, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 155, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_milk_powder", + "position": 3, + "ingredient_id": "milk_powder", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_dextrose", + "position": 4, + "ingredient_id": "dextrose", + "subrecipe_id": null, + "quantity": 225, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 53, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_ice_cream_stabilizer", + "position": 6, + "ingredient_id": "ice_cream_stabilizer", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1¼ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_strawberry_puree", + "position": 7, + "ingredient_id": "strawberry_puree", + "subrecipe_id": null, + "quantity": 750, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "fresh", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan large enough to accommodate the entire recipe, combine the milk and cream. Whisk in the milk powder and dextrose by hand, then using an immersion blender, blend the milk powder and dextrose to dissolve.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "saucepan", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Heat until warm, 105°F (40°C); whisk in the sugar mixed with the stabilizer.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Stir with a whisk and heat to 185°F (85°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Chill immediately and allow to mature for 6 to 12 hours.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Blend the puree into the base with an immersion blender until smooth; spin immediately.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "strawberry_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Strawberry Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 2265, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 125, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_strawberry_puree", + "position": 4, + "ingredient_id": "strawberry_puree", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "10% sugar", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lemon_juice", + "position": 5, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whites", + "position": 6, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 220, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Warm ⅓ of the puree and melt the bloomed and drained gelatin into it. Whisk that warm mixture back into the rest of the puree and add the juice. Cool to about 65°F (18°C), or until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make an Italian meringue with the sugar and egg whites; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold ½ of the puree into the meringue. Fold the other ½ into the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the two mixtures together.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "strawberry_passion_fruit_sauce", + "schema_version": 2, + "save_version": 6, + "title": "Strawberry-Passion Fruit Sauce", + "summary": null, + "categories_json": "[\"sauces_liquids\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sauces_liquids\",\"classic\"]", + "yield_quantity": 1000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_strawberry_puree", + "position": 1, + "ingredient_id": "strawberry_puree", + "subrecipe_id": null, + "quantity": 270, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_passion_fruit_puree", + "position": 2, + "ingredient_id": "passion_fruit_puree", + "subrecipe_id": null, + "quantity": 330, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_apricot_puree", + "position": 3, + "ingredient_id": "apricot_puree", + "subrecipe_id": null, + "quantity": 130, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_banana_puree", + "position": 4, + "ingredient_id": "banana_puree", + "subrecipe_id": null, + "quantity": 130, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lime_juice", + "position": 5, + "ingredient_id": "lime_juice", + "subrecipe_id": null, + "quantity": 130, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_confectioners_sugar", + "position": 6, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, whisk all of the ingredients together and bring to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Lower to a simmer and reduce until thickened to desired consistency, stirring periodically.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Cool the sauce down immediately over an ice bath.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "strawberry_passion_fruit_sorbet", + "schema_version": 2, + "save_version": 6, + "title": "Strawberry Passion Fruit Sorbet", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 408, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_dextrose", + "position": 2, + "ingredient_id": "dextrose", + "subrecipe_id": null, + "quantity": 225, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 110, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sorbet_stabilizer", + "position": 4, + "ingredient_id": "sorbet_stabilizer", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1¼ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_passion_fruit_puree", + "position": 5, + "ingredient_id": "passion_fruit_puree", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_strawberry_puree", + "position": 6, + "ingredient_id": "strawberry_puree", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_apricot_puree", + "position": 7, + "ingredient_id": "apricot_puree", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_bananas_puree", + "position": 8, + "ingredient_id": "bananas_puree", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_lime_juice", + "position": 9, + "ingredient_id": "lime_juice", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Place the water in a saucepan large enough to accommodate the entire recipe. With an immersion blender, blend in the dextrose to dissolve.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Combine the sugar with the stabilizer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Heat the mixture until warm, 105°F (40°C); whisk in the sugar that has been blended with the stabilizer.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir with a whisk and heat to 185°F (85°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Chill immediately. Once cool, blend in the purees and juice with an immersion blender and allow to mature for 6 to 12 hours.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Blend with an immersion blender before spinning.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "streusel_topping", + "schema_version": 2, + "save_version": 6, + "title": "Streusel Topping", + "summary": null, + "categories_json": "[\"doughs\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"doughs\",\"classic\"]", + "yield_quantity": 1684, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Streusel can be refrigerated for 3 days or frozen up to 2 months.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + }, + { + "id": "streusel_variations", + "position": 2, + "name": "Streusel Variations", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_brown_sugar", + "position": 1, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 30.27, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 30.27, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_butter", + "position": 3, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": 60.53, + "basis_member": 0, + "optional": 0, + "notes": "cubed & cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_cinnamon", + "position": 4, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 11, + "unit_id": "gram", + "percentage": 1.47, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 8, + "unit_id": "gram", + "percentage": 1.07, + "basis_member": 0, + "optional": 0, + "notes": "1¼ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_vanilla_extract", + "position": 6, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 0.93, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_flour_bread", + "position": 7, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 750, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "streusel_variations", + "id": "line_08_tea_loose", + "position": 1, + "ingredient_id": "tea_loose", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": "For Tea Streusel", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "streusel_variations", + "id": "line_09_lemon_zest", + "position": 2, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "each", + "percentage": 0.4, + "basis_member": 0, + "optional": 0, + "notes": "Zest of whole fruit (for Lemon or Lime Streusel)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "streusel_variations", + "id": "line_10_orange_zest", + "position": 3, + "ingredient_id": "orange_zest", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "each", + "percentage": 0.27, + "basis_member": 0, + "optional": 0, + "notes": "Zest of whole fruit (for Orange Streusel)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "streusel_variations", + "id": "line_11_walnut", + "position": 4, + "ingredient_id": "walnut", + "subrecipe_id": null, + "quantity": 428, + "unit_id": "gram", + "percentage": 57.07, + "basis_member": 0, + "optional": 0, + "notes": "chopped, not toasted (for Nut Streusel)", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix all of the ingredients until desired size of crumb is achieved.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Variations:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Mix the streusel variation inclusion along with the rest of the ingredients in the recipe.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "strudel_dough", + "schema_version": 2, + "save_version": 6, + "title": "Strudel Dough", + "summary": "Yield: two large strudels", + "categories_json": "[\"doughs\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"doughs\",\"classic\"]", + "yield_quantity": 988, + "yield_unit_id": "gram", + "yield_servings": 2, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: two large strudels\",\"The dough should be soft and supple. You may need a little more water depending on the type of flour used and the humidity in the air.\",\"Acid like vinegar or lemon juice helps relax the gluten to make the dough easier to stretch.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 66.67, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_flour_bread", + "position": 2, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 33.33, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.42, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_canola_oil", + "position": 4, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": 13.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_water", + "position": 5, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": "110ºF/43ºC", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_white_vinegar", + "position": 6, + "ingredient_id": "white_vinegar", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 0.83, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix the dry ingredients.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the liquid ingredients to the dry ingredients and mix to develop gluten.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "When the dough comes together enough, switch to a hook attachment and knead until gluten is fully developed.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Lightly coat the dough with oil and place in a lightly oiled bowl.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Cover with plastic wrap and allow to rest for 30 minutes at room temperature before use.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "subway_italian", + "schema_version": 2, + "save_version": 1, + "title": "Subway Italian", + "summary": null, + "categories_json": "[\"bread\"]", + "tags_json": "[\"loaf\",\"copycat\",\"subway\"]", + "yield_quantity": 176, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"subway_italian\",\"title\":\"Subway Italian\",\"categories\":[\"bread\"],\"tags\":[\"loaf\",\"copycat\",\"subway\"],\"yield\":{\"amount\":{\"quantity\":176,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_bread\",\"reference\":{\"ingredient_id\":\"flour_bread\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":60,\"unit_id\":\"gram\"},\"percentage\":60},{\"id\":\"line_03_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":4.7,\"unit_id\":\"gram\"},\"percentage\":4.7},{\"id\":\"line_04_oil\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":4.5,\"unit_id\":\"gram\"},\"percentage\":4.5},{\"id\":\"line_05_wheat_gluten_70_80\",\"reference\":{\"ingredient_id\":\"wheat_gluten_70_80\"},\"amount\":{\"quantity\":3,\"unit_id\":\"gram\"},\"percentage\":3},{\"id\":\"line_06_instant_yeast\",\"reference\":{\"ingredient_id\":\"instant_yeast\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_07_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1.8,\"unit_id\":\"gram\"},\"percentage\":1.8}]}],\"equipment_ids\":[\"oven\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine dry and mix well.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Add water, then dry.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Mix ≈5 min until combined.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Add oil.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Mix to ≈20 min.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Rest 10 min.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Divide into 175 g balls.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Roll into 12 in sticks.\",\"component_ids\":[\"main\"]},{\"id\":\"step_09\",\"order\":9,\"instruction\":\"Grease pan.\",\"component_ids\":[\"main\"]},{\"id\":\"step_10\",\"order\":10,\"instruction\":\"Place sticks in pan.\",\"component_ids\":[\"main\"]},{\"id\":\"step_11\",\"order\":11,\"instruction\":\"Spray sticks with water.\",\"component_ids\":[\"main\"]},{\"id\":\"step_12\",\"order\":12,\"instruction\":\"Proof in pan 1 hr 30 min at 85 °F, humid, oven light.\",\"component_ids\":[\"main\"]},{\"id\":\"step_13\",\"order\":13,\"instruction\":\"Remove, from oven, preheat.\",\"component_ids\":[\"main\"]},{\"id\":\"step_14\",\"order\":14,\"instruction\":\"Bake ≈15 min at 350 °F, middle rack.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "oven" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 60, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 4.7, + "unit_id": "gram", + "percentage": 4.7, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_oil", + "position": 4, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 4.5, + "unit_id": "gram", + "percentage": 4.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_wheat_gluten_70_80", + "position": 5, + "ingredient_id": "wheat_gluten_70_80", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_instant_yeast", + "position": 6, + "ingredient_id": "instant_yeast", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.8, + "unit_id": "gram", + "percentage": 1.8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine dry and mix well.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Add water, then dry.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Mix ≈5 min until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Add oil.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Mix to ≈20 min.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Rest 10 min.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Divide into 175 g balls.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Roll into 12 in sticks.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_09", + "position": 9, + "instruction": "Grease pan.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Place sticks in pan.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_11", + "position": 11, + "instruction": "Spray sticks with water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_12", + "position": 12, + "instruction": "Proof in pan 1 hr 30 min at 85 °F, humid, oven light.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_13", + "position": 13, + "instruction": "Remove, from oven, preheat.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_14", + "position": 14, + "instruction": "Bake ≈15 min at 350 °F, middle rack.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "subway_whole_wheat", + "schema_version": 2, + "save_version": 1, + "title": "Subway Whole Wheat", + "summary": null, + "categories_json": "[\"bread\"]", + "tags_json": "[\"loaf\",\"copycat\",\"subway\"]", + "yield_quantity": 173, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"subway_whole_wheat\",\"title\":\"Subway Whole Wheat\",\"categories\":[\"bread\"],\"tags\":[\"loaf\",\"copycat\",\"subway\"],\"yield\":{\"amount\":{\"quantity\":173,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_whole_wheat\",\"reference\":{\"ingredient_id\":\"flour_whole_wheat\"},\"amount\":{\"quantity\":46,\"unit_id\":\"gram\"},\"percentage\":46,\"basis_member\":true},{\"id\":\"line_02_flour_bread\",\"reference\":{\"ingredient_id\":\"flour_bread\"},\"amount\":{\"quantity\":31,\"unit_id\":\"gram\"},\"percentage\":31,\"basis_member\":true},{\"id\":\"line_03_wheat_gluten_70_80\",\"reference\":{\"ingredient_id\":\"wheat_gluten_70_80\"},\"amount\":{\"quantity\":23,\"unit_id\":\"gram\"},\"percentage\":23,\"basis_member\":true},{\"id\":\"line_04_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":60,\"unit_id\":\"gram\"},\"percentage\":60},{\"id\":\"line_05_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":4.7,\"unit_id\":\"gram\"},\"percentage\":4.7},{\"id\":\"line_06_oil\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":4.5,\"unit_id\":\"gram\"},\"percentage\":4.5},{\"id\":\"line_07_instant_yeast\",\"reference\":{\"ingredient_id\":\"instant_yeast\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_08_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1.8,\"unit_id\":\"gram\"},\"percentage\":1.8}]}],\"equipment_ids\":[\"oven\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine dry and mix well.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Add water, then dry.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Mix ≈5 min until combined.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Add oil.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Mix to ≈20 min.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Rest 10 min.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Divide into 180 g balls.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Roll into 12 in sticks.\",\"component_ids\":[\"main\"]},{\"id\":\"step_09\",\"order\":9,\"instruction\":\"Grease pan.\",\"component_ids\":[\"main\"]},{\"id\":\"step_10\",\"order\":10,\"instruction\":\"Place sticks in pan.\",\"component_ids\":[\"main\"]},{\"id\":\"step_11\",\"order\":11,\"instruction\":\"Spray sticks with water.\",\"component_ids\":[\"main\"]},{\"id\":\"step_12\",\"order\":12,\"instruction\":\"Proof in pan 1 hr 30 min at 85 °F, humid, oven light.\",\"component_ids\":[\"main\"]},{\"id\":\"step_13\",\"order\":13,\"instruction\":\"Remove, from oven, preheat.\",\"component_ids\":[\"main\"]},{\"id\":\"step_14\",\"order\":14,\"instruction\":\"Bake ≈15 min at 350 °F, middle rack.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "oven" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_whole_wheat", + "position": 1, + "ingredient_id": "flour_whole_wheat", + "subrecipe_id": null, + "quantity": 46, + "unit_id": "gram", + "percentage": 46, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_flour_bread", + "position": 2, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 31, + "unit_id": "gram", + "percentage": 31, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_wheat_gluten_70_80", + "position": 3, + "ingredient_id": "wheat_gluten_70_80", + "subrecipe_id": null, + "quantity": 23, + "unit_id": "gram", + "percentage": 23, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_water", + "position": 4, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 60, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 4.7, + "unit_id": "gram", + "percentage": 4.7, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_oil", + "position": 6, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 4.5, + "unit_id": "gram", + "percentage": 4.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_instant_yeast", + "position": 7, + "ingredient_id": "instant_yeast", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.8, + "unit_id": "gram", + "percentage": 1.8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine dry and mix well.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Add water, then dry.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Mix ≈5 min until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Add oil.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Mix to ≈20 min.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Rest 10 min.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Divide into 180 g balls.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Roll into 12 in sticks.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_09", + "position": 9, + "instruction": "Grease pan.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Place sticks in pan.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_11", + "position": 11, + "instruction": "Spray sticks with water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_12", + "position": 12, + "instruction": "Proof in pan 1 hr 30 min at 85 °F, humid, oven light.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_13", + "position": 13, + "instruction": "Remove, from oven, preheat.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_14", + "position": 14, + "instruction": "Bake ≈15 min at 350 °F, middle rack.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "sugar_cookies", + "schema_version": 2, + "save_version": 6, + "title": "Sugar Cookies", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1150, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"This recipe is ideal for holiday cookies and flooding applications.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_baking_powder", + "position": 2, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 1.54, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.1, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_butter", + "position": 4, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whole", + "position": 6, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 22.03, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_milk_whole", + "position": 7, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 13.22, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_vanilla_extract", + "position": 8, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 1.54, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Sift the dry ingredients and set aside.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter and sugar.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the eggs one at a time, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Alternately add the dry and wet ingredients, starting and ending with the dry.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Chill before use.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Roll to desired thickness and portion with a cookie cutter.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Bake at 325ºF (163ºC).", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "sushi_rice", + "schema_version": 2, + "save_version": 1, + "title": "Sushi Rice", + "summary": null, + "categories_json": "[\"side\"]", + "tags_json": "[\"rice\"]", + "yield_quantity": 279.9, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"sushi_rice\",\"title\":\"Sushi Rice\",\"categories\":[\"side\"],\"tags\":[\"rice\"],\"yield\":{\"amount\":{\"quantity\":279.9,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_rice\",\"reference\":{\"ingredient_id\":\"rice\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":150,\"unit_id\":\"gram\"},\"percentage\":150},{\"id\":\"line_03_vinegar_rice\",\"reference\":{\"ingredient_id\":\"vinegar_rice\"},\"amount\":{\"quantity\":16.5,\"unit_id\":\"gram\"},\"percentage\":16.5},{\"id\":\"line_04_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":10,\"unit_id\":\"gram\"},\"percentage\":10},{\"id\":\"line_05_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":3.4,\"unit_id\":\"gram\"},\"percentage\":3.4},{\"id\":\"line_06_msg\",\"reference\":{\"ingredient_id\":\"msg\"},\"amount\":{\"quantity\":0,\"unit_id\":\"gram\"},\"percentage\":0}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Cook rice in rice cooker.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Mix, dissolve salt, msg, sugar into rice vinegar.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Add seasoning liquid to cooked rice.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_rice", + "position": 1, + "ingredient_id": "rice", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 150, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_vinegar_rice", + "position": 3, + "ingredient_id": "vinegar_rice", + "subrecipe_id": null, + "quantity": 16.5, + "unit_id": "gram", + "percentage": 16.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 10, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 3.4, + "unit_id": "gram", + "percentage": 3.4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_msg", + "position": 6, + "ingredient_id": "msg", + "subrecipe_id": null, + "quantity": 0, + "unit_id": "gram", + "percentage": 0, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Cook rice in rice cooker.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Mix, dissolve salt, msg, sugar into rice vinegar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Add seasoning liquid to cooked rice.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "sweet_corn_ice_cream", + "schema_version": 2, + "save_version": 6, + "title": "Sweet Corn Ice Cream", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_milk_whole", + "position": 1, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 850, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 260, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_milk_powder", + "position": 3, + "ingredient_id": "milk_powder", + "subrecipe_id": null, + "quantity": 65, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_dextrose", + "position": 4, + "ingredient_id": "dextrose", + "subrecipe_id": null, + "quantity": 205, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sweet_corn", + "position": 5, + "ingredient_id": "sweet_corn", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "shaved, cobs reserved", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_invert_sugar", + "position": 6, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_ice_cream_stabilizer", + "position": 8, + "ingredient_id": "ice_cream_stabilizer", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1¼ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan large enough to accommodate the entire recipe, combine the milk and cream. With an immersion blender, blend in the milk powder and dextrose to dissolve.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Heat to 185°F (85°C) along with the corn kernels and cobs. Set aside to infuse for 1 hour.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Remove the cobs with tongs and then blend with an immersion blender until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Heat the mixture until warm, 105°F (40°C); whisk in the invert sugar and the granulated sugar that has been blended with the stabilizer and salt.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "thermometer", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Stir with a whisk and heat to 185°F (85°C). Strain.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Chill immediately and allow to mature for 6 to 12 hours.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Blend with an immersion blender before spinning.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "sweet_hawaiian_rolls", + "schema_version": 2, + "save_version": 1, + "title": "Sweet Hawaiian Rolls", + "summary": null, + "categories_json": "[\"bread\"]", + "tags_json": "[\"roll\"]", + "yield_quantity": 224.42, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"sweet_hawaiian_rolls\",\"title\":\"Sweet Hawaiian Rolls\",\"categories\":[\"bread\"],\"tags\":[\"roll\"],\"yield\":{\"amount\":{\"quantity\":224.42,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_bread\",\"reference\":{\"ingredient_id\":\"flour_bread\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":55,\"unit_id\":\"gram\"},\"percentage\":55},{\"id\":\"line_03_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":28,\"unit_id\":\"gram\"},\"percentage\":28},{\"id\":\"line_04_oil\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":18,\"unit_id\":\"gram\"},\"percentage\":18},{\"id\":\"line_05_egg_whole\",\"reference\":{\"ingredient_id\":\"egg_whole\"},\"amount\":{\"quantity\":12,\"unit_id\":\"gram\"},\"percentage\":12},{\"id\":\"line_06_nonfat_milk_powder\",\"reference\":{\"ingredient_id\":\"nonfat_milk_powder\"},\"amount\":{\"quantity\":5.25,\"unit_id\":\"gram\"},\"percentage\":5.25},{\"id\":\"line_07_instant_yeast\",\"reference\":{\"ingredient_id\":\"instant_yeast\"},\"amount\":{\"quantity\":3.5,\"unit_id\":\"gram\"},\"percentage\":3.5},{\"id\":\"line_08_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_09_lecithin_powder\",\"reference\":{\"ingredient_id\":\"lecithin_powder\"},\"amount\":{\"quantity\":0.67,\"unit_id\":\"gram\"},\"percentage\":0.67}]}],\"equipment_ids\":[\"whisk\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine, whisk dry ingredients, except sugar.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Combine, whisk wet ingredients, except oil.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Mix to moderate gluten development.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Add sugar, in stages.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Mix to full gluten development.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Add oil, slowly.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Mix until dough is smooth, glossy, full gluten development again.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Form into ≈35 g balls.\",\"component_ids\":[\"main\"]},{\"id\":\"step_09\",\"order\":9,\"instruction\":\"Arrange on greased, optionally parchment-lined 13 in × 9 in pan.\",\"component_ids\":[\"main\"]},{\"id\":\"step_10\",\"order\":10,\"instruction\":\"Proof covered.\",\"component_ids\":[\"main\"]},{\"id\":\"step_11\",\"order\":11,\"instruction\":\"Bake ≈16 min at 350 °F.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "whisk" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 55, + "unit_id": "gram", + "percentage": 55, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 28, + "unit_id": "gram", + "percentage": 28, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_oil", + "position": 4, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 18, + "unit_id": "gram", + "percentage": 18, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_whole", + "position": 5, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 12, + "unit_id": "gram", + "percentage": 12, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_nonfat_milk_powder", + "position": 6, + "ingredient_id": "nonfat_milk_powder", + "subrecipe_id": null, + "quantity": 5.25, + "unit_id": "gram", + "percentage": 5.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_instant_yeast", + "position": 7, + "ingredient_id": "instant_yeast", + "subrecipe_id": null, + "quantity": 3.5, + "unit_id": "gram", + "percentage": 3.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_lecithin_powder", + "position": 9, + "ingredient_id": "lecithin_powder", + "subrecipe_id": null, + "quantity": 0.67, + "unit_id": "gram", + "percentage": 0.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine, whisk dry ingredients, except sugar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Combine, whisk wet ingredients, except oil.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Mix to moderate gluten development.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Add sugar, in stages.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Mix to full gluten development.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Add oil, slowly.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Mix until dough is smooth, glossy, full gluten development again.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Form into ≈35 g balls.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_09", + "position": 9, + "instruction": "Arrange on greased, optionally parchment-lined 13 in × 9 in pan.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Proof covered.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_11", + "position": 11, + "instruction": "Bake ≈16 min at 350 °F.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "sweet_potato_cake", + "schema_version": 2, + "save_version": 6, + "title": "Sweet Potato Cake", + "summary": "Yield: one half sheet pan", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 2500, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one half sheet pan\",\"This cake can also be baked in cake pans.\",\"It is best to add the vanilla bean seeds to the meringue toward the end of the mixing process.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sweet_potato_puree", + "position": 1, + "ingredient_id": "sweet_potato_puree", + "subrecipe_id": null, + "quantity": 1125, + "unit_id": "gram", + "percentage": 1250, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_butter", + "position": 2, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 225, + "unit_id": "gram", + "percentage": 250, + "basis_member": 0, + "optional": 0, + "notes": "melted", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 135, + "unit_id": "gram", + "percentage": 150, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 280, + "unit_id": "gram", + "percentage": 311.11, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 135, + "unit_id": "gram", + "percentage": 150, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_flour_all_purpose", + "position": 6, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 90, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_baking_powder", + "position": 7, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 11, + "unit_id": "gram", + "percentage": 12.22, + "basis_member": 0, + "optional": 0, + "notes": "2¼ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_egg_whites", + "position": 8, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 270, + "unit_id": "gram", + "percentage": 300, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_sugar", + "position": 9, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 270, + "unit_id": "gram", + "percentage": 300, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_vanilla_bean", + "position": 10, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "each", + "percentage": 2.22, + "basis_member": 0, + "optional": 0, + "notes": "seeds", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Cook the sweet potatoes in salted water until tender and drain well.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Pass the sweet potatoes through a food mill, then weigh.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk the sweet potato puree, butter, cream, and egg yolks by hand until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Whisk the dry ingredients into the sweet potato mixture until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "In a mixer fitted with a whisk attachment, make a medium-stiff peak French meringue with the egg whites, sugar, and vanilla bean seeds. Fold into the sweet potato mixture.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Liberally sprinkle mixed, untoasted nuts on top of the cake before baking at 350ºF (177ºC).", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "sweet_potato_caramel_bonbon_ganache", + "schema_version": 2, + "save_version": 6, + "title": "Sweet Potato-Caramel Bonbon Ganache", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sugar", + "position": 1, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_glucose_syrup", + "position": 3, + "ingredient_id": "glucose_syrup", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_heavy_cream", + "position": 4, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "hot", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sweet_potato_puree", + "position": 5, + "ingredient_id": "sweet_potato_puree", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_ginger", + "position": 6, + "ingredient_id": "ginger", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_cinnamon", + "position": 7, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_chocolate_milk", + "position": 9, + "ingredient_id": "chocolate_milk", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_bourbon", + "position": 10, + "ingredient_id": "bourbon", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Make a deep amber caramel with the sugar, water, and glucose.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Deglaze the caramel with the hot cream. Add the puree, spices, and salt.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a saucepan, bring the mixture to a boil while whisking continuously.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Pour the hot mixture over the chocolate. Allow to stand for one minute, then emulsify until smooth. If necessary, place over a water bath not exceeding 93°F (34°C) to melt the chocolate.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Add the bourbon and mix until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Cover the surface of the ganache with plastic wrap. Allow to rest at room temperature until it reaches 78°F (26°C). The cooled ganache should have a thick, yet fluid consistency to properly fill bonbon shells.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "sweet_potato_hummus", + "schema_version": 2, + "save_version": 1, + "title": "Sweet Potato Hummus", + "summary": null, + "categories_json": "[\"side\"]", + "tags_json": "[\"hummus\",\"sweet-potato\"]", + "yield_quantity": 129.45, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"sweet_potato_hummus\",\"title\":\"Sweet Potato Hummus\",\"categories\":[\"side\"],\"tags\":[\"hummus\",\"sweet-potato\"],\"yield\":{\"amount\":{\"quantity\":129.45,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_sweet_potato_cooked\",\"reference\":{\"ingredient_id\":\"sweet_potato_cooked\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_oil\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":10,\"unit_id\":\"gram\"},\"percentage\":10},{\"id\":\"line_03_tahini\",\"reference\":{\"ingredient_id\":\"tahini\"},\"amount\":{\"quantity\":8.5,\"unit_id\":\"gram\"},\"percentage\":8.5},{\"id\":\"line_04_lemon_juice\",\"reference\":{\"ingredient_id\":\"lemon_juice\"},\"amount\":{\"quantity\":8,\"unit_id\":\"gram\"},\"percentage\":8},{\"id\":\"line_05_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1.75,\"unit_id\":\"gram\"},\"percentage\":1.75},{\"id\":\"line_06_garlic_powder\",\"reference\":{\"ingredient_id\":\"garlic_powder\"},\"amount\":{\"quantity\":0.6,\"unit_id\":\"gram\"},\"percentage\":0.6},{\"id\":\"line_07_cumin\",\"reference\":{\"ingredient_id\":\"cumin\"},\"amount\":{\"quantity\":0.25,\"unit_id\":\"gram\"},\"percentage\":0.25},{\"id\":\"line_08_zaatar\",\"reference\":{\"ingredient_id\":\"zaatar\"},\"amount\":{\"quantity\":0.25,\"unit_id\":\"gram\"},\"percentage\":0.25},{\"id\":\"line_09_chipotle_pepper\",\"reference\":{\"ingredient_id\":\"chipotle_powder\"},\"amount\":{\"quantity\":0.1,\"unit_id\":\"gram\"},\"percentage\":0.1}]}],\"equipment_ids\":[\"blender\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine ingredients in blender.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Blend until smooth.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "blender" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sweet_potato_cooked", + "position": 1, + "ingredient_id": "sweet_potato_cooked", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_oil", + "position": 2, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 10, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_tahini", + "position": 3, + "ingredient_id": "tahini", + "subrecipe_id": null, + "quantity": 8.5, + "unit_id": "gram", + "percentage": 8.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_lemon_juice", + "position": 4, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 8, + "unit_id": "gram", + "percentage": 8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.75, + "unit_id": "gram", + "percentage": 1.75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_garlic_powder", + "position": 6, + "ingredient_id": "garlic_powder", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": 0.6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_cumin", + "position": 7, + "ingredient_id": "cumin", + "subrecipe_id": null, + "quantity": 0.25, + "unit_id": "gram", + "percentage": 0.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_zaatar", + "position": 8, + "ingredient_id": "zaatar", + "subrecipe_id": null, + "quantity": 0.25, + "unit_id": "gram", + "percentage": 0.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_chipotle_pepper", + "position": 9, + "ingredient_id": "chipotle_powder", + "subrecipe_id": null, + "quantity": 0.1, + "unit_id": "gram", + "percentage": 0.1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine ingredients in blender.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Blend until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "sweet_roll", + "schema_version": 2, + "save_version": 1, + "title": "Sweet Roll", + "summary": null, + "categories_json": "[\"bread\"]", + "tags_json": "[\"roll\"]", + "yield_quantity": 214.6, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"sweet_roll\",\"title\":\"Sweet Roll\",\"categories\":[\"bread\"],\"tags\":[\"roll\"],\"yield\":{\"amount\":{\"quantity\":214.6,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_all_purpose\",\"reference\":{\"ingredient_id\":\"flour_all_purpose\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":40,\"unit_id\":\"gram\"},\"percentage\":40},{\"id\":\"line_03_shortening\",\"reference\":{\"ingredient_id\":\"shortening\"},\"amount\":{\"quantity\":30,\"unit_id\":\"gram\"},\"percentage\":30},{\"id\":\"line_04_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":20,\"unit_id\":\"gram\"},\"percentage\":20},{\"id\":\"line_05_egg_whole\",\"reference\":{\"ingredient_id\":\"egg_whole\"},\"amount\":{\"quantity\":15,\"unit_id\":\"gram\"},\"percentage\":15},{\"id\":\"line_06_nonfat_milk_powder\",\"reference\":{\"ingredient_id\":\"nonfat_milk_powder\"},\"amount\":{\"quantity\":5,\"unit_id\":\"gram\"},\"percentage\":5},{\"id\":\"line_07_instant_yeast\",\"reference\":{\"ingredient_id\":\"instant_yeast\"},\"amount\":{\"quantity\":2.6,\"unit_id\":\"gram\"},\"percentage\":2.6},{\"id\":\"line_08_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"TODO: Add complete preparation instructions for this recipe.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 40, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_shortening", + "position": 3, + "ingredient_id": "shortening", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": 30, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 20, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_whole", + "position": 5, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 15, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_nonfat_milk_powder", + "position": 6, + "ingredient_id": "nonfat_milk_powder", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_instant_yeast", + "position": 7, + "ingredient_id": "instant_yeast", + "subrecipe_id": null, + "quantity": 2.6, + "unit_id": "gram", + "percentage": 2.6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "TODO: Add complete preparation instructions for this recipe.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "sweet_sour_sauce", + "schema_version": 2, + "save_version": 1, + "title": "Sweet & Sour Sauce", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"chinese\"]", + "yield_quantity": 239.03, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"sweet_sour_sauce\",\"title\":\"Sweet & Sour Sauce\",\"categories\":[\"sauce\"],\"tags\":[\"chinese\"],\"yield\":{\"amount\":{\"quantity\":239.03,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":80,\"unit_id\":\"gram\"},\"percentage\":80},{\"id\":\"line_03_vinegar_5\",\"reference\":{\"ingredient_id\":\"vinegar_5\"},\"amount\":{\"quantity\":50,\"unit_id\":\"gram\"},\"percentage\":50},{\"id\":\"line_04_cornstarch\",\"reference\":{\"ingredient_id\":\"cornstarch\"},\"amount\":{\"quantity\":7,\"unit_id\":\"gram\"},\"percentage\":7},{\"id\":\"line_05_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1.2,\"unit_id\":\"gram\"},\"percentage\":1.2},{\"id\":\"line_06_msg\",\"reference\":{\"ingredient_id\":\"msg\"},\"amount\":{\"quantity\":0.83,\"unit_id\":\"gram\"},\"percentage\":0.83}]}],\"equipment_ids\":[\"whisk\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine all in sauce pot.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Whisk and bring to boil until thick.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "whisk" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": 80, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_vinegar_5", + "position": 3, + "ingredient_id": "vinegar_5", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_cornstarch", + "position": 4, + "ingredient_id": "cornstarch", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 7, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.2, + "unit_id": "gram", + "percentage": 1.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_msg", + "position": 6, + "ingredient_id": "msg", + "subrecipe_id": null, + "quantity": 0.83, + "unit_id": "gram", + "percentage": 0.83, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine all in sauce pot.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Whisk and bring to boil until thick.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "swiss_meringue_buttercream", + "schema_version": 2, + "save_version": 6, + "title": "Swiss Meringue Buttercream", + "summary": null, + "categories_json": "[\"frostings_glazes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frostings_glazes\",\"classic\"]", + "yield_quantity": 1808, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_egg_whites", + "position": 1, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 330, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 570, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_butter", + "position": 3, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 908, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a bowl of a mixer, whisk the egg whites and sugar over a water bath until the mixture reaches 140°F (60°C).", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "stand_mixer", + "thermometer", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a whisk attachment, whisk until the mixture reaches medium-stiff peaks and has cooled until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Begin adding the butter in several additions as it whisks into the meringue.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Raise the speed of the mixer and whisk until the buttercream is light and fluffy.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Flavor as desired.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "swiss_muesli", + "schema_version": 2, + "save_version": 6, + "title": "Swiss Muesli", + "summary": null, + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breakfast\",\"classic\"]", + "yield_quantity": 2500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Any type of fresh fruit can be substituted for the fresh berries.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_milk_whole", + "position": 1, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 720, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_honey", + "position": 2, + "ingredient_id": "honey", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_rolled_oats", + "position": 4, + "ingredient_id": "rolled_oats", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_apple", + "position": 5, + "ingredient_id": "apple", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "peeled & shredded", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_pear", + "position": 6, + "ingredient_id": "pear", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "peeled & shredded", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_golden_raisins", + "position": 7, + "ingredient_id": "golden_raisins", + "subrecipe_id": null, + "quantity": 113, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_dried_cherries", + "position": 8, + "ingredient_id": "dried_cherries", + "subrecipe_id": null, + "quantity": 113, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_dried_apricots", + "position": 9, + "ingredient_id": "dried_apricots", + "subrecipe_id": null, + "quantity": 56, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "diced", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_walnut", + "position": 10, + "ingredient_id": "walnut", + "subrecipe_id": null, + "quantity": 113, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "toasted & chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_blueberries", + "position": 11, + "ingredient_id": "blueberries", + "subrecipe_id": null, + "quantity": 85, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "fresh", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_raspberries", + "position": 12, + "ingredient_id": "raspberries", + "subrecipe_id": null, + "quantity": 85, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "fresh", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_yogurt", + "position": 13, + "ingredient_id": "yogurt", + "subrecipe_id": null, + "quantity": 340, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "plain", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_14_heavy_cream", + "position": 14, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softly whipped", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Whisk the milk, honey, and salt to dissolve. Combine with the oats and refrigerate overnight.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Fold in the fruits and walnuts, followed by the yogurt and whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "taco_bell_refried_beans", + "schema_version": 2, + "save_version": 1, + "title": "Taco Bell Refried Beans", + "summary": null, + "categories_json": "[\"side\"]", + "tags_json": "[\"beans\",\"copycat\",\"taco-bell\"]", + "yield_quantity": 154, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"taco_bell_refried_beans\",\"title\":\"Taco Bell Refried Beans\",\"categories\":[\"side\"],\"tags\":[\"beans\",\"copycat\",\"taco-bell\"],\"yield\":{\"amount\":{\"quantity\":154,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_cooked_pinto_beans_drained\",\"reference\":{\"ingredient_id\":\"cooked_pinto_beans_drained\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":30,\"unit_id\":\"gram\"},\"percentage\":30},{\"id\":\"line_03_lard\",\"reference\":{\"ingredient_id\":\"lard\"},\"amount\":{\"quantity\":18,\"unit_id\":\"gram\"},\"percentage\":18},{\"id\":\"line_04_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":5,\"unit_id\":\"gram\"},\"percentage\":5},{\"id\":\"line_05_lime_juice\",\"reference\":{\"ingredient_id\":\"lime_juice\"},\"amount\":{\"quantity\":0.8,\"unit_id\":\"gram\"},\"percentage\":0.8},{\"id\":\"line_06_cumin\",\"reference\":{\"ingredient_id\":\"cumin\"},\"amount\":{\"quantity\":0.1,\"unit_id\":\"gram\"},\"percentage\":0.1},{\"id\":\"line_07_oregano\",\"reference\":{\"ingredient_id\":\"oregano\"},\"amount\":{\"quantity\":0.1,\"unit_id\":\"gram\"},\"percentage\":0.1}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Cook beans\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Mash with remaining ingredients\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_cooked_pinto_beans_drained", + "position": 1, + "ingredient_id": "cooked_pinto_beans_drained", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": 30, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_lard", + "position": 3, + "ingredient_id": "lard", + "subrecipe_id": null, + "quantity": 18, + "unit_id": "gram", + "percentage": 18, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lime_juice", + "position": 5, + "ingredient_id": "lime_juice", + "subrecipe_id": null, + "quantity": 0.8, + "unit_id": "gram", + "percentage": 0.8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_cumin", + "position": 6, + "ingredient_id": "cumin", + "subrecipe_id": null, + "quantity": 0.1, + "unit_id": "gram", + "percentage": 0.1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_oregano", + "position": 7, + "ingredient_id": "oregano", + "subrecipe_id": null, + "quantity": 0.1, + "unit_id": "gram", + "percentage": 0.1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Cook beans", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Mash with remaining ingredients", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "taco_bell_seasoned_beef", + "schema_version": 2, + "save_version": 1, + "title": "Taco Bell Seasoned Beef", + "summary": null, + "categories_json": "[\"meat\"]", + "tags_json": "[\"beef\",\"copycat\",\"taco-bell\"]", + "yield_quantity": 107.13, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"taco_bell_seasoned_beef\",\"title\":\"Taco Bell Seasoned Beef\",\"categories\":[\"meat\"],\"tags\":[\"beef\",\"copycat\",\"taco-bell\"],\"yield\":{\"amount\":{\"quantity\":107.13,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_ground_beef_73_27_raw\",\"reference\":{\"ingredient_id\":\"ground_beef_73_27_raw\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_oats\",\"reference\":{\"ingredient_id\":\"oats\"},\"amount\":{\"quantity\":3,\"unit_id\":\"gram\"},\"percentage\":3},{\"id\":\"line_03_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1,\"unit_id\":\"gram\"},\"percentage\":1},{\"id\":\"line_04_cocoa_powder\",\"reference\":{\"ingredient_id\":\"cocoa_powder\"},\"amount\":{\"quantity\":0.7,\"unit_id\":\"gram\"},\"percentage\":0.7},{\"id\":\"line_05_tomato_bouillon\",\"reference\":{\"ingredient_id\":\"tomato_bouillon\"},\"amount\":{\"quantity\":0.7,\"unit_id\":\"gram\"},\"percentage\":0.7},{\"id\":\"line_06_chili_powder\",\"reference\":{\"ingredient_id\":\"chili_powder\"},\"amount\":{\"quantity\":0.4,\"unit_id\":\"gram\"},\"percentage\":0.4},{\"id\":\"line_07_cornstarch\",\"reference\":{\"ingredient_id\":\"cornstarch\"},\"amount\":{\"quantity\":0.33,\"unit_id\":\"gram\"},\"percentage\":0.33},{\"id\":\"line_08_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":0.25,\"unit_id\":\"gram\"},\"percentage\":0.25},{\"id\":\"line_09_onion_powder\",\"reference\":{\"ingredient_id\":\"onion_powder\"},\"amount\":{\"quantity\":0.25,\"unit_id\":\"gram\"},\"percentage\":0.25},{\"id\":\"line_10_garlic_powder\",\"reference\":{\"ingredient_id\":\"garlic_powder\"},\"amount\":{\"quantity\":0.25,\"unit_id\":\"gram\"},\"percentage\":0.25},{\"id\":\"line_11_cumin\",\"reference\":{\"ingredient_id\":\"cumin\"},\"amount\":{\"quantity\":0.25,\"unit_id\":\"gram\"},\"percentage\":0.25}]}],\"equipment_ids\":[\"whisk\"],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Boil beef until cooked.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Drain beef; set aside.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Combine, whisk dry ingredients and small amount of cold water (enough dissolve sugar, salt).\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Combine beef and slurry in pan.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Heat, stirring until thickened slightly.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "whisk" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_ground_beef_73_27_raw", + "position": 1, + "ingredient_id": "ground_beef_73_27_raw", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_oats", + "position": 2, + "ingredient_id": "oats", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_cocoa_powder", + "position": 4, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 0.7, + "unit_id": "gram", + "percentage": 0.7, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_tomato_bouillon", + "position": 5, + "ingredient_id": "tomato_bouillon", + "subrecipe_id": null, + "quantity": 0.7, + "unit_id": "gram", + "percentage": 0.7, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_chili_powder", + "position": 6, + "ingredient_id": "chili_powder", + "subrecipe_id": null, + "quantity": 0.4, + "unit_id": "gram", + "percentage": 0.4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_cornstarch", + "position": 7, + "ingredient_id": "cornstarch", + "subrecipe_id": null, + "quantity": 0.33, + "unit_id": "gram", + "percentage": 0.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_sugar", + "position": 8, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 0.25, + "unit_id": "gram", + "percentage": 0.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_onion_powder", + "position": 9, + "ingredient_id": "onion_powder", + "subrecipe_id": null, + "quantity": 0.25, + "unit_id": "gram", + "percentage": 0.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_garlic_powder", + "position": 10, + "ingredient_id": "garlic_powder", + "subrecipe_id": null, + "quantity": 0.25, + "unit_id": "gram", + "percentage": 0.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_cumin", + "position": 11, + "ingredient_id": "cumin", + "subrecipe_id": null, + "quantity": 0.25, + "unit_id": "gram", + "percentage": 0.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Boil beef until cooked.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Drain beef; set aside.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Combine, whisk dry ingredients and small amount of cold water (enough dissolve sugar, salt).", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Combine beef and slurry in pan.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Heat, stirring until thickened slightly.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "taco_bell_slow_roasted_shredded_chicken", + "schema_version": 2, + "save_version": 1, + "title": "Taco Bell Slow Roasted Shredded Chicken", + "summary": null, + "categories_json": "[\"meat\"]", + "tags_json": "[\"chicken\",\"copycat\",\"taco-bell\"]", + "yield_quantity": 128.6, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"taco_bell_slow_roasted_shredded_chicken\",\"title\":\"Taco Bell Slow Roasted Shredded Chicken\",\"categories\":[\"meat\"],\"tags\":[\"chicken\",\"copycat\",\"taco-bell\"],\"yield\":{\"amount\":{\"quantity\":128.6,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_chicken_breast\",\"reference\":{\"ingredient_id\":\"chicken_breast\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":21,\"unit_id\":\"gram\"},\"percentage\":21},{\"id\":\"line_03_oil\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":2.5,\"unit_id\":\"gram\"},\"percentage\":2.5},{\"id\":\"line_04_cornstarch\",\"reference\":{\"ingredient_id\":\"cornstarch\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_05_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1,\"unit_id\":\"gram\"},\"percentage\":1},{\"id\":\"line_06_tomato_bouillon\",\"reference\":{\"ingredient_id\":\"tomato_bouillon\"},\"amount\":{\"quantity\":0.7,\"unit_id\":\"gram\"},\"percentage\":0.7},{\"id\":\"line_07_chili_powder\",\"reference\":{\"ingredient_id\":\"chili_powder\"},\"amount\":{\"quantity\":0.4,\"unit_id\":\"gram\"},\"percentage\":0.4},{\"id\":\"line_08_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":0.25,\"unit_id\":\"gram\"},\"percentage\":0.25},{\"id\":\"line_09_onion_powder\",\"reference\":{\"ingredient_id\":\"onion_powder\"},\"amount\":{\"quantity\":0.25,\"unit_id\":\"gram\"},\"percentage\":0.25},{\"id\":\"line_10_garlic_powder\",\"reference\":{\"ingredient_id\":\"garlic_powder\"},\"amount\":{\"quantity\":0.25,\"unit_id\":\"gram\"},\"percentage\":0.25},{\"id\":\"line_11_cumin\",\"reference\":{\"ingredient_id\":\"cumin\"},\"amount\":{\"quantity\":0.25,\"unit_id\":\"gram\"},\"percentage\":0.25}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Poach or braise chicken in water (ingredient listed), ≈180 °F for 1 hr.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Add to mixing bow with paddle attachment, shred.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Combine cold water, remaining ingredients.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Add to pan with chicken.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Heat until thickened.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_chicken_breast", + "position": 1, + "ingredient_id": "chicken_breast", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 21, + "unit_id": "gram", + "percentage": 21, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_oil", + "position": 3, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 2.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_cornstarch", + "position": 4, + "ingredient_id": "cornstarch", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_tomato_bouillon", + "position": 6, + "ingredient_id": "tomato_bouillon", + "subrecipe_id": null, + "quantity": 0.7, + "unit_id": "gram", + "percentage": 0.7, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_chili_powder", + "position": 7, + "ingredient_id": "chili_powder", + "subrecipe_id": null, + "quantity": 0.4, + "unit_id": "gram", + "percentage": 0.4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_sugar", + "position": 8, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 0.25, + "unit_id": "gram", + "percentage": 0.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_onion_powder", + "position": 9, + "ingredient_id": "onion_powder", + "subrecipe_id": null, + "quantity": 0.25, + "unit_id": "gram", + "percentage": 0.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_garlic_powder", + "position": 10, + "ingredient_id": "garlic_powder", + "subrecipe_id": null, + "quantity": 0.25, + "unit_id": "gram", + "percentage": 0.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_cumin", + "position": 11, + "ingredient_id": "cumin", + "subrecipe_id": null, + "quantity": 0.25, + "unit_id": "gram", + "percentage": 0.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Poach or braise chicken in water (ingredient listed), ≈180 °F for 1 hr.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Add to mixing bow with paddle attachment, shred.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Combine cold water, remaining ingredients.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Add to pan with chicken.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Heat until thickened.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "tangzhong", + "schema_version": 2, + "save_version": 1, + "title": "Tangzhong", + "summary": null, + "categories_json": "[\"component\"]", + "tags_json": "[\"bread\",\"preferment\"]", + "yield_quantity": 600, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "flour_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"The theoretical yield assumes no measured cooking loss; replace it with an observed finished weight when available.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"tangzhong\",\"title\":\"Tangzhong\",\"categories\":[\"component\"],\"tags\":[\"bread\",\"preferment\"],\"yield\":{\"amount\":{\"quantity\":600,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"flour_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Tangzhong\",\"items\":[{\"id\":\"flour\",\"reference\":{\"ingredient_id\":\"flour_all_purpose\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":500,\"unit_id\":\"gram\"},\"percentage\":500}]}],\"equipment_ids\":[\"saucepan\",\"whisk\"],\"steps\":[{\"id\":\"combine\",\"order\":1,\"instruction\":\"Whisk the flour and water together in a saucepan.\",\"component_ids\":[\"main\"],\"item_ids\":[\"flour\",\"water\"]},{\"id\":\"cook\",\"order\":2,\"instruction\":\"Cook over medium-low heat, stirring constantly, until thickened and the mixture reaches 65 °C.\",\"component_ids\":[\"main\"],\"temperature\":{\"quantity\":65,\"unit_id\":\"celsius\"}},{\"id\":\"cool\",\"order\":3,\"instruction\":\"Remove from the heat, cover the surface directly, and cool before using.\"}],\"notes\":[\"The theoretical yield assumes no measured cooking loss; replace it with an observed finished weight when available.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [ + "saucepan", + "whisk" + ], + "components": [ + { + "id": "main", + "position": 1, + "name": "Tangzhong", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "flour", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": 500, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "combine", + "position": 1, + "instruction": "Whisk the flour and water together in a saucepan.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "cook", + "position": 2, + "instruction": "Cook over medium-low heat, stirring constantly, until thickened and the mixture reaches 65 °C.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "cool", + "position": 3, + "instruction": "Remove from the heat, cover the surface directly, and cool before using.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "tea_cake", + "schema_version": 2, + "save_version": 6, + "title": "Tea Cake", + "summary": null, + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 1570, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"This delicious tea cake is ideal for baking in small, individual molds for tea service or as a petits four. The batter can be refrigerated for up to 3 days and baked fresh as needed.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_egg_whole", + "position": 1, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 66.14, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 378, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_flour_bread", + "position": 3, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 378, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_baking_powder", + "position": 4, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 24, + "unit_id": "gram", + "percentage": 6.35, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.32, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_half_half", + "position": 6, + "ingredient_id": "half_half", + "subrecipe_id": null, + "quantity": 245, + "unit_id": "gram", + "percentage": 64.81, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_vanilla_extract", + "position": 7, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 1.85, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_butter", + "position": 8, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 283, + "unit_id": "gram", + "percentage": 74.87, + "basis_member": 0, + "optional": 0, + "notes": "melted", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a whisk attachment, whip the eggs and sugar until a thick ribbon is achieved.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the sifted dry ingredients, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Slowly add the half & half and extract.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Slowly add the butter.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Chill before using.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 325ºF (163ºC), with fruit on top if desired, until a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Brush with the honey glaze on page 86 while still hot from the oven.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "tea_infused_chocolate_bonbon_ganache", + "schema_version": 2, + "save_version": 6, + "title": "Tea Infused Chocolate Bonbon Ganache", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Teas like Masala Chai, Earl Grey, Ceylon, Assam, Darjeeling, Oolong, and Jasmine pair well with with bittersweet chocolate.\",\"The amount of tea used in this recipe is a guideline only; adjust the quantity depending on the kind of tea being used and your taste.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 450, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_tea_loose", + "position": 2, + "ingredient_id": "tea_loose", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_invert_sugar", + "position": 3, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 74, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_valrhona_manjari", + "position": 4, + "ingredient_id": "valrhona_manjari", + "subrecipe_id": null, + "quantity": 423, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "64%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_butter", + "position": 5, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 53, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the cream to a boil. Add the tea and set aside to infuse for approximately 5-10 minutes or until desired strength is achieved.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Strain the infused cream through a fine-mesh strainer, then rescale to the original weight.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Bring back to a boil with the sugar and pour over the chocolate. Allow to stand for one minute, then emulsify until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir in the softened butter.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Cover the surface of the ganache with plastic wrap. Allow to rest at room temperature until it reaches 78°F (26°C). The cooled ganache should have a thick, yet fluid consistency to properly fill bonbon shells.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "tequila_lime_bonbon_ganache", + "schema_version": 2, + "save_version": 6, + "title": "Tequila-Lime Bonbon Ganache", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_chocolate_white", + "position": 1, + "ingredient_id": "chocolate_white", + "subrecipe_id": null, + "quantity": 715, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 179, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_lime_zest", + "position": 3, + "ingredient_id": "lime_zest", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_tequila", + "position": 5, + "ingredient_id": "tequila", + "subrecipe_id": null, + "quantity": 107, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the chocolate in a bowl large enough to accommodate the entire recipe.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, bring the cream, zest, and salt to a boil; set aside to infuse for 30 minutes.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Bring back to a boil and strain over the chocolate. Allow to stand for one minute, then emulsify until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir in the tequila.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Cover the surface of the ganache with plastic wrap. Allow to rest at room temperature until it reaches 78°F (26°C). The cooled ganache should have a thick, yet fluid consistency to properly fill bonbon shells.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "texas_roadhouse_honey_butter", + "schema_version": 2, + "save_version": 1, + "title": "Texas Roadhouse Honey Butter", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"spread\",\"copycat\",\"texas-roadhouse\"]", + "yield_quantity": 120.1, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"texas_roadhouse_honey_butter\",\"title\":\"Texas Roadhouse Honey Butter\",\"categories\":[\"sauce\"],\"tags\":[\"spread\",\"copycat\",\"texas-roadhouse\"],\"yield\":{\"amount\":{\"quantity\":120.1,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_butter\",\"reference\":{\"ingredient_id\":\"butter\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_honey\",\"reference\":{\"ingredient_id\":\"honey\"},\"amount\":{\"quantity\":20,\"unit_id\":\"gram\"},\"percentage\":20},{\"id\":\"line_03_cinnamon\",\"reference\":{\"ingredient_id\":\"cinnamon\"},\"amount\":{\"quantity\":0.1,\"unit_id\":\"gram\"},\"percentage\":0.1}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Whip butter low, 5 min.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Add honey, cinnamon.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Whip medium 5 min.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Whip high 5 min.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_honey", + "position": 2, + "ingredient_id": "honey", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 20, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_cinnamon", + "position": 3, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 0.1, + "unit_id": "gram", + "percentage": 0.1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Whip butter low, 5 min.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Add honey, cinnamon.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Whip medium 5 min.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Whip high 5 min.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "tiramisu_cream", + "schema_version": 2, + "save_version": 6, + "title": "Tiramisu Cream", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1200, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 325, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_gelatin_sheet", + "position": 2, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_water", + "position": 3, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 160, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_light_corn_syrup", + "position": 7, + "ingredient_id": "light_corn_syrup", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_mascarpone", + "position": 8, + "ingredient_id": "mascarpone", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_amaretto_or_marsala_wine", + "position": 9, + "ingredient_id": "amaretto_or_marsala_wine", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Make a pâte a bombe with the egg yolks, sugar, salt, and corn syrup.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the mascarpone to the warm pâte a bombe and whisk until smooth; do not over mix.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Melt the bloomed and drained gelatin with the amaretto or marsala wine and combine with the pâte a bombe.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold in the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "toffee_sauce", + "schema_version": 2, + "save_version": 6, + "title": "Toffee Sauce", + "summary": null, + "categories_json": "[\"sauces_liquids\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sauces_liquids\",\"classic\"]", + "yield_quantity": 1000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 750, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_brown_sugar", + "position": 2, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 510, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_butter", + "position": 3, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 170, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cubed", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_water", + "position": 4, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_dark_rum_or_bourbon", + "position": 6, + "ingredient_id": "dark_rum_or_bourbon", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a saucepan, bring the cream, sugar, butter, water, and salt to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Lower to a simmer and reduce until thickened to desired consistency, stirring periodically.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Cool the sauce down immediately over an ice bath and stir in the rum or bourbon.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "top_pot_chocolate_icing", + "schema_version": 2, + "save_version": 1, + "title": "Top Pot Chocolate Icing", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"icing\",\"chocolate\",\"copycat\",\"top-pot\"]", + "yield_quantity": 100, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"top_pot_chocolate_icing\",\"title\":\"Top Pot Chocolate Icing\",\"categories\":[\"sauce\"],\"tags\":[\"icing\",\"chocolate\",\"copycat\",\"top-pot\"],\"yield\":{\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_confectioners_sugar\",\"reference\":{\"ingredient_id\":\"confectioners_sugar\"},\"amount\":{\"quantity\":57.27,\"unit_id\":\"gram\"},\"percentage\":57.27,\"basis_member\":true},{\"id\":\"line_02_chocolate_chip\",\"reference\":{\"ingredient_id\":\"semisweet_chocolate\"},\"amount\":{\"quantity\":20.6,\"unit_id\":\"gram\"},\"percentage\":20.6,\"notes\":\"chips\"},{\"id\":\"line_03_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":16.04,\"unit_id\":\"gram\"},\"percentage\":16.04},{\"id\":\"line_04_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":2.86,\"unit_id\":\"gram\"},\"percentage\":2.86},{\"id\":\"line_05_corn_syrup\",\"reference\":{\"ingredient_id\":\"corn_syrup_light\"},\"amount\":{\"quantity\":2.18,\"unit_id\":\"gram\"},\"percentage\":2.18},{\"id\":\"line_06_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":0.4,\"unit_id\":\"gram\"},\"percentage\":0.4},{\"id\":\"line_07_vanilla_extract\",\"reference\":{\"ingredient_id\":\"vanilla_extract\"},\"amount\":{\"quantity\":0.36,\"unit_id\":\"gram\"},\"percentage\":0.36},{\"id\":\"line_08_agar\",\"reference\":{\"ingredient_id\":\"agar\"},\"amount\":{\"quantity\":0.29,\"unit_id\":\"gram\"},\"percentage\":0.29}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"TODO: Add complete preparation instructions for this recipe.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_confectioners_sugar", + "position": 1, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 57.27, + "unit_id": "gram", + "percentage": 57.27, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_chocolate_chip", + "position": 2, + "ingredient_id": "semisweet_chocolate", + "subrecipe_id": null, + "quantity": 20.6, + "unit_id": "gram", + "percentage": 20.6, + "basis_member": 0, + "optional": 0, + "notes": "chips", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_water", + "position": 3, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 16.04, + "unit_id": "gram", + "percentage": 16.04, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 2.86, + "unit_id": "gram", + "percentage": 2.86, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_corn_syrup", + "position": 5, + "ingredient_id": "corn_syrup_light", + "subrecipe_id": null, + "quantity": 2.18, + "unit_id": "gram", + "percentage": 2.18, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.4, + "unit_id": "gram", + "percentage": 0.4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_vanilla_extract", + "position": 7, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 0.36, + "unit_id": "gram", + "percentage": 0.36, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_agar", + "position": 8, + "ingredient_id": "agar", + "subrecipe_id": null, + "quantity": 0.29, + "unit_id": "gram", + "percentage": 0.29, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "TODO: Add complete preparation instructions for this recipe.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "tortilla", + "schema_version": 2, + "save_version": 1, + "title": "Tortilla", + "summary": null, + "categories_json": "[\"bread\"]", + "tags_json": "[]", + "yield_quantity": 163.5, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"tortilla\",\"title\":\"Tortilla\",\"categories\":[\"bread\"],\"tags\":[],\"yield\":{\"amount\":{\"quantity\":163.5,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_all_purpose\",\"reference\":{\"ingredient_id\":\"flour_all_purpose\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":50,\"unit_id\":\"gram\"},\"percentage\":50},{\"id\":\"line_03_shortening\",\"reference\":{\"ingredient_id\":\"shortening\"},\"amount\":{\"quantity\":9,\"unit_id\":\"gram\"},\"percentage\":9},{\"id\":\"line_04_baking_powder\",\"reference\":{\"ingredient_id\":\"baking_powder\"},\"amount\":{\"quantity\":1.5,\"unit_id\":\"gram\"},\"percentage\":1.5},{\"id\":\"line_05_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1.5,\"unit_id\":\"gram\"},\"percentage\":1.5},{\"id\":\"line_06_nonfat_milk_powder\",\"reference\":{\"ingredient_id\":\"nonfat_milk_powder\"},\"amount\":{\"quantity\":1.5,\"unit_id\":\"gram\"},\"percentage\":1.5}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine all but oil.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Mix til combined.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Add oil.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Mix 30 min total.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Divide into dough balls.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Rest balls 15 min.\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Bake 375 - 450 °F, 20-60 sec, making steel.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Allow to cool to 85 °F before packaging.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_shortening", + "position": 3, + "ingredient_id": "shortening", + "subrecipe_id": null, + "quantity": 9, + "unit_id": "gram", + "percentage": 9, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_baking_powder", + "position": 4, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 1.5, + "unit_id": "gram", + "percentage": 1.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.5, + "unit_id": "gram", + "percentage": 1.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_nonfat_milk_powder", + "position": 6, + "ingredient_id": "nonfat_milk_powder", + "subrecipe_id": null, + "quantity": 1.5, + "unit_id": "gram", + "percentage": 1.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine all but oil.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Mix til combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Add oil.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Mix 30 min total.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Divide into dough balls.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Rest balls 15 min.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Bake 375 - 450 °F, 20-60 sec, making steel.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Allow to cool to 85 °F before packaging.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "tres_leches_flan", + "schema_version": 2, + "save_version": 6, + "title": "Tres Leches Flan", + "summary": "Yield: one 6-inch cake pan or one 9-inch loaf pan", + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 970, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one 6-inch cake pan or one 9-inch loaf pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_evaporated_milk", + "position": 1, + "ingredient_id": "evaporated_milk", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_milk_whole", + "position": 2, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 130, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_cinnamon_stick", + "position": 3, + "ingredient_id": "cinnamon_stick", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_star_anise", + "position": 4, + "ingredient_id": "star_anise", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vanilla_bean", + "position": 5, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "split & scraped (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_zest", + "position": 6, + "ingredient_id": "zest", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "lemon, lime, orange (¼ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_condensed_milk", + "position": 7, + "ingredient_id": "condensed_milk", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_egg_whole", + "position": 8, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_egg_yolk", + "position": 9, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_salt", + "position": 10, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Coat the bottom of a 6-inch cake pan with a ⅛-inch layer of caramel slackened with a touch of warm water and set aside to cool.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, combine the evaporated milk, whole milk, cinnamon stick, star anise, vanilla bean, and citrus zest. Bring to a boil and set aside to steep until cool.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the condensed milk to the evaporated milk mixture. Warm the mixture while stirring to blend.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Wisk together the whole eggs, yolks and salt and temper with the warmed milk mixture.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Strain through a fine-mesh strainer and set aside to cool.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Pour the custard over the caramelized sugar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Bake at 275°F (135°C) in a water bath, covered, until the custard trembles slightly when shaken.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "triple_chocolate_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Triple Chocolate Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 1560, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_milk_whole", + "position": 1, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 885, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 225, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 225, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_yolk", + "position": 4, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 225, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Custard Base:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, bring the milk, cream, and ½ of the sugar to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Meanwhile, whisk the egg yolks, the other ½ of the sugar, and salt until light and smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "When the milk mixture comes to a scald, temper ⅓ the hot milk into the egg yolk mixture.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Combine the yolk mixture with the rest of the hot milk in the saucepan and cook on mediumlow heat, stirring continuously until the mixture coats the back of a spoon.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Strain the crème anglaise through a fine-mesh strainer. Cool down immediately if using at a later time, or keep warm if using right way.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "triple_chocolate_mousse_p244", + "schema_version": 2, + "save_version": 6, + "title": "Triple Chocolate Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 1236, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_custard_base", + "position": 1, + "ingredient_id": "custard_base", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_gelatin_sheet", + "position": 2, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_water", + "position": 3, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_chocolate_dark", + "position": 4, + "ingredient_id": "chocolate_dark", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "58-72%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_heavy_cream", + "position": 5, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Custard Base:", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, bring the milk, cream, and ½ of the sugar to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Meanwhile, whisk the egg yolks, the other ½ of the sugar, and salt until light and smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "When the milk mixture comes to a scald, temper ⅓ the hot milk into the egg yolk mixture.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Combine the yolk mixture with the rest of the hot milk in the saucepan and cook on mediumlow heat, stirring continuously until the mixture coats the back of a spoon.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Strain the crème anglaise through a fine-mesh strainer. Cool down immediately if using at a later time, or keep warm if using right way.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "turkish_herb_sauce", + "schema_version": 2, + "save_version": 1, + "title": "Turkish Herb Sauce", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"turkish\"]", + "yield_quantity": 183.55, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"turkish_herb_sauce\",\"title\":\"Turkish Herb Sauce\",\"categories\":[\"sauce\"],\"tags\":[\"turkish\"],\"yield\":{\"amount\":{\"quantity\":183.55,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_mayonnaise\",\"reference\":{\"ingredient_id\":\"mayonnaise\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_yogurt\",\"reference\":{\"ingredient_id\":\"yogurt\"},\"amount\":{\"quantity\":50,\"unit_id\":\"gram\"},\"percentage\":50},{\"id\":\"line_03_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":15,\"unit_id\":\"gram\"},\"percentage\":15},{\"id\":\"line_04_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":8,\"unit_id\":\"gram\"},\"percentage\":8},{\"id\":\"line_05_lemon_juice\",\"reference\":{\"ingredient_id\":\"lemon_juice\"},\"amount\":{\"quantity\":3.8,\"unit_id\":\"gram\"},\"percentage\":3.8},{\"id\":\"line_06_garlic_dehydrated_minced\",\"reference\":{\"ingredient_id\":\"garlic_dehydrated_minced\"},\"amount\":{\"quantity\":2,\"unit_id\":\"gram\"},\"percentage\":2},{\"id\":\"line_07_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1.2,\"unit_id\":\"gram\"},\"percentage\":1.2},{\"id\":\"line_08_onion_powder\",\"reference\":{\"ingredient_id\":\"onion_powder\"},\"amount\":{\"quantity\":1.1,\"unit_id\":\"gram\"},\"percentage\":1.1},{\"id\":\"line_09_dill\",\"reference\":{\"ingredient_id\":\"dill\"},\"amount\":{\"quantity\":0.8,\"unit_id\":\"gram\"},\"percentage\":0.8},{\"id\":\"line_10_mint\",\"reference\":{\"ingredient_id\":\"mint_dried\"},\"amount\":{\"quantity\":0.75,\"unit_id\":\"gram\"},\"percentage\":0.75},{\"id\":\"line_11_oregano\",\"reference\":{\"ingredient_id\":\"oregano\"},\"amount\":{\"quantity\":0.6,\"unit_id\":\"gram\"},\"percentage\":0.6},{\"id\":\"line_12_msg\",\"reference\":{\"ingredient_id\":\"msg\"},\"amount\":{\"quantity\":0.3,\"unit_id\":\"gram\"},\"percentage\":0.3}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Mix.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_mayonnaise", + "position": 1, + "ingredient_id": "mayonnaise", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_yogurt", + "position": 2, + "ingredient_id": "yogurt", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_water", + "position": 3, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 15, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 8, + "unit_id": "gram", + "percentage": 8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_lemon_juice", + "position": 5, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 3.8, + "unit_id": "gram", + "percentage": 3.8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_garlic_dehydrated_minced", + "position": 6, + "ingredient_id": "garlic_dehydrated_minced", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.2, + "unit_id": "gram", + "percentage": 1.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_onion_powder", + "position": 8, + "ingredient_id": "onion_powder", + "subrecipe_id": null, + "quantity": 1.1, + "unit_id": "gram", + "percentage": 1.1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_dill", + "position": 9, + "ingredient_id": "dill", + "subrecipe_id": null, + "quantity": 0.8, + "unit_id": "gram", + "percentage": 0.8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_mint", + "position": 10, + "ingredient_id": "mint_dried", + "subrecipe_id": null, + "quantity": 0.75, + "unit_id": "gram", + "percentage": 0.75, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_oregano", + "position": 11, + "ingredient_id": "oregano", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": 0.6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_msg", + "position": 12, + "ingredient_id": "msg", + "subrecipe_id": null, + "quantity": 0.3, + "unit_id": "gram", + "percentage": 0.3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Mix.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "udon_noodle_sauce", + "schema_version": 2, + "save_version": 1, + "title": "Udon Noodle Sauce", + "summary": null, + "categories_json": "[\"soup\"]", + "tags_json": "[\"thai\",\"noodle\"]", + "yield_quantity": 195.92, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"udon_noodle_sauce\",\"title\":\"Udon Noodle Sauce\",\"categories\":[\"soup\"],\"tags\":[\"thai\",\"noodle\"],\"yield\":{\"amount\":{\"quantity\":195.92,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_coconut_milk\",\"reference\":{\"ingredient_id\":\"coconut_milk\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":66.67,\"unit_id\":\"gram\"},\"percentage\":66.67},{\"id\":\"line_03_peanut_butter\",\"reference\":{\"ingredient_id\":\"peanut_butter\"},\"amount\":{\"quantity\":11,\"unit_id\":\"gram\"},\"percentage\":11},{\"id\":\"line_04_red_curry_paste\",\"reference\":{\"ingredient_id\":\"red_curry_paste\"},\"amount\":{\"quantity\":7,\"unit_id\":\"gram\"},\"percentage\":7},{\"id\":\"line_05_soy_sauce_light_low_sodium\",\"reference\":{\"ingredient_id\":\"soy_sauce_light_low_sodium\"},\"amount\":{\"quantity\":4,\"unit_id\":\"gram\"},\"percentage\":4},{\"id\":\"line_06_chicken_base\",\"reference\":{\"ingredient_id\":\"chicken_base\"},\"amount\":{\"quantity\":3,\"unit_id\":\"gram\"},\"percentage\":3},{\"id\":\"line_07_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":3,\"unit_id\":\"gram\"},\"percentage\":3},{\"id\":\"line_08_garlic_dehydrated_minced\",\"reference\":{\"ingredient_id\":\"garlic_dehydrated_minced\"},\"amount\":{\"quantity\":1.25,\"unit_id\":\"gram\"},\"percentage\":1.25}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Combine.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_coconut_milk", + "position": 1, + "ingredient_id": "coconut_milk", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 66.67, + "unit_id": "gram", + "percentage": 66.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_peanut_butter", + "position": 3, + "ingredient_id": "peanut_butter", + "subrecipe_id": null, + "quantity": 11, + "unit_id": "gram", + "percentage": 11, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_red_curry_paste", + "position": 4, + "ingredient_id": "red_curry_paste", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 7, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_soy_sauce_light_low_sodium", + "position": 5, + "ingredient_id": "soy_sauce_light_low_sodium", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": 4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_chicken_base", + "position": 6, + "ingredient_id": "chicken_base", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 3, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_garlic_dehydrated_minced", + "position": 8, + "ingredient_id": "garlic_dehydrated_minced", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 1.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Combine.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "valrhona_azelia_praline_bonbon_ganache", + "schema_version": 2, + "save_version": 6, + "title": "Valrhona Azélia-Praliné Bonbon Ganache", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_valrhona_az_lia", + "position": 1, + "ingredient_id": "valrhona_az_lia", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "35%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_valrhona_hazelnut_pralin", + "position": 2, + "ingredient_id": "valrhona_hazelnut_pralin", + "subrecipe_id": null, + "quantity": 290, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "60%", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_honey", + "position": 4, + "ingredient_id": "honey", + "subrecipe_id": null, + "quantity": 85, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_invert_sugar", + "position": 5, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 28, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Combine the chocolate and praline in a bowl large enough to accommodate the entire recipe.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, bring the cream, honey, sugar, and salt to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Pour the hot cream over the chocolate and praline. Allow to stand for one minute, then emulsify until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Cover the surface of the ganache with plastic wrap. Allow to rest at room temperature until it reaches 78°F (26°C). The cooled ganache should have a thick, yet fluid consistency to properly fill bonbon shells.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Azélia is the perfect harmony between chocolate, milk, and hazelnuts. Valrhona 60% Hazelnut Praliné paste is delicately sweet with notes of soft caramel.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "valrhona_chocolate_chunk_cookies", + "schema_version": 2, + "save_version": 6, + "title": "Valrhona Chocolate Chunk Cookies", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1484, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 205, + "unit_id": "gram", + "percentage": 45.15, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 155, + "unit_id": "gram", + "percentage": 34.14, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_brown_sugar", + "position": 3, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 155, + "unit_id": "gram", + "percentage": 34.14, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_invert_sugar", + "position": 4, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 34, + "unit_id": "gram", + "percentage": 7.49, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_whole", + "position": 5, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 22.03, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_vanilla_extract", + "position": 6, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 2.2, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_flour_all_purpose", + "position": 7, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_malt_powder", + "position": 8, + "ingredient_id": "malt_powder", + "subrecipe_id": null, + "quantity": 11, + "unit_id": "gram", + "percentage": 2.42, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.1, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_baking_soda", + "position": 10, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.1, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_valrhona_guanaja", + "position": 11, + "ingredient_id": "valrhona_guanaja", + "subrecipe_id": null, + "quantity": 295, + "unit_id": "gram", + "percentage": 64.98, + "basis_member": 0, + "optional": 0, + "notes": "70%, ¼-inch chunks", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_valrhona_dark_chocolate_baking_pearls", + "position": 12, + "ingredient_id": "valrhona_dark_chocolate_baking_pearls", + "subrecipe_id": null, + "quantity": 55, + "unit_id": "gram", + "percentage": 12.11, + "basis_member": 0, + "optional": 0, + "notes": "55%", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter and sugars.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Gradually add the eggs, followed by the extract, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the sifted dry ingredients and mix until streaky.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the chocolate chunks and pearls and mix until combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 300°F (149°C).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "valrhona_guanaja_chocolate_sorbet", + "schema_version": 2, + "save_version": 6, + "title": "Valrhona Guanaja Chocolate Sorbet", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"This recipe highlights the beauty and sophistication of Valrhona's iconic Guanaja 70% chocolate.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 840, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_powdered_glucose", + "position": 3, + "ingredient_id": "powdered_glucose", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sorbet_stabilizer", + "position": 4, + "ingredient_id": "sorbet_stabilizer", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_valrhona_guanaja", + "position": 6, + "ingredient_id": "valrhona_guanaja", + "subrecipe_id": null, + "quantity": 340, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "70%", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Place the water in a saucepan large enough to accommodate the entire recipe.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Heat the water until warm, 105°F (40°C); add the blended sugar, glucose, stabilizer, and salt.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "thermometer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Stir with a whisk and heat to 185°F (85°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "When the temperature reaches 185°F (85°C), blend in the chocolate with an immersion blender until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "thermometer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Chill immediately and allow to mature for 6 to 12 hours.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Blend with an immersion blender before spinning.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "vanilla_bourbon_caramel_sauce", + "schema_version": 2, + "save_version": 6, + "title": "Vanilla Bourbon Caramel Sauce", + "summary": null, + "categories_json": "[\"sauces_liquids\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sauces_liquids\",\"classic\"]", + "yield_quantity": 1160, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"This sauce is wonderful served over ice cream, cakes, and fresh or cooked fruit. Use at room temperature or warm.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sugar", + "position": 1, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 690, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 395, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_vanilla_bean", + "position": 4, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "split & scraped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_bourbon", + "position": 6, + "ingredient_id": "bourbon", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Make an amber caramel with the sugar and water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Meanwhile, bring the cream, vanilla bean, and salt to a scald.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Deglaze the caramel with the hot vanilla cream and whisk until emulsified.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Whisk in the bourbon.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Strain the caramel sauce through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "vanilla_chiboust", + "schema_version": 2, + "save_version": 6, + "title": "Vanilla Chiboust", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1640, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_milk_whole", + "position": 3, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 480, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_vanilla_bean", + "position": 4, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "split & scraped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_yolk", + "position": 5, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 240, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_cornstarch", + "position": 6, + "ingredient_id": "cornstarch", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_brown_sugar", + "position": 7, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 0.6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "⅛ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_sugar", + "position": 9, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 380, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_water", + "position": 10, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 140, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_egg_whites", + "position": 11, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 360, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Make a pastry cream with the milk, vanilla bean, egg yolks, cornstarch, brown sugar, and salt. Whisk the bloomed and drained gelatin into the hot pastry cream and mix until homogenous.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Place the finished pastry cream in a bowl large enough to accommodate the entire recipe. Press plastic wrap on the surface to prevent a skin from forming and set aside to cool until warm. Alternatively, in a mixer fitted with a paddle attachment, mix the hot pastry cream until warm.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "stand_mixer" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Prepare an Italian meringue with the granulated sugar, water, and egg whites. Whip until warm, about 120°F (49ºC).", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "thermometer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Sacrifice ¼ of the warm meringue into the warm pastry cream and whisk until the smooth. Fold the rest of the meringue into the lightened pastry cream until homogenous.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Use immediately; chill or freeze until set.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "vanilla_crescents", + "schema_version": 2, + "save_version": 6, + "title": "Vanilla Crescents", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1400, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": 78.55, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_confectioners_sugar", + "position": 2, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 165, + "unit_id": "gram", + "percentage": 28.55, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_vanilla_bean", + "position": 3, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "each", + "percentage": 1.04, + "basis_member": 0, + "optional": 0, + "notes": "seeds", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_almond_flour", + "position": 4, + "ingredient_id": "almond_flour", + "subrecipe_id": null, + "quantity": 206, + "unit_id": "gram", + "percentage": 35.64, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_flour_all_purpose", + "position": 5, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 578, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.43, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter, sugar, vanilla bean seeds, and almond flour.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the sifted dry ingredients and mix just until combined, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Chill before shaping.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Bake at 350°F (177°C) until the edges are browned.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Toss the cookies in vanilla sugar while still warm from the oven.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "vanilla_panna_cotta", + "schema_version": 2, + "save_version": 6, + "title": "Vanilla Panna Cotta", + "summary": null, + "categories_json": "[\"custards_creams\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"custards_creams\",\"classic\"]", + "yield_quantity": 1455, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 1000, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_milk_whole", + "position": 4, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 115, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_vanilla_bean", + "position": 6, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "split & scraped (½ tsp)", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, bring the cream, milk, sugar, and vanilla beans to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Off the heat, add the bloomed and drained gelatin to the mixture and gently whisk to minimize air bubbles.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Strain through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Stir over an ice bath until slightly thickened and pour into desired molds.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "vanilla_rum_bonbon_ganache", + "schema_version": 2, + "save_version": 6, + "title": "Vanilla-Rum Bonbon Ganache", + "summary": null, + "categories_json": "[\"confections\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"confections\",\"classic\"]", + "yield_quantity": 1000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_chocolate_white", + "position": 1, + "ingredient_id": "chocolate_white", + "subrecipe_id": null, + "quantity": 596, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_heavy_cream", + "position": 2, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 265, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_invert_sugar", + "position": 3, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 53, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_vanilla_bean", + "position": 4, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "split & scraped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_butter", + "position": 5, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 66, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_dark_rum", + "position": 6, + "ingredient_id": "dark_rum", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Melt the chocolate in a bowl large enough to accommodate the entire recipe.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, bring the cream, sugar, and vanilla beans to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Strain the hot mixture over the melted chocolate. Allow to stand for one minute, then emulsify until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir in the softened butter, followed by the rum.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Cover the surface of the ganache with plastic wrap. Allow to rest at room temperature until it reaches 78°F (26°C). The cooled ganache should have a thick, yet fluid consistency to properly fill bonbon shells.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "vanilla_sheet_cake", + "schema_version": 2, + "save_version": 6, + "title": "Vanilla Sheet Cake", + "summary": "Yield: one full sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 1540, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one full sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + }, + { + "id": "chocolate_variation", + "position": 2, + "name": "Chocolate Variation", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "chocolate_variation", + "id": "line_11_flour_cake", + "position": 1, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 145, + "unit_id": "gram", + "percentage": 44.62, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "chocolate_variation", + "id": "line_12_cocoa_powder", + "position": 2, + "ingredient_id": "cocoa_powder", + "subrecipe_id": null, + "quantity": 35, + "unit_id": "gram", + "percentage": 10.77, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_01_egg_whole", + "position": 1, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 400, + "unit_id": "gram", + "percentage": 123.08, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_egg_yolk", + "position": 2, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 61.54, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 360, + "unit_id": "gram", + "percentage": 110.77, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_invert_sugar", + "position": 4, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 56, + "unit_id": "gram", + "percentage": 17.23, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vanilla_extract", + "position": 5, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.54, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_flour_cake", + "position": 6, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 180, + "unit_id": "gram", + "percentage": 55.38, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.77, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_egg_whites", + "position": 8, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 92.31, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_sugar", + "position": 9, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 35, + "unit_id": "gram", + "percentage": 10.77, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_cream_of_tartar", + "position": 10, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 0.92, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a whisk attachment, whisk the whole eggs, yolks, sugars, and extract until a thick ribbon is achieved.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Fold the sifted dry ingredients into the egg foam.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Make a medium peak French meringue with the egg whites, sugar, and cream of tartar. Fold the meringue into the egg foam until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Bake at 350°F (177°C) until the cake springs back to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "vanilla_tuiles", + "schema_version": 2, + "save_version": 6, + "title": "Vanilla Tuiles", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1574, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_egg_whites", + "position": 1, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": 151.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_confectioners_sugar", + "position": 2, + "ingredient_id": "confectioners_sugar", + "subrecipe_id": null, + "quantity": 370, + "unit_id": "gram", + "percentage": 123.33, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 0.42, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_flour_all_purpose", + "position": 4, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vanilla_bean", + "position": 5, + "ingredient_id": "vanilla_bean", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": 0.33, + "basis_member": 0, + "optional": 0, + "notes": "seeds", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_butter", + "position": 6, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": 151.33, + "basis_member": 0, + "optional": 0, + "notes": "melted", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Combine the egg whites, sugar, and salt in a bowl of a mixer. Whisk over a flame or water bath until warm, 110°F (43°C).", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "stand_mixer", + "thermometer", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a whisk attachment, add the sifted flour and vanilla bean seeds to the egg white mixture. Whisk until smooth, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Gradually whisk in the warm butter until homogenous.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Chill before use.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Using a template, spread thinly on a silicone baking mat.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 325°F (163°C).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Shape as desired and store in airtight containers.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "vegan_tofu_muffins", + "schema_version": 2, + "save_version": 6, + "title": "Vegan Tofu Muffins", + "summary": null, + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breakfast\",\"classic\"]", + "yield_quantity": 1585, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 170, + "unit_id": "gram", + "percentage": 31.78, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_apple_juice", + "position": 2, + "ingredient_id": "apple_juice", + "subrecipe_id": null, + "quantity": 170, + "unit_id": "gram", + "percentage": 31.78, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_soft_tofu", + "position": 3, + "ingredient_id": "soft_tofu", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 37.38, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_vanilla_extract", + "position": 4, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 1.87, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_canola_oil", + "position": 5, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": 4.67, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_apple_compote", + "position": 6, + "ingredient_id": "apple_compote", + "subrecipe_id": null, + "quantity": 38, + "unit_id": "gram", + "percentage": 7.1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 413, + "unit_id": "gram", + "percentage": 77.2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_flour_cake", + "position": 8, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 385, + "unit_id": "gram", + "percentage": 71.96, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_flour_bread", + "position": 9, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 28.04, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_baking_powder", + "position": 10, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 1.87, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_baking_soda", + "position": 11, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 1.31, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_cinnamon", + "position": 12, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": 0.75, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_salt", + "position": 13, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 0.56, + "basis_member": 0, + "optional": 0, + "notes": "¾ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix the wet ingredients until semi-smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the sifted dry ingredients to the wet ingredients all at once. Mix just until combined, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Bake at 350°F (177°C) until a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "waffles", + "schema_version": 2, + "save_version": 1, + "title": "Waffles", + "summary": null, + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"batter\"]", + "yield_quantity": 382.5, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"waffles\",\"title\":\"Waffles\",\"categories\":[\"breakfast\"],\"tags\":[\"batter\"],\"yield\":{\"amount\":{\"quantity\":382.5,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_flour_pastry\",\"reference\":{\"ingredient_id\":\"flour_pastry\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_water\",\"reference\":{\"ingredient_id\":\"water\"},\"amount\":{\"quantity\":135,\"unit_id\":\"gram\"},\"percentage\":135},{\"id\":\"line_03_oil\",\"reference\":{\"ingredient_id\":\"canola_oil\"},\"amount\":{\"quantity\":50,\"unit_id\":\"gram\"},\"percentage\":50},{\"id\":\"line_04_egg_whites\",\"reference\":{\"ingredient_id\":\"egg_whites\"},\"amount\":{\"quantity\":38,\"unit_id\":\"gram\"},\"percentage\":38},{\"id\":\"line_05_egg_yolk\",\"reference\":{\"ingredient_id\":\"egg_yolk\"},\"amount\":{\"quantity\":25,\"unit_id\":\"gram\"},\"percentage\":25},{\"id\":\"line_06_nonfat_milk_powder\",\"reference\":{\"ingredient_id\":\"nonfat_milk_powder\"},\"amount\":{\"quantity\":15,\"unit_id\":\"gram\"},\"percentage\":15},{\"id\":\"line_07_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":12.5,\"unit_id\":\"gram\"},\"percentage\":12.5},{\"id\":\"line_08_baking_powder\",\"reference\":{\"ingredient_id\":\"baking_powder\"},\"amount\":{\"quantity\":6,\"unit_id\":\"gram\"},\"percentage\":6},{\"id\":\"line_09_salt\",\"reference\":{\"ingredient_id\":\"salt\"},\"amount\":{\"quantity\":1,\"unit_id\":\"gram\"},\"percentage\":1}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Sift together flour, salt, baking powder.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Combine egg yolks, water, milk powder, fat.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Whip egg whites to soft peaks.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Add sugar and beat until stiff peak.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Mix to just combined.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Fold in meringue.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_pastry", + "position": 1, + "ingredient_id": "flour_pastry", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 135, + "unit_id": "gram", + "percentage": 135, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_oil", + "position": 3, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whites", + "position": 4, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 38, + "unit_id": "gram", + "percentage": 38, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_egg_yolk", + "position": 5, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 25, + "unit_id": "gram", + "percentage": 25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_nonfat_milk_powder", + "position": 6, + "ingredient_id": "nonfat_milk_powder", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 15, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_sugar", + "position": 7, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 12.5, + "unit_id": "gram", + "percentage": 12.5, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_baking_powder", + "position": 8, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 6, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Sift together flour, salt, baking powder.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Combine egg yolks, water, milk powder, fat.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Whip egg whites to soft peaks.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Add sugar and beat until stiff peak.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Mix to just combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Fold in meringue.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "walnut_sheet_cake", + "schema_version": 2, + "save_version": 6, + "title": "Walnut Sheet Cake", + "summary": "Yield: one full sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 1353, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one full sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 246.74, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 346, + "unit_id": "gram", + "percentage": 376.09, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_whole", + "position": 3, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 326.09, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_flour_cake", + "position": 4, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 92, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_baking_powder", + "position": 5, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 7.61, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 5.43, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_rum", + "position": 7, + "ingredient_id": "rum", + "subrecipe_id": null, + "quantity": 30, + "unit_id": "gram", + "percentage": 32.61, + "basis_member": 0, + "optional": 0, + "notes": "dark", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_walnut", + "position": 8, + "ingredient_id": "walnut", + "subrecipe_id": null, + "quantity": 346, + "unit_id": "gram", + "percentage": 376.09, + "basis_member": 0, + "optional": 0, + "notes": "finely chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter and sugar.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the eggs one at a time, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the sifted dry ingredients, followed by the rum and chopped walnuts.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Bake at 325ºF (163ºC) until the cake springs back to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "watermelon_sorbet", + "schema_version": 2, + "save_version": 6, + "title": "Watermelon Sorbet", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 1500, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_watermelon_puree", + "position": 1, + "ingredient_id": "watermelon_puree", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_dextrose", + "position": 2, + "ingredient_id": "dextrose", + "subrecipe_id": null, + "quantity": 225, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 113, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sorbet_stabilizer", + "position": 4, + "ingredient_id": "sorbet_stabilizer", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1¼ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_watermelon_puree", + "position": 5, + "ingredient_id": "watermelon_puree", + "subrecipe_id": null, + "quantity": 575, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_lemon_juice", + "position": 6, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_grenadine", + "position": 7, + "ingredient_id": "grenadine", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Place the first weight of watermelon puree in a saucepan large enough to accommodate the entire recipe. With an immersion blender, blend in the dextrose to dissolve.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "kitchen_scale", + "saucepan" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Combine the sugar with the stabilizer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Heat the mixture until warm, 105°F (40°C); whisk in the sugar that has been blended with the stabilizer.", + "critical_control_point": 0, + "equipment_ids": [ + "blender", + "thermometer", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Stir with a whisk and heat to 185°F (85°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer", + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Chill immediately. Once cool, whisk in the second weight of puree, juice, and grenadine and allow to mature for 6 to 12 hours.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale", + "whisk" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Blend with an immersion blender before spinning.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "wedding_chiffon_sheet_cake", + "schema_version": 2, + "save_version": 6, + "title": "Wedding Chiffon Sheet Cake", + "summary": "Yield: one full sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 2015, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one full sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sugar", + "position": 1, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 285, + "unit_id": "gram", + "percentage": 67.06, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_salt", + "position": 2, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.18, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_baking_powder", + "position": 3, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 4.71, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_flour_cake", + "position": 4, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 425, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_canola_oil", + "position": 5, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 47.06, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_yolk", + "position": 6, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 200, + "unit_id": "gram", + "percentage": 47.06, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_water", + "position": 7, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 235, + "unit_id": "gram", + "percentage": 55.29, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_vanilla_extract", + "position": 8, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 1.65, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_almond_extract", + "position": 9, + "ingredient_id": "almond_extract", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": 0.71, + "basis_member": 0, + "optional": 0, + "notes": "½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_egg_whites", + "position": 10, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 395, + "unit_id": "gram", + "percentage": 92.94, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_sugar", + "position": 11, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 235, + "unit_id": "gram", + "percentage": 55.29, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_cream_of_tartar", + "position": 12, + "ingredient_id": "cream_of_tartar", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.18, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Sift the dry ingredients and place in a bowl large enough to accommodate the entire recipe.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whisk the oil, egg yolks, water, and extracts until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Whisk the wet ingredients into the sifted dry ingredients and thoroughly mix until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Prepare a stiff peak French meringue with the egg whites, sugar, and cream of tartar.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold the meringue into the batter just until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 350°F (177°C) until the cake springs back to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "wet_nut_topping", + "schema_version": 2, + "save_version": 6, + "title": "Wet Nut Topping", + "summary": null, + "categories_json": "[\"frozen_desserts\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frozen_desserts\",\"classic\"]", + "yield_quantity": 2000, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Any nut can be used, however walnuts and pecans would be traditional.\",\"You can simmer the syrup more or less to customize the viscosity to taste.\",\"Wet nuts can be stored for several weeks in the refrigerator.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_nuts", + "position": 1, + "ingredient_id": "nuts", + "subrecipe_id": null, + "quantity": 705, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_maple_syrup", + "position": 2, + "ingredient_id": "maple_syrup", + "subrecipe_id": null, + "quantity": 800, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_sugar", + "position": 3, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_water", + "position": 4, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 234, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_cinnamon", + "position": 6, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 3, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_ginger", + "position": 7, + "ingredient_id": "ginger", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_bourbon", + "position": 8, + "ingredient_id": "bourbon", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_lemon_juice", + "position": 9, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_vanilla_extract", + "position": 10, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Toast the nuts. Allow to cool, then coarsely chop.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan, combine the syrup, sugar, water, salt, and spices. Bring to a boil, then lower to a simmer for 2 minutes.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the nuts, bring back to a boil, then lower to a simmer for 2-3 minutes, or until desired consistency is reached.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Chill over an ice bath and stir in the bourbon, juice, and extract.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "whipped_cream", + "schema_version": 2, + "save_version": 1, + "title": "Whipped Cream", + "summary": null, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"dessert-sauce\"]", + "yield_quantity": 109, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"whipped_cream\",\"title\":\"Whipped Cream\",\"categories\":[\"sauce\"],\"tags\":[\"dessert-sauce\"],\"yield\":{\"amount\":{\"quantity\":109,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_heavy_cream\",\"reference\":{\"ingredient_id\":\"heavy_cream\"},\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"percentage\":100,\"basis_member\":true},{\"id\":\"line_02_sugar\",\"reference\":{\"ingredient_id\":\"sugar\"},\"amount\":{\"quantity\":8,\"unit_id\":\"gram\"},\"percentage\":8},{\"id\":\"line_03_gelatin\",\"reference\":{\"ingredient_id\":\"gelatin\"},\"amount\":{\"quantity\":1,\"unit_id\":\"gram\"},\"percentage\":1}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Whip 80% amount heavy cream mixture to soft peaks.\",\"component_ids\":[\"main\"]},{\"id\":\"step_02\",\"order\":2,\"instruction\":\"Reserve this cold.\",\"component_ids\":[\"main\"]},{\"id\":\"step_03\",\"order\":3,\"instruction\":\"Combine remaining 20% heavy cream with sugar, gelatin.\",\"component_ids\":[\"main\"]},{\"id\":\"step_04\",\"order\":4,\"instruction\":\"Allow gelatin to bloom 6 min.\",\"component_ids\":[\"main\"]},{\"id\":\"step_05\",\"order\":5,\"instruction\":\"Heat to 125 °F.\",\"component_ids\":[\"main\"]},{\"id\":\"step_06\",\"order\":6,\"instruction\":\"Remove from heat\",\"component_ids\":[\"main\"]},{\"id\":\"step_07\",\"order\":7,\"instruction\":\"Stream into cold whipped cream, whipping on medium speed.\",\"component_ids\":[\"main\"]},{\"id\":\"step_08\",\"order\":8,\"instruction\":\"Finish incorporating with spatula.\",\"component_ids\":[\"main\"]}],\"notes\":[\"Formula uses a nominal 100 g basis; review the yield before use.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_heavy_cream", + "position": 1, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 8, + "unit_id": "gram", + "percentage": 8, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_gelatin", + "position": 3, + "ingredient_id": "gelatin", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "gram", + "percentage": 1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Whip 80% amount heavy cream mixture to soft peaks.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_02", + "position": 2, + "instruction": "Reserve this cold.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03", + "position": 3, + "instruction": "Combine remaining 20% heavy cream with sugar, gelatin.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_04", + "position": 4, + "instruction": "Allow gelatin to bloom 6 min.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_05", + "position": 5, + "instruction": "Heat to 125 °F.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_06", + "position": 6, + "instruction": "Remove from heat", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_07", + "position": 7, + "instruction": "Stream into cold whipped cream, whipping on medium speed.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_08", + "position": 8, + "instruction": "Finish incorporating with spatula.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "white_cheddar_parmesan_blend", + "schema_version": 2, + "save_version": 1, + "title": "White Cheddar–Parmesan Blend", + "summary": null, + "categories_json": "[\"component\"]", + "tags_json": "[\"cheese\",\"blend\"]", + "yield_quantity": 100, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "hybrid", + "scaling_basis_id": "formula_basis", + "scaling_basis_quantity": 100, + "scaling_basis_unit_id": "gram", + "notes_json": "[\"The initial formulation is 80% sharp white cheddar and 20% dry grated Parmesan by weight.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"white_cheddar_parmesan_blend\",\"title\":\"White Cheddar–Parmesan Blend\",\"categories\":[\"component\"],\"tags\":[\"cheese\",\"blend\"],\"yield\":{\"amount\":{\"quantity\":100,\"unit_id\":\"gram\"},\"basis\":\"theoretical\"},\"scaling\":{\"mode\":\"hybrid\",\"basis_id\":\"formula_basis\",\"basis_amount\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"components\":[{\"id\":\"main\",\"name\":\"Main\",\"items\":[{\"id\":\"line_01_sharp_cheddar_cheese\",\"reference\":{\"ingredient_id\":\"sharp_cheddar_cheese\"},\"amount\":{\"quantity\":80,\"unit_id\":\"gram\"},\"percentage\":80,\"basis_member\":true},{\"id\":\"line_02_parmesan_cheese\",\"reference\":{\"ingredient_id\":\"parmesan_cheese\"},\"amount\":{\"quantity\":20,\"unit_id\":\"gram\"},\"percentage\":20}]}],\"steps\":[{\"id\":\"step_01\",\"order\":1,\"instruction\":\"Grate the cheddar and combine thoroughly with the grated Parmesan.\",\"component_ids\":[\"main\"]}],\"notes\":[\"The initial formulation is 80% sharp white cheddar and 20% dry grated Parmesan by weight.\"]}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sharp_cheddar_cheese", + "position": 1, + "ingredient_id": "sharp_cheddar_cheese", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": 80, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_parmesan_cheese", + "position": 2, + "ingredient_id": "parmesan_cheese", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 20, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_01", + "position": 1, + "instruction": "Grate the cheddar and combine thoroughly with the grated Parmesan.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "white_chocolate_cream_cheese_frosting", + "schema_version": 2, + "save_version": 6, + "title": "White Chocolate Cream Cheese Frosting", + "summary": null, + "categories_json": "[\"frostings_glazes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frostings_glazes\",\"classic\"]", + "yield_quantity": 1550, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Lemon juice and vanilla extract can be added to taste.\",\"If the frosting is too soft, refrigerate for a little while to firm, then mix with a paddle attachment until smooth.\",\"This recipe is especially great for carrot or red velvet cake.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_cream_cheese", + "position": 1, + "ingredient_id": "cream_cheese", + "subrecipe_id": null, + "quantity": 680, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_butter", + "position": 2, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 340, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_chocolate_white", + "position": 3, + "ingredient_id": "chocolate_white", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "melted & cooled", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_lemon_juice", + "position": 4, + "ingredient_id": "lemon_juice", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vanilla_extract", + "position": 5, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the cream cheese and butter until light, fluffy, and smooth, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the melted chocolate and mix until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the juice and extract.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "white_chocolate_glaze", + "schema_version": 2, + "save_version": 6, + "title": "White Chocolate Glaze", + "summary": null, + "categories_json": "[\"frostings_glazes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"frostings_glazes\",\"classic\"]", + "yield_quantity": 1980, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_milk_whole", + "position": 3, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_glucose_syrup", + "position": 4, + "ingredient_id": "glucose_syrup", + "subrecipe_id": null, + "quantity": 160, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_salt", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_chocolate_white", + "position": 6, + "ingredient_id": "chocolate_white", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_white_chocolate_p_te_glacer", + "position": 7, + "ingredient_id": "white_chocolate_p_te_glacer", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a saucepan large enough to accommodate the entire recipe, bring the milk, glucose, and salt to a boil.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Off the heat, add the chocolates, followed by the bloomed and drained gelatin.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Blend the glaze with an immersion blender until homogenous.", + "critical_control_point": 0, + "equipment_ids": [ + "blender" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Strain through a fine-mesh strainer.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Use at about 84°F (29°C).", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "white_chocolate_mousse", + "schema_version": 2, + "save_version": 6, + "title": "White Chocolate Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 1550, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 750, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_chocolate_white", + "position": 4, + "ingredient_id": "chocolate_white", + "subrecipe_id": null, + "quantity": 454, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_water", + "position": 6, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_whole", + "position": 7, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_egg_yolk", + "position": 8, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_salt", + "position": 9, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Melt the chocolate and keep warm.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Make a pâte à bombe with the sugar, water, whole eggs, yolks, and salt; whip until 110°F (43°C).", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "thermometer" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Melt the bloomed and drained gelatin and add it to the slightly warm pâte à bombe; whip until well combined.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the warm melted chocolate into the pâte à bombe, followed by the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "white_chocolate_sheet_cake", + "schema_version": 2, + "save_version": 6, + "title": "White Chocolate Sheet Cake", + "summary": "Yield: one full sheet pan", + "categories_json": "[\"sheet_cakes\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"sheet_cakes\",\"classic\"]", + "yield_quantity": 1250, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: one full sheet pan\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_butter", + "position": 1, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 213, + "unit_id": "gram", + "percentage": 208.82, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_sugar", + "position": 2, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 358, + "unit_id": "gram", + "percentage": 350.98, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_egg_whole", + "position": 3, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 350, + "unit_id": "gram", + "percentage": 343.14, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_chocolate_white", + "position": 4, + "ingredient_id": "chocolate_white", + "subrecipe_id": null, + "quantity": 224, + "unit_id": "gram", + "percentage": 219.61, + "basis_member": 0, + "optional": 0, + "notes": "melted & warm", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_flour_all_purpose", + "position": 5, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 102, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_salt", + "position": 6, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 2.45, + "basis_member": 0, + "optional": 0, + "notes": "½ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter and sugar.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the eggs one at a time, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the chocolate and mix to combine.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the sifted dry ingredients and mix until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Bake at 350°F (177°C) until the cake springs back to the touch.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "white_cupcakes", + "schema_version": 2, + "save_version": 6, + "title": "White Cupcakes", + "summary": "Yield: twenty-eight 3 oz cupcakes", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 1436, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: twenty-eight 3 oz cupcakes\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_cake", + "position": 1, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 313, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_baking_powder", + "position": 2, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 15, + "unit_id": "gram", + "percentage": 4.79, + "basis_member": 0, + "optional": 0, + "notes": "1 T", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_salt", + "position": 3, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.6, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_sugar", + "position": 4, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 369, + "unit_id": "gram", + "percentage": 117.89, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_butter", + "position": 5, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 313, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_whites", + "position": 6, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 47.92, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_milk_whole", + "position": 7, + "ingredient_id": "milk_whole", + "subrecipe_id": null, + "quantity": 268, + "unit_id": "gram", + "percentage": 85.62, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_vanilla_extract", + "position": 8, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 8, + "unit_id": "gram", + "percentage": 2.56, + "basis_member": 0, + "optional": 0, + "notes": "1¾ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Sift the dry ingredients and place in a mixing bowl.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a paddle attachment, add the butter and mix until the texture resembles course sand.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Combine the egg whites, milk, and extract.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add ½ of the liquid into the dry ingredients.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Mix on medium-low speed for about 1½ minutes, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Add the remaining liquid. Mix for 30 seconds, scraping down the bowl again, then mixing for an additional 30 seconds.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Bake at 350ºF (177ºC) until a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "whole_wheat_bagels", + "schema_version": 2, + "save_version": 6, + "title": "Whole Wheat Bagels", + "summary": "Yield: thirteen 120 g (4.2 oz) bagels", + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breakfast\",\"classic\"]", + "yield_quantity": 1648, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: thirteen 120 g (4.2 oz) bagels\",\"The toppings will stick better if you brush the top of each bagel with an egg white wash made by whisking 1 egg white with 1 tablespoon of water.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_bread", + "position": 1, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 700, + "unit_id": "gram", + "percentage": 70, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_flour_whole_wheat", + "position": 2, + "ingredient_id": "flour_whole_wheat", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": 30, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_water", + "position": 3, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 550, + "unit_id": "gram", + "percentage": 55, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_yeast_fresh", + "position": 4, + "ingredient_id": "yeast_fresh", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_malt_powder", + "position": 5, + "ingredient_id": "malt_powder", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_salt", + "position": 7, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a hook attachment, combine all of the ingredients and mix on low speed until a dough forms.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Increase the speed to medium and mix until gluten is developed and a \"window\" is achieved.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Shape the dough into a ball and place in an oiled bowl. Cover and bulk ferment for 1 hour.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Divide the dough into 120 g (4.2 oz) pieces.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Pre-shape, then cover and bench rest for 15 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Final shape, then refrigerate for at least 1 hour, or up to 24 hours.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Boil the bagels for 30 seconds on each side in malted water then press into desired toppings before baking.", + "critical_control_point": 0, + "equipment_ids": [ + "saucepan" + ] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Bake at 450°F (232°C) until golden brown (about 12-18 minutes).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "whole_wheat_chocolate_chip_cookies", + "schema_version": 2, + "save_version": 6, + "title": "Whole Wheat Chocolate Chip Cookies", + "summary": null, + "categories_json": "[\"cookies_tuiles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cookies_tuiles\",\"classic\"]", + "yield_quantity": 1365, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_whole_wheat", + "position": 1, + "ingredient_id": "flour_whole_wheat", + "subrecipe_id": null, + "quantity": 360, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_baking_powder", + "position": 2, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 1.94, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_baking_soda", + "position": 3, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.39, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 7, + "unit_id": "gram", + "percentage": 1.94, + "basis_member": 0, + "optional": 0, + "notes": "1½ t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_butter", + "position": 5, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 230, + "unit_id": "gram", + "percentage": 63.89, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 180, + "unit_id": "gram", + "percentage": 50, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_brown_sugar", + "position": 7, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 220, + "unit_id": "gram", + "percentage": 61.11, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_invert_sugar", + "position": 8, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 20, + "unit_id": "gram", + "percentage": 5.56, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_egg_whole", + "position": 9, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 27.78, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_vanilla_extract", + "position": 10, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 2.78, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_chocolate_chips", + "position": 11, + "ingredient_id": "chocolate_chips", + "subrecipe_id": null, + "quantity": 227, + "unit_id": "gram", + "percentage": 63.06, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Sift the dry ingredients and set aside. Pour any bits of grain that may remain in the sifter back into the rest of the sifted dry ingredients.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a paddle attachment, cream the butter and sugars.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Gradually add the eggs, followed by the extract, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Add the sifted dry ingredients and mix until barely combined.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Add the chocolate chips and mix until evenly combined, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 300°F (149°C).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "whole_wheat_pate_brisee", + "schema_version": 2, + "save_version": 8, + "title": "Whole Wheat Pâte Brisée", + "summary": null, + "categories_json": "[\"doughs\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"doughs\",\"classic\"]", + "yield_quantity": 1015, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"To inhibit gluten development, keep all ingredients and mixing bowl as cold as possible.\",\"The exact amount of hydration needed can vary depending upon the humidity in the air and the type of flour used.\",\"The dough can be refrigerated for 3 days or frozen up to 2 months.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_cake", + "position": 1, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 203, + "unit_id": "gram", + "percentage": 38.01, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_flour_all_purpose", + "position": 2, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 203, + "unit_id": "gram", + "percentage": 38.01, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_flour_whole_wheat", + "position": 3, + "ingredient_id": "flour_whole_wheat", + "subrecipe_id": null, + "quantity": 128, + "unit_id": "gram", + "percentage": 23.97, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_salt", + "position": 4, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 1.87, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 1.87, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_butter", + "position": 6, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 268, + "unit_id": "gram", + "percentage": 50.19, + "basis_member": 0, + "optional": 0, + "notes": "½-inch cubes, cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_water", + "position": 7, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 193, + "unit_id": "gram", + "percentage": 36.14, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a paddle attachment, mix together the dry ingredients and butter until the butter is ¼-inch, or \"pea sized.\"", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the water and mix until the dough is shaggy, but holds together when pressed between two fingers.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Turn the dough out on to a lightly floured work surface. Gently shape into desired sized rounds.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Wrap the dough in plastic wrap and refrigerate for a minimum of 1 hour, preferably overnight.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "winemakers_grape_cake", + "schema_version": 2, + "save_version": 6, + "title": "Winemakers' Grape Cake", + "summary": "Yield: two 9-inch loaf pans", + "categories_json": "[\"cakes_souffles\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"cakes_souffles\",\"classic\"]", + "yield_quantity": 1345, + "yield_unit_id": "gram", + "yield_servings": 2, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: two 9-inch loaf pans\",\"Dessert wines like Beaumes de Venise, Sauternes, sweet Riesling, Vin Santo, and Muscat work well with this recipe.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_flour_all_purpose", + "position": 1, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 100, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_salt", + "position": 2, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_baking_powder", + "position": 3, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_baking_soda", + "position": 4, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 1.25, + "unit_id": "gram", + "percentage": 0.5, + "basis_member": 0, + "optional": 0, + "notes": "¼ tsp", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_butter", + "position": 5, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 40, + "basis_member": 0, + "optional": 0, + "notes": "softened", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_sugar", + "position": 6, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 230, + "unit_id": "gram", + "percentage": 92, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_lemon_zest", + "position": 7, + "ingredient_id": "lemon_zest", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": 0.4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_orange_zest", + "position": 8, + "ingredient_id": "orange_zest", + "subrecipe_id": null, + "quantity": 1, + "unit_id": "each", + "percentage": 0.4, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_egg_whole", + "position": 9, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 100, + "unit_id": "gram", + "percentage": 40, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_white_dessert_wine", + "position": 10, + "ingredient_id": "white_dessert_wine", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 100, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_olive_oil", + "position": 11, + "ingredient_id": "olive_oil", + "subrecipe_id": null, + "quantity": 50, + "unit_id": "gram", + "percentage": 20, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_vanilla_extract", + "position": 12, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 2, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_seedless_grapes", + "position": 13, + "ingredient_id": "seedless_grapes", + "subrecipe_id": null, + "quantity": 350, + "unit_id": "gram", + "percentage": 140, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Sift the dry ingredients. Toss the grapes with a little of the sifted dry ingredient mixture to coat; set aside.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "In a mixer fitted with a paddle attachment, mix the butter, sugar, and zests until light and fluffy.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the eggs one at a time, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Combine the liquid ingredients. Alternately mix the dry and wet ingredients into the creamed butter mixture until smooth.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Distribute the batter into prepared loaf pans.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Sprinkle the grapes over the batter.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Bake at 350ºF (177ºC) until the top of the cakes are set.", + "critical_control_point": 0, + "equipment_ids": [ + "oven" + ] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Dot the top of the cakes with a little additional butter and granulated or vanilla sugar. Continue baking until a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "yeast_doughnuts", + "schema_version": 2, + "save_version": 6, + "title": "Yeast Doughnuts", + "summary": "Yield: forty 60 g (2 oz) doughnuts", + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breakfast\",\"classic\"]", + "yield_quantity": 2733, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: forty 60 g (2 oz) doughnuts\",\"Using yeast and baking powder together yields an exceptionally light and fluffy doughnut.\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_water", + "position": 1, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 865, + "unit_id": "gram", + "percentage": 63.6, + "basis_member": 0, + "optional": 0, + "notes": "100ºF/38ºC", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_yeast_fresh", + "position": 2, + "ingredient_id": "yeast_fresh", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 2.94, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_flour_bread", + "position": 3, + "ingredient_id": "flour_bread", + "subrecipe_id": null, + "quantity": 860, + "unit_id": "gram", + "percentage": 63.24, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_flour_pastry", + "position": 4, + "ingredient_id": "flour_pastry", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": 36.76, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 85, + "unit_id": "gram", + "percentage": 6.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_milk_powder", + "position": 6, + "ingredient_id": "milk_powder", + "subrecipe_id": null, + "quantity": 85, + "unit_id": "gram", + "percentage": 6.25, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_baking_powder", + "position": 7, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 23, + "unit_id": "gram", + "percentage": 1.69, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_salt", + "position": 8, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 23, + "unit_id": "gram", + "percentage": 1.69, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_cardamom", + "position": 9, + "ingredient_id": "cardamom", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 0.15, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_butter", + "position": 10, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 18.38, + "basis_member": 0, + "optional": 0, + "notes": "cold & cubed", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a hook attachment, mix the water and yeast for 30 seconds.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Add the sifted dry ingredients and mix until fully incorporated.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the butter and mix on low speed for 5 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Increase the speed to medium-low and mix for another 5 minutes.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Place the dough in an oiled bowl and bulk proof until doubled in size.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "De-gas the dough and roll or sheet to ½-inch thick.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_7", + "position": 7, + "instruction": "Cut into the doughnuts using a doughnut cutter or use two sizes of round cutters to create the hole.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_8", + "position": 8, + "instruction": "Proof the doughnuts until doubled in size.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_9", + "position": 9, + "instruction": "Add enough oil to a deep-sided pan to measure the depth of about 3-inches. Over medium heat, bring the temperature of the oil to 375°F (191°C).", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + }, + { + "id": "step_10", + "position": 10, + "instruction": "Carefully add a few doughnuts to the oil, being careful not to crowd the pan. Fry until golden brown. Turn the doughnuts over and fry until the other side is golden. Drain on paper towels.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "yogurt_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Yogurt Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 1400, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 16, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 80, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 300, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_whole_fat_yogurt", + "position": 4, + "ingredient_id": "whole_fat_yogurt", + "subrecipe_id": null, + "quantity": 315, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_cr_me_fra_che", + "position": 5, + "ingredient_id": "cr_me_fra_che", + "subrecipe_id": null, + "quantity": 315, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_limes", + "position": 6, + "ingredient_id": "limes", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "each", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "juice & zest", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_egg_whites", + "position": 7, + "ingredient_id": "egg_whites", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_sugar", + "position": 8, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 195, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "In a large bowl, whisk together the yogurt, crème fraîche, juice, and zest until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Melt the bloomed and drained gelatin and whisk into the yogurt mixture until smooth.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Make an Italian meringue with the sugar and egg whites; whip until tepid.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the meringue into the yogurt mixture, followed by the whipped cream.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "yuzu_mousse", + "schema_version": 2, + "save_version": 6, + "title": "Yuzu Mousse", + "summary": null, + "categories_json": "[\"mousses_bavarians\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"mousses_bavarians\",\"classic\"]", + "yield_quantity": 2124, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_gelatin_sheet", + "position": 1, + "ingredient_id": "gelatin_sheet", + "subrecipe_id": null, + "quantity": 14, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_water", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 70, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": "cold", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_heavy_cream", + "position": 3, + "ingredient_id": "heavy_cream", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_yuzu_juice", + "position": 4, + "ingredient_id": "yuzu_juice", + "subrecipe_id": null, + "quantity": 600, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_sugar", + "position": 5, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 500, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_egg_yolk", + "position": 6, + "ingredient_id": "egg_yolk", + "subrecipe_id": null, + "quantity": 440, + "unit_id": "gram", + "percentage": null, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Bloom the gelatin in cold water; the gelatin will absorb the majority of the water.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Whip the cream to soft peaks and set aside.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Make a crème anglaise with the juice, sugar, and egg yolks.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Once cooked, remove from heat, add the bloomed and drained gelatin, and whisk to dissolve.", + "critical_control_point": 0, + "equipment_ids": [ + "whisk" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Strain the mixture through a fine-mesh strainer and cool to about 65°F (18°C), or until slightly thickened.", + "critical_control_point": 0, + "equipment_ids": [ + "thermometer" + ] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Fold the whipped cream into the cooled yuzu crème anglaise.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer" + ] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "zucchini_bread", + "schema_version": 2, + "save_version": 6, + "title": "Zucchini Bread", + "summary": "Yield: two 9-inch loaf pans", + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"pastry_chefs_little_black_book\",\"breakfast\",\"classic\"]", + "yield_quantity": 1670, + "yield_unit_id": "gram", + "yield_servings": 2, + "yield_basis": "theoretical", + "scaling_mode": null, + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[\"Yield: two 9-inch loaf pans\"]", + "source_json": "{}", + "auto_yield": 0, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_01_sugar", + "position": 1, + "ingredient_id": "sugar", + "subrecipe_id": null, + "quantity": 180, + "unit_id": "gram", + "percentage": 45.45, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_02_brown_sugar", + "position": 2, + "ingredient_id": "brown_sugar", + "subrecipe_id": null, + "quantity": 180, + "unit_id": "gram", + "percentage": 45.45, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_03_invert_sugar", + "position": 3, + "ingredient_id": "invert_sugar", + "subrecipe_id": null, + "quantity": 40, + "unit_id": "gram", + "percentage": 10.1, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_egg_whole", + "position": 4, + "ingredient_id": "egg_whole", + "subrecipe_id": null, + "quantity": 150, + "unit_id": "gram", + "percentage": 37.88, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_05_vanilla_extract", + "position": 5, + "ingredient_id": "vanilla_extract", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 2.53, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_06_canola_oil", + "position": 6, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 245, + "unit_id": "gram", + "percentage": 61.87, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_flour_all_purpose", + "position": 7, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 138, + "unit_id": "gram", + "percentage": 34.85, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_08_flour_cake", + "position": 8, + "ingredient_id": "flour_cake", + "subrecipe_id": null, + "quantity": 138, + "unit_id": "gram", + "percentage": 34.85, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_baking_soda", + "position": 9, + "ingredient_id": "baking_soda", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.26, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_baking_powder", + "position": 10, + "ingredient_id": "baking_powder", + "subrecipe_id": null, + "quantity": 5, + "unit_id": "gram", + "percentage": 1.26, + "basis_member": 0, + "optional": 0, + "notes": "1 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_11_salt", + "position": 11, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 10, + "unit_id": "gram", + "percentage": 2.53, + "basis_member": 0, + "optional": 0, + "notes": "2 t", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_cinnamon", + "position": 12, + "ingredient_id": "cinnamon", + "subrecipe_id": null, + "quantity": 6, + "unit_id": "gram", + "percentage": 1.52, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_13_ginger", + "position": 13, + "ingredient_id": "ginger", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 0.51, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_14_nutmeg", + "position": 14, + "ingredient_id": "nutmeg", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 0.51, + "basis_member": 0, + "optional": 0, + "notes": "ground", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_15_zucchini", + "position": 15, + "ingredient_id": "zucchini", + "subrecipe_id": null, + "quantity": 303, + "unit_id": "gram", + "percentage": 76.52, + "basis_member": 0, + "optional": 0, + "notes": "grated", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_16_flour_all_purpose", + "position": 16, + "ingredient_id": "flour_all_purpose", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 15.15, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_17_flour_whole_wheat", + "position": 17, + "ingredient_id": "flour_whole_wheat", + "subrecipe_id": null, + "quantity": 60, + "unit_id": "gram", + "percentage": 15.15, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_18_pecan", + "position": 18, + "ingredient_id": "pecan", + "subrecipe_id": null, + "quantity": 135, + "unit_id": "gram", + "percentage": 34.09, + "basis_member": 0, + "optional": 0, + "notes": "toasted & chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "In a mixer fitted with a whisk attachment, whisk the sugars, eggs, and extract until light and thick.", + "critical_control_point": 0, + "equipment_ids": [ + "stand_mixer", + "whisk" + ] + }, + { + "id": "step_2", + "position": 2, + "instruction": "Gradually add the oil.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_3", + "position": 3, + "instruction": "Add the sifted dry ingredients and whisk until smooth, scraping down the bowl as necessary.", + "critical_control_point": 0, + "equipment_ids": [ + "mixing_bowl", + "whisk" + ] + }, + { + "id": "step_4", + "position": 4, + "instruction": "Combine the grated zucchini, second weight of all-purpose flour, and whole wheat flour.", + "critical_control_point": 0, + "equipment_ids": [ + "kitchen_scale" + ] + }, + { + "id": "step_5", + "position": 5, + "instruction": "Fold the zucchini mixture, along with the pecans, into the rest of the batter until homogenous.", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_6", + "position": 6, + "instruction": "Bake at 325°F (163°C) until a skewer inserted comes out clean.", + "critical_control_point": 0, + "equipment_ids": [ + "oven", + "thermometer" + ] + } + ], + "measure_conversions": [], + "media": [] + } + ], + "purchase_items": [ + { + "id": "sams_club_0980250647", + "ingredient_id": "sugar", + "name": "10 LB SUGAR", + "brand": null, + "supplier_id": "sams_club", + "supplier_sku": "980250647.0", + "status": "active", + "package_quantity": 10, + "package_unit_id": "pound", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2026-07-10", + "currency": "USD", + "amount": 6.58, + "source_json": "{\"source_type\":\"supplier\",\"title\":\"Sam's Club receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_10295081", + "ingredient_id": "tomato_paste", + "name": "Hunt’s Tomato Paste, Perfect for Chili & Soups, 12 oz. Can", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "10295081", + "status": "active", + "package_quantity": 12, + "package_unit_id": "ounce_mass", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2026-07-29", + "currency": "USD", + "amount": 1.72, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/29788178867501257987?storePurchase=true&source=sco&comm-msg-id=072f19de-49e0-3870-9016-3b9bbfb104a3&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_10295176", + "ingredient_id": "tomato_paste", + "name": "Contadina Canned Tomatoes Canned Tomato Paste, 12 oz Can", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "10295176", + "status": "active", + "package_quantity": 12, + "package_unit_id": "ounce_mass", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2026-07-29", + "currency": "USD", + "amount": 1.93, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/29788178867501257987?storePurchase=true&source=sco&comm-msg-id=072f19de-49e0-3870-9016-3b9bbfb104a3&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_10315012", + "ingredient_id": "brown_sugar", + "name": "Great Value Light Brown Sugar, 32 oz", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "10315012", + "status": "active", + "package_quantity": 32, + "package_unit_id": "ounce_mass", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2026-05-16", + "currency": "USD", + "amount": 1.98, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/97531739020476935200?storePurchase=true&source=sco&comm-msg-id=1e47ee69-4b4f-357d-87c2-f9e9fa4c4efa&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_10315054", + "ingredient_id": "butter", + "name": "Great Value Sweet Cream Unsalted Butter, 16 oz, 4 Sticks", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "10315054", + "status": "active", + "package_quantity": 16, + "package_unit_id": "ounce_mass", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2026-08-08", + "currency": "USD", + "amount": 3.06, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/23769992985344078333?storePurchase=true&source=sco&comm-msg-id=c4d34476-32e4-3e79-ba0f-615eafedc09f&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + }, + { + "effective_at": "2026-06-29", + "currency": "USD", + "amount": 3.06, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/59188434776500223977?storePurchase=true&source=sco&comm-msg-id=1f48343d-ae31-3bad-9da4-eb56c957ab2e&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + }, + { + "effective_at": "2026-04-02", + "currency": "USD", + "amount": 3.06, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/32212589644659780686?storePurchase=true&source=sco&comm-msg-id=bdd4f76a-52e7-39ff-864c-e9dbcb66dbac&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + }, + { + "effective_at": "2026-03-17", + "currency": "USD", + "amount": 3.44, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/45212490664656751676?storePurchase=true&source=sco&comm-msg-id=80472a52-a1ec-31be-afb2-d769681e3fd7&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + }, + { + "effective_at": "2025-11-25", + "currency": "USD", + "amount": 3.67, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/09296263468708521757?storePurchase=true&source=sco&comm-msg-id=094ad539-7853-31e6-ae9c-d880f6b19770&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_10315088", + "ingredient_id": "bread_crumbs", + "name": "Great Value Italian Style Bread Crumbs, 15 oz", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "10315088", + "status": "active", + "package_quantity": 15, + "package_unit_id": "ounce_mass", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2026-07-24", + "currency": "USD", + "amount": 1.22, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/88855716573167287161?storePurchase=true&source=sco&comm-msg-id=d3f726a2-2156-3417-84ec-afb435624394&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_10315278", + "ingredient_id": "corn_syrup_light", + "name": "Great Value Light Corn Syrup, 16 fl oz", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "10315278", + "status": "active", + "package_quantity": 16, + "package_unit_id": "fluid_ounce_us", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2026-04-02", + "currency": "USD", + "amount": 2.54, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/32212589644659780686?storePurchase=true&source=sco&comm-msg-id=bdd4f76a-52e7-39ff-864c-e9dbcb66dbac&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_10315395", + "ingredient_id": "rice", + "name": "Great Value Long Grain Enriched Rice, 5 lbs", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "10315395", + "status": "active", + "package_quantity": 5, + "package_unit_id": "pound", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2026-06-18", + "currency": "USD", + "amount": 3.37, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/88612451444653736606?storePurchase=true&source=sco&comm-msg-id=26ab35a8-99b5-3d24-b52c-6b50daf73389&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + }, + { + "effective_at": "2024-11-16", + "currency": "USD", + "amount": 3.34, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/80631816330251657232?storePurchase=true&source=sco\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_10315402", + "ingredient_id": "parmesan_cheese", + "name": "Great Value Grated Parmesan Cheese, 8 oz Shaker", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "10315402", + "status": "active", + "package_quantity": 8, + "package_unit_id": "ounce_mass", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2026-07-29", + "currency": "USD", + "amount": 2.98, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/29788178867501257987?storePurchase=true&source=sco&comm-msg-id=072f19de-49e0-3870-9016-3b9bbfb104a3&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_10315545", + "ingredient_id": "mustard_dijon", + "name": "Great Value Dijon Mustard, 12 oz", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "10315545", + "status": "active", + "package_quantity": 12, + "package_unit_id": "ounce_mass", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2026-03-08", + "currency": "USD", + "amount": 1.62, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/21688008947903306989?storePurchase=true&source=sco&comm-msg-id=017fa976-0a9d-3270-bc68-81ce98b486f4&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + }, + { + "effective_at": "2024-11-16", + "currency": "USD", + "amount": 1.52, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/80631816330251657232?storePurchase=true&source=sco\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_10403017", + "ingredient_id": "flour_all_purpose", + "name": "Great Value All-Purpose Enriched Bleached Wheat Flour, 5 lb Bag", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "10403017", + "status": "active", + "package_quantity": 5, + "package_unit_id": "pound", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2025-11-26", + "currency": "USD", + "amount": 2.38, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/45977486879540147585?storePurchase=true&source=sco&comm-msg-id=e85eccf7-1a2b-390f-b679-d4ee9c9ff6d4&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_10415230", + "ingredient_id": "tomato_crushed_in_juice", + "name": "Great Value Crushed Tomatoes with Tomato Puree, 28 oz", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "10415230", + "status": "active", + "package_quantity": 28, + "package_unit_id": "ounce_mass", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2026-06-25", + "currency": "USD", + "amount": 1.52, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/82877804999326477529?storePurchase=true&source=sco&comm-msg-id=6a8c1ef1-de58-3dcd-a501-d1299acef844&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + }, + { + "effective_at": "2026-06-05", + "currency": "USD", + "amount": 1.52, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/45912437424651713656?storePurchase=true&source=sco&comm-msg-id=81470600-62e5-3738-ba25-90a477f07003&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_10415512", + "ingredient_id": "tomato_puree", + "name": "Great Value Tomato Puree, 29 oz", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "10415512", + "status": "active", + "package_quantity": 29, + "package_unit_id": "ounce_mass", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2026-05-22", + "currency": "USD", + "amount": 1.84, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/13143795191281716091?storePurchase=true&source=sco&comm-msg-id=6dba5f85-ceec-3dae-8383-05e0586000a4&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_10415519", + "ingredient_id": "tomato_paste", + "name": "Great Value Tomato Paste, 6 oz", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "10415519", + "status": "active", + "package_quantity": 6, + "package_unit_id": "ounce_mass", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2026-06-25", + "currency": "USD", + "amount": 0.86, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/82877804999326477529?storePurchase=true&source=sco&comm-msg-id=6a8c1ef1-de58-3dcd-a501-d1299acef844&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + }, + { + "effective_at": "2026-06-17", + "currency": "USD", + "amount": 0.86, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/97212257424853309674?storePurchase=true&source=sco&comm-msg-id=04a1542b-1cad-30cf-bef9-ade362c68939&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_10448316", + "ingredient_id": "salt", + "name": "Great Value Iodized Salt, 26 oz", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "10448316", + "status": "active", + "package_quantity": 26, + "package_unit_id": "ounce_mass", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2024-10-27", + "currency": "USD", + "amount": 0.67, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/25669937759389032313?storePurchase=true&source=sco\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_10450119", + "ingredient_id": "milk", + "name": "Great Value Milk, 2% Reduced Fat, Half Gallon, 64 fl oz", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "10450119", + "status": "active", + "package_quantity": 64, + "package_unit_id": "fluid_ounce_us", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2026-06-17", + "currency": "USD", + "amount": 2.5, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/97212257424853309674?storePurchase=true&source=sco&comm-msg-id=04a1542b-1cad-30cf-bef9-ade362c68939&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_10450340", + "ingredient_id": "heavy_cream", + "name": "Great Value Heavy Whipping Cream, 32 oz Carton", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "10450340", + "status": "active", + "package_quantity": 32, + "package_unit_id": "ounce_mass", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2026-08-08", + "currency": "USD", + "amount": 4.74, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/23769992985344078333?storePurchase=true&source=sco&comm-msg-id=c4d34476-32e4-3e79-ba0f-615eafedc09f&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + }, + { + "effective_at": "2026-06-03", + "currency": "USD", + "amount": 4.83, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/37555189313161207151?storePurchase=true&source=sco&comm-msg-id=e605353b-d866-3ff0-8a98-b737c01559d4&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + }, + { + "effective_at": "2024-11-16", + "currency": "USD", + "amount": 5.67, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/80631816330251657232?storePurchase=true&source=sco\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_10452370", + "ingredient_id": "cheddar_cheese", + "name": "Great Value Mild Cheddar Finely Shredded Cheese, 8 oz Bag", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "10452370", + "status": "active", + "package_quantity": 8, + "package_unit_id": "ounce_mass", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2026-08-02", + "currency": "USD", + "amount": 1.97, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/87755939553167268191?storePurchase=true&source=sco&comm-msg-id=1590de77-aa2e-3f8b-8e1d-0b9c6b804d3b&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_10452376", + "ingredient_id": "cheddar_cheese", + "name": "Great Value Mild Cheddar Block Cheese, 16 oz Chunk", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "10452376", + "status": "active", + "package_quantity": 16, + "package_unit_id": "ounce_mass", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2024-09-22", + "currency": "USD", + "amount": 3.74, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/95212854266613748616?storePurchase=true&source=sco\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_10452385", + "ingredient_id": "sharp_cheddar_cheese", + "name": "Great Value Block Sharp Cheddar Cheese, 16 oz", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "10452385", + "status": "active", + "package_quantity": 16, + "package_unit_id": "ounce_mass", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2026-06-03", + "currency": "USD", + "amount": 3.58, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/37555189313161207151?storePurchase=true&source=sco&comm-msg-id=e605353b-d866-3ff0-8a98-b737c01559d4&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_10535480", + "ingredient_id": "vinegar_balsamic", + "name": "Colavita Balsamic Vinegar of Modena IGP, 17 Fluid Ounce Bottle", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "10535480", + "status": "active", + "package_quantity": 17, + "package_unit_id": "fluid_ounce_us", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2026-07-24", + "currency": "USD", + "amount": 4.22, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/88855716573167287161?storePurchase=true&source=sco&comm-msg-id=d3f726a2-2156-3417-84ec-afb435624394&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_111156738", + "ingredient_id": "italian_sausage", + "name": "Bird Farm Italian Sausage, 16 oz. Roll", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "111156738", + "status": "active", + "package_quantity": 16, + "package_unit_id": "ounce_mass", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2026-07-24", + "currency": "USD", + "amount": 3.82, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/88855716573167287161?storePurchase=true&source=sco&comm-msg-id=d3f726a2-2156-3417-84ec-afb435624394&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_12166183", + "ingredient_id": "bbq_sauce_hickory_smoke", + "name": "Sweet Baby Ray's® Hickory & Brown Sugar Barbecue Sauce 40 oz", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "12166183", + "status": "active", + "package_quantity": 40, + "package_unit_id": "ounce_mass", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2025-11-19", + "currency": "USD", + "amount": 3.98, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/72204744266813941828?storePurchase=true&source=sco&comm-msg-id=cf221815-7bc1-3044-a446-ca98cdb149cf&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_12512024", + "ingredient_id": "lemon_juice", + "name": "Great Value Lemon 100% Juice, 32 fl oz", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "12512024", + "status": "active", + "package_quantity": 32, + "package_unit_id": "fluid_ounce_us", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2024-10-27", + "currency": "USD", + "amount": 2.88, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/25669937759389032313?storePurchase=true&source=sco\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_13424766", + "ingredient_id": "chipotle_pepper_adobo", + "name": "La Costeña Chipotle Peppers in Adobo Sauce, 7 oz", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "13424766", + "status": "active", + "package_quantity": 7, + "package_unit_id": "ounce_mass", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2024-11-16", + "currency": "USD", + "amount": 1.63, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/80631816330251657232?storePurchase=true&source=sco\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_15136790", + "ingredient_id": "ground_beef_73_27_raw", + "name": "73% Lean / 27% Fat Ground Beef, 1 lb Roll, Fresh, All Natural*", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "15136790", + "status": "active", + "package_quantity": 1, + "package_unit_id": "pound", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2026-07-24", + "currency": "USD", + "amount": 5.94, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/88855716573167287161?storePurchase=true&source=sco&comm-msg-id=d3f726a2-2156-3417-84ec-afb435624394&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_15716793", + "ingredient_id": "white_chocolate", + "name": "Great Value White Chocolate Baking Bar, 4 oz Box", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "15716793", + "status": "active", + "package_quantity": 4, + "package_unit_id": "ounce_mass", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2024-12-22", + "currency": "USD", + "amount": 2.84, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/52869262785383055373?storePurchase=true&source=sco\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_19400150", + "ingredient_id": "parmesan_cheese", + "name": "Great Value Grated Parmesan Cheese, 16 oz Bottle", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "19400150", + "status": "active", + "package_quantity": 16, + "package_unit_id": "ounce_mass", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2024-10-27", + "currency": "USD", + "amount": 5.48, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/25669937759389032313?storePurchase=true&source=sco\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_288194636", + "ingredient_id": "semisweet_chocolate", + "name": "Great Value Mini Semi-Sweet Chocolate Baking Chips, 12 oz Bag", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "288194636", + "status": "active", + "package_quantity": 12, + "package_unit_id": "ounce_mass", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2026-03-17", + "currency": "USD", + "amount": 3.58, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/45212490664656751676?storePurchase=true&source=sco&comm-msg-id=80472a52-a1ec-31be-afb2-d769681e3fd7&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_34186943", + "ingredient_id": "cheddar_cheese", + "name": "Great Value Mild Cheddar Block Cheese, 8 oz Chunk", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "34186943", + "status": "active", + "package_quantity": 8, + "package_unit_id": "ounce_mass", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2026-06-29", + "currency": "USD", + "amount": 1.87, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/59188434776500223977?storePurchase=true&source=sco&comm-msg-id=1f48343d-ae31-3bad-9da4-eb56c957ab2e&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_36120978", + "ingredient_id": "mayonnaise", + "name": "Kewpie Mayonnaise, Japanese Umami Style Mayo 17.64oz, Bottle Dispenser", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "36120978", + "status": "active", + "package_quantity": 17.64, + "package_unit_id": "ounce_mass", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2024-11-16", + "currency": "USD", + "amount": 5.87, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/80631816330251657232?storePurchase=true&source=sco\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_41592222", + "ingredient_id": "cream_cheese", + "name": "Great Value Cream Cheese Brick, 8 oz Block, 2 Pack", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "41592222", + "status": "active", + "package_quantity": 8, + "package_unit_id": "ounce_mass", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2026-06-13", + "currency": "USD", + "amount": 2.97, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/69943682191083413050?storePurchase=true&source=sco&comm-msg-id=516ea6c2-9756-3a40-bba2-3b2b125a3d90&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + }, + { + "effective_at": "2026-06-03", + "currency": "USD", + "amount": 2.97, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/37555189313161207151?storePurchase=true&source=sco&comm-msg-id=e605353b-d866-3ff0-8a98-b737c01559d4&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_426222521", + "ingredient_id": "butter_flavored_shortening", + "name": "Crisco All-Vegetable Butter Flavor Vegetable Shortening Can, Shelf-Stable, 48 oz", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "426222521", + "status": "active", + "package_quantity": 48, + "package_unit_id": "ounce_mass", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2026-06-13", + "currency": "USD", + "amount": 7.97, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/69943682191083413050?storePurchase=true&source=sco&comm-msg-id=516ea6c2-9756-3a40-bba2-3b2b125a3d90&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + }, + { + "effective_at": "2024-12-22", + "currency": "USD", + "amount": 8.18, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/52869262785383055373?storePurchase=true&source=sco\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + }, + { + "effective_at": "2024-10-27", + "currency": "USD", + "amount": 8.18, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/25669937759389032313?storePurchase=true&source=sco\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_43236036", + "ingredient_id": "butter", + "name": "Prairie Farms Unsalted Quarter Butter Sticks, 16 Oz., 4 Count", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "43236036", + "status": "active", + "package_quantity": 16, + "package_unit_id": "ounce_mass", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2024-12-22", + "currency": "USD", + "amount": 4.88, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/52869262785383055373?storePurchase=true&source=sco\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_44001602", + "ingredient_id": "ground_beef_73_27_raw", + "name": "73% Lean / 27% Fat Ground Beef, 10 lb Roll, Fresh, All Natural*", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "44001602", + "status": "active", + "package_quantity": 10, + "package_unit_id": "pound", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2025-03-21", + "currency": "USD", + "amount": 34.44, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/07296959777909046718?storePurchase=true&source=sco\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_55014398", + "ingredient_id": "garlic", + "name": "Fresh Garlic Sleeve, 3 Count", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "55014398", + "status": "active", + "package_quantity": 3, + "package_unit_id": "each", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2025-04-13", + "currency": "USD", + "amount": 1.68, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/26788998784729214984?storePurchase=true&source=sco&comm-msg-id=e356fc76-64a7-36ba-9e14-af090a705238&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_664106906", + "ingredient_id": "cornstarch", + "name": "Great Value Corn Starch, 16 oz", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "664106906", + "status": "active", + "package_quantity": 16, + "package_unit_id": "ounce_mass", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2026-03-08", + "currency": "USD", + "amount": 1.92, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/21688008947903306989?storePurchase=true&source=sco&comm-msg-id=017fa976-0a9d-3270-bc68-81ce98b486f4&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_676979470", + "ingredient_id": "garlic_powder", + "name": "Great Value Garlic Powder, 3.4 oz", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "676979470", + "status": "active", + "package_quantity": 3.4, + "package_unit_id": "ounce_mass", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2024-11-16", + "currency": "USD", + "amount": 1, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/80631816330251657232?storePurchase=true&source=sco\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + }, + { + "id": "walmart_705601418", + "ingredient_id": "onion_powder", + "name": "Great Value Onion Powder, 3.25 oz", + "brand": null, + "supplier_id": "walmart", + "supplier_sku": "705601418", + "status": "active", + "package_quantity": 3.25, + "package_unit_id": "ounce_mass", + "units_per_case": 1, + "usable_yield_factor": 1, + "deleted_at": null, + "prices": [ + { + "effective_at": "2026-03-08", + "currency": "USD", + "amount": 1.08, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/21688008947903306989?storePurchase=true&source=sco&comm-msg-id=017fa976-0a9d-3270-bc68-81ce98b486f4&comm-msg-vehicle=sms&comm-msg-recipient=eyJ2YWx1ZSI6IjE2NjAyMDIzNDkzIiwic3RyYXRlZ3kiOjAsImlzb19jYyI6bnVsbH0=\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + }, + { + "effective_at": "2024-11-16", + "currency": "USD", + "amount": 1, + "source_json": "{\"source_type\":\"supplier\",\"url\":\"https://www.walmart.com/orders/80631816330251657232?storePurchase=true&source=sco\",\"title\":\"Walmart receipt\",\"reviewed\":true}" + } + ] + } + ], + "source_mappings": [ + { + "id": "supplier_label_lee_kum_kee_premium_dark_soy_sauce_078895126389", + "subject_type": "ingredient", + "subject_id": "soy_sauce_dark", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"supplier\",\"external_id\":\"078895126389\",\"url\":\"https://www.heb.com/product-detail/lee-kum-kee-dark-soy-sauce/2241082\",\"title\":\"Lee Kum Kee Premium Dark Soy Sauce nutrition label\",\"publisher\":\"H-E-B\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\",\"notes\":\"U.S. retail label for UPC 078895126389. Values converted from a 15 g serving to 100 g; label rounding is therefore preserved and amplified.\"}", + "nutrition_json": "{\"energy_kcal\":166.6667,\"total_fat_g\":0,\"carbohydrate_g\":33.3333,\"total_sugars_g\":20,\"sodium_mg\":7733.3333}" + }, + { + "id": "usda_fdc_agar_170090", + "subject_type": "ingredient", + "subject_id": "agar", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170090\",\"url\":\"https://fdc.nal.usda.gov/food-details/170090/nutrients\",\"title\":\"Seaweed, agar, dried\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":625,\"carbohydrate_g\":80.9,\"cholesterol_mg\":0,\"dietary_fiber_g\":7.7,\"energy_kcal\":306,\"iron_mg\":21.4,\"potassium_mg\":1120,\"protein_g\":6.21,\"saturated_fat_g\":0.061,\"sodium_mg\":102,\"total_fat_g\":0.3,\"total_sugars_g\":2.97,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_allspice_171315", + "subject_type": "ingredient", + "subject_id": "allspice", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171315\",\"url\":\"https://fdc.nal.usda.gov/food-details/171315/nutrients\",\"title\":\"Spices, allspice, ground\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":661,\"carbohydrate_g\":72.1,\"cholesterol_mg\":0,\"dietary_fiber_g\":21.6,\"energy_kcal\":263,\"iron_mg\":7.06,\"potassium_mg\":1040,\"protein_g\":6.09,\"saturated_fat_g\":2.55,\"sodium_mg\":77,\"total_fat_g\":8.69,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_apricot_jam_170645", + "subject_type": "ingredient", + "subject_id": "apricot_jam", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170645\",\"url\":\"https://fdc.nal.usda.gov/food-details/170645/nutrients\",\"title\":\"Jams and preserves, apricot\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":20,\"carbohydrate_g\":64.4,\"cholesterol_mg\":0,\"dietary_fiber_g\":0.3,\"energy_kcal\":242,\"iron_mg\":0.49,\"potassium_mg\":77,\"protein_g\":0.7,\"saturated_fat_g\":0.01,\"sodium_mg\":40,\"total_fat_g\":0.2,\"total_sugars_g\":43.4,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_avocado_2710824", + "subject_type": "ingredient", + "subject_id": "avocado", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2710824\",\"url\":\"https://fdc.nal.usda.gov/food-details/2710824/nutrients\",\"title\":\"Avocado, Hass, peeled, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":14.5,\"carbohydrate_g\":8.32,\"energy_kcal\":206,\"iron_mg\":0.613,\"potassium_mg\":576,\"protein_g\":1.81,\"sodium_mg\":0,\"total_fat_g\":20.3}" + }, + { + "id": "usda_fdc_bacon_168277", + "subject_type": "ingredient", + "subject_id": "bacon", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"168277\",\"url\":\"https://fdc.nal.usda.gov/food-details/168277/nutrients\",\"title\":\"Pork, cured, bacon, unprepared\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":6,\"carbohydrate_g\":0,\"cholesterol_mg\":66,\"dietary_fiber_g\":0,\"energy_kcal\":393,\"iron_mg\":0.38,\"potassium_mg\":201,\"protein_g\":13.66,\"saturated_fat_g\":12.615,\"sodium_mg\":751,\"total_fat_g\":37.13,\"total_sugars_g\":0.35,\"vitamin_d_mcg\":0.4}" + }, + { + "id": "usda_fdc_baking_powder_172803", + "subject_type": "ingredient", + "subject_id": "baking_powder", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"172803\",\"url\":\"https://fdc.nal.usda.gov/food-details/172803/nutrients\",\"title\":\"Leavening agents, baking powder, double-acting, sodium aluminum sulfate\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":5880,\"carbohydrate_g\":27.7,\"cholesterol_mg\":0,\"dietary_fiber_g\":0.2,\"energy_kcal\":53,\"iron_mg\":11,\"potassium_mg\":20,\"protein_g\":0,\"saturated_fat_g\":0,\"sodium_mg\":10600,\"total_fat_g\":0,\"total_sugars_g\":0,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_baking_soda_175040", + "subject_type": "ingredient", + "subject_id": "baking_soda", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"175040\",\"url\":\"https://fdc.nal.usda.gov/food-details/175040/nutrients\",\"title\":\"Leavening agents, baking soda\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":0,\"carbohydrate_g\":0,\"cholesterol_mg\":0,\"dietary_fiber_g\":0,\"energy_kcal\":0,\"iron_mg\":0,\"potassium_mg\":0,\"protein_g\":0,\"saturated_fat_g\":0,\"sodium_mg\":27400,\"total_fat_g\":0,\"total_sugars_g\":0,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_banana_1105314", + "subject_type": "ingredient", + "subject_id": "banana", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"1105314\",\"url\":\"https://fdc.nal.usda.gov/food-details/1105314/nutrients\",\"title\":\"Bananas, ripe and slightly ripe, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":5,\"carbohydrate_g\":23,\"dietary_fiber_g\":1.7,\"energy_kcal\":97,\"iron_mg\":0,\"potassium_mg\":326,\"protein_g\":0.74,\"sodium_mg\":0,\"total_fat_g\":0.29}" + }, + { + "id": "usda_fdc_barley_malt_powder_2027592", + "subject_type": "ingredient", + "subject_id": "barley_malt_powder", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2027592\",\"url\":\"https://fdc.nal.usda.gov/food-details/2027592/nutrients\",\"title\":\"BARLEY MALT POWDER\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"carbohydrate_g\":100,\"energy_kcal\":400,\"potassium_mg\":750,\"total_fat_g\":0,\"total_sugars_g\":100}" + }, + { + "id": "usda_fdc_barley_malt_syrup_169660", + "subject_type": "ingredient", + "subject_id": "barley_malt_syrup", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169660\",\"url\":\"https://fdc.nal.usda.gov/food-details/169660/nutrients\",\"title\":\"Syrups, malt\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":61,\"carbohydrate_g\":71.3,\"cholesterol_mg\":0,\"dietary_fiber_g\":0,\"energy_kcal\":318,\"iron_mg\":0.96,\"potassium_mg\":320,\"protein_g\":6.2,\"saturated_fat_g\":0,\"sodium_mg\":35,\"total_fat_g\":0,\"total_sugars_g\":71.3}" + }, + { + "id": "usda_fdc_basil_171317", + "subject_type": "ingredient", + "subject_id": "basil", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171317\",\"url\":\"https://fdc.nal.usda.gov/food-details/171317/nutrients\",\"title\":\"Spices, basil, dried\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":2240,\"carbohydrate_g\":47.8,\"cholesterol_mg\":0,\"dietary_fiber_g\":37.7,\"energy_kcal\":233,\"iron_mg\":89.8,\"potassium_mg\":2630,\"protein_g\":23,\"saturated_fat_g\":2.16,\"sodium_mg\":76,\"total_fat_g\":4.07,\"total_sugars_g\":1.71,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_bbq_sauce_hickory_smoke_2020420", + "subject_type": "ingredient", + "subject_id": "bbq_sauce_hickory_smoke", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2020420\",\"url\":\"https://fdc.nal.usda.gov/food-details/2020420/nutrients\",\"title\":\"SWEET BABY RAY'S, HICKORY & BROWN SUGAR BARBECUE SAUCE\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"carbohydrate_g\":48.65,\"energy_kcal\":189,\"iron_mg\":0.97,\"protein_g\":0,\"sodium_mg\":784,\"total_fat_g\":0,\"total_sugars_g\":43.24}" + }, + { + "id": "usda_fdc_beef_base_2422131", + "subject_type": "ingredient", + "subject_id": "beef_base", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2422131\",\"url\":\"https://fdc.nal.usda.gov/food-details/2422131/nutrients\",\"title\":\"BEEF BASE, BEEF\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":0,\"carbohydrate_g\":16.67,\"cholesterol_mg\":0,\"dietary_fiber_g\":0,\"energy_kcal\":250,\"iron_mg\":0,\"potassium_mg\":1167,\"protein_g\":16.67,\"saturated_fat_g\":0,\"sodium_mg\":9667,\"total_fat_g\":16.67,\"total_sugars_g\":0}" + }, + { + "id": "usda_fdc_beer_168746", + "subject_type": "ingredient", + "subject_id": "beer", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"168746\",\"url\":\"https://fdc.nal.usda.gov/food-details/168746/nutrients\",\"title\":\"Alcoholic beverage, beer, regular, all\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":4,\"carbohydrate_g\":3.55,\"cholesterol_mg\":0,\"dietary_fiber_g\":0,\"energy_kcal\":43,\"iron_mg\":0.02,\"potassium_mg\":27,\"protein_g\":0.46,\"saturated_fat_g\":0,\"sodium_mg\":4,\"total_fat_g\":0,\"total_sugars_g\":0,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_black_pepper_ground_170931", + "subject_type": "ingredient", + "subject_id": "black_pepper_ground", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170931\",\"url\":\"https://fdc.nal.usda.gov/food-details/170931/nutrients\",\"title\":\"Spices, pepper, black\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":443,\"carbohydrate_g\":64,\"cholesterol_mg\":0,\"dietary_fiber_g\":25.3,\"energy_kcal\":251,\"iron_mg\":9.71,\"potassium_mg\":1330,\"protein_g\":10.4,\"saturated_fat_g\":1.39,\"sodium_mg\":20,\"total_fat_g\":3.26,\"total_sugars_g\":0.64,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_blueberry_2346411", + "subject_type": "ingredient", + "subject_id": "blueberry", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2346411\",\"url\":\"https://fdc.nal.usda.gov/food-details/2346411/nutrients\",\"title\":\"Blueberries, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":11.69,\"carbohydrate_g\":14.571775,\"energy_kcal\":57.384621,\"iron_mg\":0.3398,\"potassium_mg\":85.64,\"protein_g\":0.703125,\"sodium_mg\":0,\"total_fat_g\":0.3063}" + }, + { + "id": "usda_fdc_bread_crumbs_174928", + "subject_type": "ingredient", + "subject_id": "bread_crumbs", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"174928\",\"url\":\"https://fdc.nal.usda.gov/food-details/174928/nutrients\",\"title\":\"Bread, crumbs, dry, grated, plain\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":183,\"carbohydrate_g\":72,\"cholesterol_mg\":0,\"dietary_fiber_g\":4.5,\"energy_kcal\":395,\"iron_mg\":4.83,\"potassium_mg\":196,\"protein_g\":13.4,\"saturated_fat_g\":1.2,\"sodium_mg\":732,\"total_fat_g\":5.3,\"total_sugars_g\":6.2,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_brown_sugar_168833", + "subject_type": "ingredient", + "subject_id": "brown_sugar", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"168833\",\"url\":\"https://fdc.nal.usda.gov/food-details/168833/nutrients\",\"title\":\"Sugars, brown\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":83,\"carbohydrate_g\":98.1,\"cholesterol_mg\":0,\"dietary_fiber_g\":0,\"energy_kcal\":380,\"iron_mg\":0.71,\"potassium_mg\":133,\"protein_g\":0.12,\"saturated_fat_g\":0,\"sodium_mg\":28,\"total_fat_g\":0,\"total_sugars_g\":97,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_butter_789828", + "subject_type": "ingredient", + "subject_id": "butter", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"789828\",\"url\":\"https://fdc.nal.usda.gov/food-details/789828/nutrients\",\"title\":\"Butter, stick, unsalted\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":14,\"cholesterol_mg\":234,\"iron_mg\":0.03,\"potassium_mg\":19,\"sodium_mg\":10,\"total_fat_g\":81.5}" + }, + { + "id": "usda_fdc_butter_flavored_shortening_2756254", + "subject_type": "ingredient", + "subject_id": "butter_flavored_shortening", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2756254\",\"url\":\"https://fdc.nal.usda.gov/food-details/2756254/nutrients\",\"title\":\"Crisco Shortening, All Vegetable, Butter Flavor\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"energy_kcal\":733.3333,\"saturated_fat_g\":23.3333,\"total_fat_g\":80}" + }, + { + "id": "usda_fdc_buttermilk_2259792", + "subject_type": "ingredient", + "subject_id": "buttermilk", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2259792\",\"url\":\"https://fdc.nal.usda.gov/food-details/2259792/nutrients\",\"title\":\"Buttermilk, low fat\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":120,\"carbohydrate_g\":4.81,\"cholesterol_mg\":4.79,\"energy_kcal\":42.9,\"iron_mg\":0.013,\"potassium_mg\":158,\"protein_g\":3.46,\"saturated_fat_g\":0.552,\"sodium_mg\":92.5,\"total_fat_g\":1.08,\"vitamin_d_mcg\":0.543}" + }, + { + "id": "usda_fdc_buttermilk_powder_171274", + "subject_type": "ingredient", + "subject_id": "buttermilk_powder", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171274\",\"url\":\"https://fdc.nal.usda.gov/food-details/171274/nutrients\",\"title\":\"Milk, buttermilk, dried\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":1180,\"carbohydrate_g\":49,\"cholesterol_mg\":69,\"dietary_fiber_g\":0,\"energy_kcal\":387,\"iron_mg\":0.3,\"potassium_mg\":1590,\"protein_g\":34.3,\"saturated_fat_g\":3.6,\"sodium_mg\":517,\"total_fat_g\":5.78,\"total_sugars_g\":49,\"vitamin_d_mcg\":0.5}" + }, + { + "id": "usda_fdc_canola_oil_748278", + "subject_type": "ingredient", + "subject_id": "canola_oil", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"748278\",\"url\":\"https://fdc.nal.usda.gov/food-details/748278/nutrients\",\"title\":\"Oil, canola\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"saturated_fat_g\":6.61}" + }, + { + "id": "usda_fdc_cardamom_170919", + "subject_type": "ingredient", + "subject_id": "cardamom", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170919\",\"url\":\"https://fdc.nal.usda.gov/food-details/170919/nutrients\",\"title\":\"Spices, cardamom\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":383,\"carbohydrate_g\":68.5,\"cholesterol_mg\":0,\"dietary_fiber_g\":28,\"energy_kcal\":311,\"iron_mg\":14,\"potassium_mg\":1120,\"protein_g\":10.8,\"saturated_fat_g\":0.68,\"sodium_mg\":18,\"total_fat_g\":6.7,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_carrot_2258586", + "subject_type": "ingredient", + "subject_id": "carrot", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2258586\",\"url\":\"https://fdc.nal.usda.gov/food-details/2258586/nutrients\",\"title\":\"Carrots, mature, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":30.5,\"carbohydrate_g\":10.3,\"dietary_fiber_g\":3.1,\"energy_kcal\":45,\"iron_mg\":0.15,\"potassium_mg\":280,\"protein_g\":0.941,\"sodium_mg\":86.6,\"total_fat_g\":0.351}" + }, + { + "id": "usda_fdc_cayenne_170932", + "subject_type": "ingredient", + "subject_id": "cayenne", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170932\",\"url\":\"https://fdc.nal.usda.gov/food-details/170932/nutrients\",\"title\":\"Spices, pepper, red or cayenne\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":148,\"carbohydrate_g\":56.6,\"cholesterol_mg\":0,\"dietary_fiber_g\":27.2,\"energy_kcal\":318,\"iron_mg\":7.8,\"potassium_mg\":2010,\"protein_g\":12,\"saturated_fat_g\":3.26,\"sodium_mg\":30,\"total_fat_g\":17.3,\"total_sugars_g\":10.3,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_cheddar_cheese_328637", + "subject_type": "ingredient", + "subject_id": "cheddar_cheese", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"328637\",\"url\":\"https://fdc.nal.usda.gov/food-details/328637/nutrients\",\"title\":\"Cheese, cheddar\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":707,\"carbohydrate_g\":2.44,\"cholesterol_mg\":100,\"energy_kcal\":408,\"iron_mg\":0.16,\"potassium_mg\":77,\"protein_g\":23.3,\"saturated_fat_g\":19.2,\"sodium_mg\":654,\"total_fat_g\":34}" + }, + { + "id": "usda_fdc_chicken_base_1948045", + "subject_type": "ingredient", + "subject_id": "chicken_base", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"1948045\",\"url\":\"https://fdc.nal.usda.gov/food-details/1948045/nutrients\",\"title\":\"CHICKEN BASE\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"carbohydrate_g\":33.33,\"cholesterol_mg\":83,\"energy_kcal\":250,\"protein_g\":0,\"sodium_mg\":9667,\"total_fat_g\":16.67}" + }, + { + "id": "usda_fdc_chicken_breast_2646170", + "subject_type": "ingredient", + "subject_id": "chicken_breast", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2646170\",\"url\":\"https://fdc.nal.usda.gov/food-details/2646170/nutrients\",\"title\":\"Chicken, breast, boneless, skinless, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":3.94,\"carbohydrate_g\":0,\"cholesterol_mg\":72.7,\"energy_kcal\":112,\"iron_mg\":0.354,\"potassium_mg\":330,\"protein_g\":22.5,\"saturated_fat_g\":0.349,\"sodium_mg\":65.8,\"total_fat_g\":1.93}" + }, + { + "id": "usda_fdc_chili_powder_171319", + "subject_type": "ingredient", + "subject_id": "chili_powder", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171319\",\"url\":\"https://fdc.nal.usda.gov/food-details/171319/nutrients\",\"title\":\"Spices, chili powder\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":330,\"carbohydrate_g\":49.7,\"cholesterol_mg\":0,\"dietary_fiber_g\":34.8,\"energy_kcal\":282,\"iron_mg\":17.3,\"potassium_mg\":1950,\"protein_g\":13.5,\"saturated_fat_g\":2.46,\"sodium_mg\":2870,\"total_fat_g\":14.3,\"total_sugars_g\":7.19,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_chipotle_pepper_adobo_2420526", + "subject_type": "ingredient", + "subject_id": "chipotle_pepper_adobo", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2420526\",\"url\":\"https://fdc.nal.usda.gov/food-details/2420526/nutrients\",\"title\":\"CHIPOTLES PEPPERS IN ADOBO SAUCE, CHIPOTLES PEPPERS IN ADOBO\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":0,\"carbohydrate_g\":13.33,\"cholesterol_mg\":0,\"dietary_fiber_g\":3.3,\"energy_kcal\":67,\"iron_mg\":2.4,\"potassium_mg\":467,\"protein_g\":3.33,\"saturated_fat_g\":0,\"sodium_mg\":800,\"total_fat_g\":0,\"total_sugars_g\":6.67}" + }, + { + "id": "usda_fdc_chipotle_pepper_sauce_tobasco_174528", + "subject_type": "ingredient", + "subject_id": "chipotle_pepper_sauce_tobasco", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"174528\",\"url\":\"https://fdc.nal.usda.gov/food-details/174528/nutrients\",\"title\":\"Sauce, ready-to-serve, pepper, TABASCO\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":12,\"carbohydrate_g\":0.8,\"cholesterol_mg\":0,\"dietary_fiber_g\":0.6,\"energy_kcal\":12,\"iron_mg\":1.16,\"potassium_mg\":128,\"protein_g\":1.29,\"saturated_fat_g\":0.106,\"sodium_mg\":633,\"total_fat_g\":0.76,\"total_sugars_g\":0.13,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_chipotle_powder_2545016", + "subject_type": "ingredient", + "subject_id": "chipotle_powder", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2545016\",\"url\":\"https://fdc.nal.usda.gov/food-details/2545016/nutrients\",\"title\":\"GROUND CHIPOTLE CHILE\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"carbohydrate_g\":0,\"energy_kcal\":625,\"protein_g\":0,\"sodium_mg\":0,\"total_fat_g\":0}" + }, + { + "id": "usda_fdc_cilantro_169997", + "subject_type": "ingredient", + "subject_id": "cilantro", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169997\",\"url\":\"https://fdc.nal.usda.gov/food-details/169997/nutrients\",\"title\":\"Coriander (cilantro) leaves, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":67,\"carbohydrate_g\":3.67,\"cholesterol_mg\":0,\"dietary_fiber_g\":2.8,\"energy_kcal\":23,\"iron_mg\":1.77,\"potassium_mg\":521,\"protein_g\":2.13,\"saturated_fat_g\":0.014,\"sodium_mg\":46,\"total_fat_g\":0.52,\"total_sugars_g\":0.87,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_cinnamon_171320", + "subject_type": "ingredient", + "subject_id": "cinnamon", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171320\",\"url\":\"https://fdc.nal.usda.gov/food-details/171320/nutrients\",\"title\":\"Spices, cinnamon, ground\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":1000,\"carbohydrate_g\":80.6,\"cholesterol_mg\":0,\"dietary_fiber_g\":53.1,\"energy_kcal\":247,\"iron_mg\":8.32,\"potassium_mg\":431,\"protein_g\":3.99,\"saturated_fat_g\":0.345,\"sodium_mg\":10,\"total_fat_g\":1.24,\"total_sugars_g\":2.17,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_cloves_171321", + "subject_type": "ingredient", + "subject_id": "cloves", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171321\",\"url\":\"https://fdc.nal.usda.gov/food-details/171321/nutrients\",\"title\":\"Spices, cloves, ground\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":632,\"carbohydrate_g\":65.5,\"cholesterol_mg\":0,\"dietary_fiber_g\":33.9,\"energy_kcal\":274,\"iron_mg\":11.8,\"potassium_mg\":1020,\"protein_g\":5.97,\"saturated_fat_g\":3.95,\"sodium_mg\":277,\"total_fat_g\":13,\"total_sugars_g\":2.38,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_cocoa_powder_169593", + "subject_type": "ingredient", + "subject_id": "cocoa_powder", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169593\",\"url\":\"https://fdc.nal.usda.gov/food-details/169593/nutrients\",\"title\":\"Cocoa, dry powder, unsweetened\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":128,\"carbohydrate_g\":57.9,\"cholesterol_mg\":0,\"dietary_fiber_g\":37,\"energy_kcal\":228,\"iron_mg\":13.9,\"potassium_mg\":1520,\"protein_g\":19.6,\"saturated_fat_g\":8.07,\"sodium_mg\":21,\"total_fat_g\":13.7,\"total_sugars_g\":1.75,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_coconut_milk_170173", + "subject_type": "ingredient", + "subject_id": "coconut_milk", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170173\",\"url\":\"https://fdc.nal.usda.gov/food-details/170173/nutrients\",\"title\":\"Nuts, coconut milk, canned (liquid expressed from grated meat and water)\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":18,\"carbohydrate_g\":2.81,\"cholesterol_mg\":0,\"energy_kcal\":197,\"iron_mg\":3.3,\"potassium_mg\":220,\"protein_g\":2.02,\"saturated_fat_g\":18.9,\"sodium_mg\":13,\"total_fat_g\":21.3,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_confectioners_sugar_169656", + "subject_type": "ingredient", + "subject_id": "confectioners_sugar", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169656\",\"url\":\"https://fdc.nal.usda.gov/food-details/169656/nutrients\",\"title\":\"Sugars, powdered\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":1,\"carbohydrate_g\":99.8,\"cholesterol_mg\":0,\"dietary_fiber_g\":0,\"energy_kcal\":389,\"iron_mg\":0.06,\"potassium_mg\":2,\"protein_g\":0,\"saturated_fat_g\":0,\"sodium_mg\":2,\"total_fat_g\":0,\"total_sugars_g\":97.8,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_cooked_pinto_beans_drained_175200", + "subject_type": "ingredient", + "subject_id": "cooked_pinto_beans_drained", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"175200\",\"url\":\"https://fdc.nal.usda.gov/food-details/175200/nutrients\",\"title\":\"Beans, pinto, mature seeds, cooked, boiled, without salt\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":46,\"carbohydrate_g\":26.2,\"cholesterol_mg\":0,\"dietary_fiber_g\":9,\"energy_kcal\":143,\"iron_mg\":2.09,\"potassium_mg\":436,\"protein_g\":9.01,\"saturated_fat_g\":0.136,\"sodium_mg\":1,\"total_fat_g\":0.65,\"total_sugars_g\":0.34,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_coriander_170922", + "subject_type": "ingredient", + "subject_id": "coriander", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170922\",\"url\":\"https://fdc.nal.usda.gov/food-details/170922/nutrients\",\"title\":\"Spices, coriander seed\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":709,\"carbohydrate_g\":55,\"cholesterol_mg\":0,\"dietary_fiber_g\":41.9,\"energy_kcal\":298,\"iron_mg\":16.3,\"potassium_mg\":1270,\"protein_g\":12.4,\"saturated_fat_g\":0.99,\"sodium_mg\":35,\"total_fat_g\":17.8,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_corn_syrup_light_168837", + "subject_type": "ingredient", + "subject_id": "corn_syrup_light", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"168837\",\"url\":\"https://fdc.nal.usda.gov/food-details/168837/nutrients\",\"title\":\"Syrups, corn, light\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":13,\"carbohydrate_g\":76.8,\"cholesterol_mg\":0,\"dietary_fiber_g\":0,\"energy_kcal\":283,\"iron_mg\":0,\"potassium_mg\":1,\"protein_g\":0,\"saturated_fat_g\":0,\"sodium_mg\":62,\"total_fat_g\":0.2,\"total_sugars_g\":76.8,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_cornstarch_169698", + "subject_type": "ingredient", + "subject_id": "cornstarch", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169698\",\"url\":\"https://fdc.nal.usda.gov/food-details/169698/nutrients\",\"title\":\"Cornstarch\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":2,\"carbohydrate_g\":91.3,\"cholesterol_mg\":0,\"dietary_fiber_g\":0.9,\"energy_kcal\":381,\"iron_mg\":0.47,\"potassium_mg\":3,\"protein_g\":0.26,\"saturated_fat_g\":0.009,\"sodium_mg\":9,\"total_fat_g\":0.05,\"total_sugars_g\":0,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_cream_cheese_2346385", + "subject_type": "ingredient", + "subject_id": "cream_cheese", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2346385\",\"url\":\"https://fdc.nal.usda.gov/food-details/2346385/nutrients\",\"title\":\"Cream cheese, full fat, block\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":97.1,\"carbohydrate_g\":4.56,\"cholesterol_mg\":101,\"energy_kcal\":337,\"iron_mg\":0,\"potassium_mg\":125,\"protein_g\":5.79,\"saturated_fat_g\":19.7,\"sodium_mg\":368,\"total_fat_g\":33.5}" + }, + { + "id": "usda_fdc_cumin_170923", + "subject_type": "ingredient", + "subject_id": "cumin", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170923\",\"url\":\"https://fdc.nal.usda.gov/food-details/170923/nutrients\",\"title\":\"Spices, cumin seed\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":931,\"carbohydrate_g\":44.2,\"cholesterol_mg\":0,\"dietary_fiber_g\":10.5,\"energy_kcal\":375,\"iron_mg\":66.4,\"potassium_mg\":1790,\"protein_g\":17.8,\"saturated_fat_g\":1.54,\"sodium_mg\":168,\"total_fat_g\":22.3,\"total_sugars_g\":2.25,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_dark_chocolate_170273", + "subject_type": "ingredient", + "subject_id": "dark_chocolate", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170273\",\"url\":\"https://fdc.nal.usda.gov/food-details/170273/nutrients\",\"title\":\"Chocolate, dark, 70-85% cacao solids\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":73,\"carbohydrate_g\":45.9,\"cholesterol_mg\":3,\"dietary_fiber_g\":10.9,\"energy_kcal\":598,\"iron_mg\":11.9,\"potassium_mg\":715,\"protein_g\":7.79,\"saturated_fat_g\":24.5,\"sodium_mg\":20,\"total_fat_g\":42.6,\"total_sugars_g\":24}" + }, + { + "id": "usda_fdc_dark_cocoa_powder_169594", + "subject_type": "ingredient", + "subject_id": "dark_cocoa_powder", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169594\",\"url\":\"https://fdc.nal.usda.gov/food-details/169594/nutrients\",\"title\":\"Cocoa, dry powder, unsweetened, processed with alkali\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":111,\"carbohydrate_g\":58.3,\"cholesterol_mg\":0,\"dietary_fiber_g\":29.8,\"energy_kcal\":220,\"iron_mg\":15.5,\"potassium_mg\":2510,\"protein_g\":18.1,\"saturated_fat_g\":7.76,\"sodium_mg\":19,\"total_fat_g\":13.1,\"total_sugars_g\":1.76,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_dextrose_1991846", + "subject_type": "ingredient", + "subject_id": "dextrose", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"1991846\",\"url\":\"https://fdc.nal.usda.gov/food-details/1991846/nutrients\",\"title\":\"DEXTROSE PURE AND NATURAL SWEETENER, DEXTROSE\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":0,\"carbohydrate_g\":87.5,\"cholesterol_mg\":0,\"dietary_fiber_g\":0,\"energy_kcal\":375,\"iron_mg\":0,\"potassium_mg\":0,\"protein_g\":0,\"saturated_fat_g\":0,\"sodium_mg\":0,\"total_fat_g\":0,\"total_sugars_g\":87.5}" + }, + { + "id": "usda_fdc_dill_172233", + "subject_type": "ingredient", + "subject_id": "dill", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"172233\",\"url\":\"https://fdc.nal.usda.gov/food-details/172233/nutrients\",\"title\":\"Dill weed, fresh\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":208,\"carbohydrate_g\":7.02,\"cholesterol_mg\":0,\"dietary_fiber_g\":2.1,\"energy_kcal\":43,\"iron_mg\":6.59,\"potassium_mg\":738,\"protein_g\":3.46,\"saturated_fat_g\":0.06,\"sodium_mg\":61,\"total_fat_g\":1.12,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_dried_chilis_168570", + "subject_type": "ingredient", + "subject_id": "dried_chilis", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"168570\",\"url\":\"https://fdc.nal.usda.gov/food-details/168570/nutrients\",\"title\":\"Peppers, hot chile, sun-dried\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":45,\"carbohydrate_g\":69.86,\"cholesterol_mg\":0,\"dietary_fiber_g\":28.7,\"energy_kcal\":324,\"iron_mg\":6.04,\"potassium_mg\":1870,\"protein_g\":10.58,\"saturated_fat_g\":0.813,\"sodium_mg\":91,\"total_fat_g\":5.81,\"total_sugars_g\":41.06,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_egg_whites_172183", + "subject_type": "ingredient", + "subject_id": "egg_whites", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"172183\",\"url\":\"https://fdc.nal.usda.gov/food-details/172183/nutrients\",\"title\":\"Egg, white, raw, fresh\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":7,\"carbohydrate_g\":0.73,\"cholesterol_mg\":0,\"dietary_fiber_g\":0,\"energy_kcal\":52,\"iron_mg\":0.08,\"potassium_mg\":163,\"protein_g\":10.9,\"saturated_fat_g\":0,\"sodium_mg\":166,\"total_fat_g\":0.17,\"total_sugars_g\":0.71,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_egg_whole_171287", + "subject_type": "ingredient", + "subject_id": "egg_whole", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171287\",\"url\":\"https://fdc.nal.usda.gov/food-details/171287/nutrients\",\"title\":\"Egg, whole, raw, fresh\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":56,\"carbohydrate_g\":0.72,\"cholesterol_mg\":372,\"dietary_fiber_g\":0,\"energy_kcal\":143,\"iron_mg\":1.75,\"potassium_mg\":138,\"protein_g\":12.6,\"saturated_fat_g\":3.13,\"sodium_mg\":142,\"total_fat_g\":9.51,\"total_sugars_g\":0.37,\"vitamin_d_mcg\":2}" + }, + { + "id": "usda_fdc_egg_yolk_172184", + "subject_type": "ingredient", + "subject_id": "egg_yolk", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"172184\",\"url\":\"https://fdc.nal.usda.gov/food-details/172184/nutrients\",\"title\":\"Egg, yolk, raw, fresh\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":129,\"carbohydrate_g\":3.59,\"cholesterol_mg\":1080,\"dietary_fiber_g\":0,\"energy_kcal\":322,\"iron_mg\":2.73,\"potassium_mg\":109,\"protein_g\":15.9,\"saturated_fat_g\":9.55,\"sodium_mg\":48,\"total_fat_g\":26.5,\"total_sugars_g\":0.56,\"vitamin_d_mcg\":5.4}" + }, + { + "id": "usda_fdc_espresso_powder_2059824", + "subject_type": "ingredient", + "subject_id": "espresso_powder", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2059824\",\"url\":\"https://fdc.nal.usda.gov/food-details/2059824/nutrients\",\"title\":\"ESPRESSO INSTANT POWDER, ESPRESSO\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"carbohydrate_g\":100,\"energy_kcal\":250,\"protein_g\":0,\"sodium_mg\":250,\"total_fat_g\":0}" + }, + { + "id": "usda_fdc_fennel_seed_171323", + "subject_type": "ingredient", + "subject_id": "fennel_seed", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171323\",\"url\":\"https://fdc.nal.usda.gov/food-details/171323/nutrients\",\"title\":\"Spices, fennel seed\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":1200,\"carbohydrate_g\":52.3,\"cholesterol_mg\":0,\"dietary_fiber_g\":39.8,\"energy_kcal\":345,\"iron_mg\":18.5,\"potassium_mg\":1690,\"protein_g\":15.8,\"saturated_fat_g\":0.48,\"sodium_mg\":88,\"total_fat_g\":14.9,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_flour_all_purpose_790018", + "subject_type": "ingredient", + "subject_id": "flour_all_purpose", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"790018\",\"url\":\"https://fdc.nal.usda.gov/food-details/790018/nutrients\",\"title\":\"Flour, wheat, all-purpose, unenriched, unbleached\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":22,\"carbohydrate_g\":74.6,\"dietary_fiber_g\":3,\"energy_kcal\":362,\"iron_mg\":1.18,\"potassium_mg\":150,\"protein_g\":12,\"sodium_mg\":2,\"total_fat_g\":1.7}" + }, + { + "id": "usda_fdc_flour_bread_790146", + "subject_type": "ingredient", + "subject_id": "flour_bread", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"790146\",\"url\":\"https://fdc.nal.usda.gov/food-details/790146/nutrients\",\"title\":\"Flour, bread, white, enriched, unbleached\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":19,\"carbohydrate_g\":72.8,\"energy_kcal\":363,\"iron_mg\":5.55,\"potassium_mg\":127,\"protein_g\":14.3,\"sodium_mg\":3,\"total_fat_g\":1.65}" + }, + { + "id": "usda_fdc_flour_cake_169723", + "subject_type": "ingredient", + "subject_id": "flour_cake", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169723\",\"url\":\"https://fdc.nal.usda.gov/food-details/169723/nutrients\",\"title\":\"Wheat flour, white, cake, enriched\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":14,\"carbohydrate_g\":78,\"cholesterol_mg\":0,\"dietary_fiber_g\":1.7,\"energy_kcal\":362,\"iron_mg\":7.32,\"potassium_mg\":105,\"protein_g\":8.2,\"saturated_fat_g\":0.127,\"sodium_mg\":2,\"total_fat_g\":0.86,\"total_sugars_g\":0.31,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_flour_corn_2710835", + "subject_type": "ingredient", + "subject_id": "flour_corn", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2710835\",\"url\":\"https://fdc.nal.usda.gov/food-details/2710835/nutrients\",\"title\":\"Corn flour, masa harina, white or yellow, dry, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":112,\"carbohydrate_g\":76.7,\"dietary_fiber_g\":7.04,\"energy_kcal\":366,\"iron_mg\":1.7,\"potassium_mg\":277,\"protein_g\":7.56,\"sodium_mg\":2.73,\"total_fat_g\":4.34}" + }, + { + "id": "usda_fdc_flour_pastry_1104913", + "subject_type": "ingredient", + "subject_id": "flour_pastry", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"1104913\",\"url\":\"https://fdc.nal.usda.gov/food-details/1104913/nutrients\",\"title\":\"Flour, pastry, unenriched, unbleached\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":17,\"carbohydrate_g\":77.2,\"energy_kcal\":358,\"iron_mg\":0.87,\"potassium_mg\":142,\"protein_g\":8.75,\"sodium_mg\":1,\"total_fat_g\":1.64}" + }, + { + "id": "usda_fdc_flour_whole_wheat_790085", + "subject_type": "ingredient", + "subject_id": "flour_whole_wheat", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"790085\",\"url\":\"https://fdc.nal.usda.gov/food-details/790085/nutrients\",\"title\":\"Flour, whole wheat, unenriched\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":38,\"carbohydrate_g\":71.2,\"dietary_fiber_g\":10.6,\"energy_kcal\":370,\"iron_mg\":3.86,\"potassium_mg\":376,\"protein_g\":15.1,\"sodium_mg\":3,\"total_fat_g\":2.73}" + }, + { + "id": "usda_fdc_garlic_1104647", + "subject_type": "ingredient", + "subject_id": "garlic", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"1104647\",\"url\":\"https://fdc.nal.usda.gov/food-details/1104647/nutrients\",\"title\":\"Garlic, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"carbohydrate_g\":28.2,\"dietary_fiber_g\":2.7,\"energy_kcal\":143,\"protein_g\":6.62,\"total_fat_g\":0.38}" + }, + { + "id": "usda_fdc_garlic_powder_171325", + "subject_type": "ingredient", + "subject_id": "garlic_powder", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171325\",\"url\":\"https://fdc.nal.usda.gov/food-details/171325/nutrients\",\"title\":\"Spices, garlic powder\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":79,\"carbohydrate_g\":72.7,\"cholesterol_mg\":0,\"dietary_fiber_g\":9,\"energy_kcal\":331,\"iron_mg\":5.65,\"potassium_mg\":1190,\"protein_g\":16.6,\"saturated_fat_g\":0.249,\"sodium_mg\":60,\"total_fat_g\":0.73,\"total_sugars_g\":2.43,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_gelatin_169599", + "subject_type": "ingredient", + "subject_id": "gelatin", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169599\",\"url\":\"https://fdc.nal.usda.gov/food-details/169599/nutrients\",\"title\":\"Gelatins, dry powder, unsweetened\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":55,\"carbohydrate_g\":0,\"cholesterol_mg\":0,\"dietary_fiber_g\":0,\"energy_kcal\":335,\"iron_mg\":1.11,\"potassium_mg\":16,\"protein_g\":85.6,\"saturated_fat_g\":0.07,\"sodium_mg\":196,\"total_fat_g\":0.1,\"total_sugars_g\":0,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_ginger_169231", + "subject_type": "ingredient", + "subject_id": "ginger", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169231\",\"url\":\"https://fdc.nal.usda.gov/food-details/169231/nutrients\",\"title\":\"Ginger root, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":16,\"carbohydrate_g\":17.8,\"cholesterol_mg\":0,\"dietary_fiber_g\":2,\"energy_kcal\":80,\"iron_mg\":0.6,\"potassium_mg\":415,\"protein_g\":1.82,\"saturated_fat_g\":0.203,\"sodium_mg\":13,\"total_fat_g\":0.75,\"total_sugars_g\":1.7,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_ginger_ground_170926", + "subject_type": "ingredient", + "subject_id": "ginger_ground", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170926\",\"url\":\"https://fdc.nal.usda.gov/food-details/170926/nutrients\",\"title\":\"Spices, ginger, ground\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":114,\"carbohydrate_g\":71.6,\"cholesterol_mg\":0,\"dietary_fiber_g\":14.1,\"energy_kcal\":335,\"iron_mg\":19.8,\"potassium_mg\":1320,\"protein_g\":8.98,\"saturated_fat_g\":2.6,\"sodium_mg\":27,\"total_fat_g\":4.24,\"total_sugars_g\":3.39,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_glucose_1983545", + "subject_type": "ingredient", + "subject_id": "glucose", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"1983545\",\"url\":\"https://fdc.nal.usda.gov/food-details/1983545/nutrients\",\"title\":\"GLUCOSE\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"carbohydrate_g\":106.67,\"energy_kcal\":433,\"protein_g\":0,\"sodium_mg\":133,\"total_fat_g\":0,\"total_sugars_g\":43.33}" + }, + { + "id": "usda_fdc_graham_cracker_174957", + "subject_type": "ingredient", + "subject_id": "graham_cracker", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"174957\",\"url\":\"https://fdc.nal.usda.gov/food-details/174957/nutrients\",\"title\":\"Cookies, graham crackers, plain or honey (includes cinnamon)\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":77,\"carbohydrate_g\":77.7,\"cholesterol_mg\":0,\"dietary_fiber_g\":3.4,\"energy_kcal\":430,\"iron_mg\":3.78,\"potassium_mg\":170,\"protein_g\":6.69,\"saturated_fat_g\":1.63,\"sodium_mg\":516,\"total_fat_g\":10.6,\"total_sugars_g\":24.8,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_green_onion_2727585", + "subject_type": "ingredient", + "subject_id": "green_onion", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2727585\",\"url\":\"https://fdc.nal.usda.gov/food-details/2727585/nutrients\",\"title\":\"Green onion, (scallion), bulb and greens, root removed, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":59.4,\"dietary_fiber_g\":2.3,\"iron_mg\":1.04,\"potassium_mg\":232,\"protein_g\":0.669,\"sodium_mg\":9.95}" + }, + { + "id": "usda_fdc_ground_beef_73_27_raw_2450404", + "subject_type": "ingredient", + "subject_id": "ground_beef_73_27_raw", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2450404\",\"url\":\"https://fdc.nal.usda.gov/food-details/2450404/nutrients\",\"title\":\"73% LEAN 27% FAT GROUND BEEF\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":0,\"carbohydrate_g\":0,\"cholesterol_mg\":76,\"energy_kcal\":304,\"iron_mg\":1.79,\"potassium_mg\":233,\"protein_g\":15.18,\"saturated_fat_g\":10.71,\"sodium_mg\":67,\"total_fat_g\":26.79,\"total_sugars_g\":0}" + }, + { + "id": "usda_fdc_heavy_cream_2346386", + "subject_type": "ingredient", + "subject_id": "heavy_cream", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2346386\",\"url\":\"https://fdc.nal.usda.gov/food-details/2346386/nutrients\",\"title\":\"Cream, heavy\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":61.2,\"carbohydrate_g\":3.8,\"cholesterol_mg\":103,\"energy_kcal\":336,\"iron_mg\":0,\"potassium_mg\":96.9,\"protein_g\":2.02,\"saturated_fat_g\":20.4,\"sodium_mg\":20.6,\"total_fat_g\":35.6}" + }, + { + "id": "usda_fdc_hidden_valley_ranch_dry_seasoning_2546792", + "subject_type": "ingredient", + "subject_id": "hidden_valley_ranch_dry_seasoning", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2546792\",\"url\":\"https://fdc.nal.usda.gov/food-details/2546792/nutrients\",\"title\":\"RANCH SEASONING & SALAD DRESSING MIX, RANCH\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"carbohydrate_g\":0,\"energy_kcal\":0,\"protein_g\":0,\"sodium_mg\":7500,\"total_fat_g\":0}" + }, + { + "id": "usda_fdc_honey_169640", + "subject_type": "ingredient", + "subject_id": "honey", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169640\",\"url\":\"https://fdc.nal.usda.gov/food-details/169640/nutrients\",\"title\":\"Honey\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":6,\"carbohydrate_g\":82.4,\"cholesterol_mg\":0,\"dietary_fiber_g\":0.2,\"energy_kcal\":304,\"iron_mg\":0.42,\"potassium_mg\":52,\"protein_g\":0.3,\"saturated_fat_g\":0,\"sodium_mg\":4,\"total_fat_g\":0,\"total_sugars_g\":82.1,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_hot_cherry_peppers_169766", + "subject_type": "ingredient", + "subject_id": "hot_cherry_peppers", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169766\",\"url\":\"https://fdc.nal.usda.gov/food-details/169766/nutrients\",\"title\":\"Peppers, hot pickled, canned\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":61,\"carbohydrate_g\":4.56,\"cholesterol_mg\":0,\"dietary_fiber_g\":2.6,\"energy_kcal\":22,\"iron_mg\":0.32,\"potassium_mg\":113,\"protein_g\":0.8,\"saturated_fat_g\":0.061,\"sodium_mg\":1430,\"total_fat_g\":0.4,\"total_sugars_g\":1.6,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_hot_sauce_174527", + "subject_type": "ingredient", + "subject_id": "hot_sauce", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"174527\",\"url\":\"https://fdc.nal.usda.gov/food-details/174527/nutrients\",\"title\":\"Sauce, ready-to-serve, pepper or hot\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":8,\"carbohydrate_g\":1.75,\"cholesterol_mg\":0,\"dietary_fiber_g\":0.3,\"energy_kcal\":11,\"iron_mg\":0.48,\"potassium_mg\":144,\"protein_g\":0.51,\"saturated_fat_g\":0.052,\"sodium_mg\":2640,\"total_fat_g\":0.37,\"total_sugars_g\":1.26}" + }, + { + "id": "usda_fdc_imitation_crab_174203", + "subject_type": "ingredient", + "subject_id": "imitation_crab", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"174203\",\"url\":\"https://fdc.nal.usda.gov/food-details/174203/nutrients\",\"title\":\"Crustaceans, crab, alaska king, imitation, made from surimi\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":13,\"carbohydrate_g\":15,\"cholesterol_mg\":20,\"dietary_fiber_g\":0.5,\"energy_kcal\":95,\"iron_mg\":0.39,\"potassium_mg\":90,\"protein_g\":7.62,\"saturated_fat_g\":0.216,\"sodium_mg\":529,\"total_fat_g\":0.46,\"total_sugars_g\":6.25,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_instant_yeast_175043", + "subject_type": "ingredient", + "subject_id": "instant_yeast", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"175043\",\"url\":\"https://fdc.nal.usda.gov/food-details/175043/nutrients\",\"title\":\"Leavening agents, yeast, baker's, active dry\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":30,\"carbohydrate_g\":41.22,\"cholesterol_mg\":0,\"dietary_fiber_g\":26.9,\"energy_kcal\":325,\"iron_mg\":2.17,\"potassium_mg\":955,\"protein_g\":40.44,\"saturated_fat_g\":1.001,\"sodium_mg\":51,\"total_fat_g\":7.61,\"total_sugars_g\":0,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_italian_sausage_171631", + "subject_type": "ingredient", + "subject_id": "italian_sausage", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171631\",\"url\":\"https://fdc.nal.usda.gov/food-details/171631/nutrients\",\"title\":\"Sausage, Italian, pork, mild, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":12,\"carbohydrate_g\":2.97,\"cholesterol_mg\":69,\"dietary_fiber_g\":0,\"energy_kcal\":290,\"iron_mg\":1.77,\"potassium_mg\":211,\"protein_g\":13.9,\"saturated_fat_g\":8.62,\"sodium_mg\":563,\"total_fat_g\":24.3,\"total_sugars_g\":1.19}" + }, + { + "id": "usda_fdc_jalapeno_peppers_pickled_170080", + "subject_type": "ingredient", + "subject_id": "jalapeno_peppers_pickled", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170080\",\"url\":\"https://fdc.nal.usda.gov/food-details/170080/nutrients\",\"title\":\"Peppers, jalapeno, canned, solids and liquids\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":23,\"carbohydrate_g\":4.74,\"cholesterol_mg\":0,\"dietary_fiber_g\":2.6,\"energy_kcal\":27,\"iron_mg\":1.88,\"potassium_mg\":193,\"protein_g\":0.92,\"saturated_fat_g\":0.097,\"sodium_mg\":1670,\"total_fat_g\":0.94,\"total_sugars_g\":2.14,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_ketchup_168556", + "subject_type": "ingredient", + "subject_id": "ketchup", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"168556\",\"url\":\"https://fdc.nal.usda.gov/food-details/168556/nutrients\",\"title\":\"Catsup\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":15,\"carbohydrate_g\":27.4,\"cholesterol_mg\":0,\"dietary_fiber_g\":0.3,\"energy_kcal\":101,\"iron_mg\":0.35,\"potassium_mg\":281,\"protein_g\":1.04,\"saturated_fat_g\":0.014,\"sodium_mg\":907,\"total_fat_g\":0.1,\"total_sugars_g\":21.3,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_lard_171401", + "subject_type": "ingredient", + "subject_id": "lard", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171401\",\"url\":\"https://fdc.nal.usda.gov/food-details/171401/nutrients\",\"title\":\"Lard\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":0,\"carbohydrate_g\":0,\"cholesterol_mg\":95,\"dietary_fiber_g\":0,\"energy_kcal\":902,\"iron_mg\":0,\"potassium_mg\":0,\"protein_g\":0,\"saturated_fat_g\":39.2,\"sodium_mg\":0,\"total_fat_g\":100,\"total_sugars_g\":0,\"vitamin_d_mcg\":2.5}" + }, + { + "id": "usda_fdc_lecithin_171426", + "subject_type": "ingredient", + "subject_id": "lecithin", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171426\",\"url\":\"https://fdc.nal.usda.gov/food-details/171426/nutrients\",\"title\":\"Oil, soybean lecithin\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":0,\"carbohydrate_g\":0,\"cholesterol_mg\":0,\"dietary_fiber_g\":0,\"energy_kcal\":763,\"iron_mg\":0,\"potassium_mg\":0,\"protein_g\":0,\"saturated_fat_g\":15,\"sodium_mg\":0,\"total_fat_g\":100,\"total_sugars_g\":0,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_lecithin_powder_2125978", + "subject_type": "ingredient", + "subject_id": "lecithin_powder", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2125978\",\"url\":\"https://fdc.nal.usda.gov/food-details/2125978/nutrients\",\"title\":\"BOB'S RED MILL, SOY LECITHIN GRANULES\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":250,\"carbohydrate_g\":12.5,\"cholesterol_mg\":0,\"dietary_fiber_g\":0,\"energy_kcal\":750,\"iron_mg\":4.5,\"protein_g\":0,\"saturated_fat_g\":12.5,\"sodium_mg\":0,\"total_fat_g\":50,\"total_sugars_g\":0}" + }, + { + "id": "usda_fdc_lemon_juice_167747", + "subject_type": "ingredient", + "subject_id": "lemon_juice", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"167747\",\"url\":\"https://fdc.nal.usda.gov/food-details/167747/nutrients\",\"title\":\"Lemon juice, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":6,\"carbohydrate_g\":6.9,\"cholesterol_mg\":0,\"dietary_fiber_g\":0.3,\"energy_kcal\":22,\"iron_mg\":0.08,\"potassium_mg\":103,\"protein_g\":0.35,\"saturated_fat_g\":0.04,\"sodium_mg\":1,\"total_fat_g\":0.24,\"total_sugars_g\":2.52,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_lemon_zest_167749", + "subject_type": "ingredient", + "subject_id": "lemon_zest", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"167749\",\"url\":\"https://fdc.nal.usda.gov/food-details/167749/nutrients\",\"title\":\"Lemon peel, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":134,\"carbohydrate_g\":16,\"cholesterol_mg\":0,\"dietary_fiber_g\":10.6,\"energy_kcal\":47,\"iron_mg\":0.8,\"potassium_mg\":160,\"protein_g\":1.5,\"saturated_fat_g\":0.039,\"sodium_mg\":6,\"total_fat_g\":0.3,\"total_sugars_g\":4.17,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_lime_juice_168156", + "subject_type": "ingredient", + "subject_id": "lime_juice", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"168156\",\"url\":\"https://fdc.nal.usda.gov/food-details/168156/nutrients\",\"title\":\"Lime juice, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":14,\"carbohydrate_g\":8.42,\"cholesterol_mg\":0,\"dietary_fiber_g\":0.4,\"energy_kcal\":25,\"iron_mg\":0.09,\"potassium_mg\":117,\"protein_g\":0.42,\"saturated_fat_g\":0.008,\"sodium_mg\":2,\"total_fat_g\":0.07,\"total_sugars_g\":1.69,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_liquid_sunflower_lecithin_2373459", + "subject_type": "ingredient", + "subject_id": "liquid_sunflower_lecithin", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2373459\",\"url\":\"https://fdc.nal.usda.gov/food-details/2373459/nutrients\",\"title\":\"LIQUID SUNFLOWER LECITHIN\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":250,\"carbohydrate_g\":0,\"cholesterol_mg\":0,\"dietary_fiber_g\":0,\"energy_kcal\":833,\"iron_mg\":0,\"potassium_mg\":867,\"protein_g\":0,\"saturated_fat_g\":8.33,\"sodium_mg\":0,\"total_fat_g\":83.33}" + }, + { + "id": "usda_fdc_mace_nutmeg_170927", + "subject_type": "ingredient", + "subject_id": "mace_nutmeg", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170927\",\"url\":\"https://fdc.nal.usda.gov/food-details/170927/nutrients\",\"title\":\"Spices, mace, ground\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":252,\"carbohydrate_g\":50.5,\"cholesterol_mg\":0,\"dietary_fiber_g\":20.2,\"energy_kcal\":475,\"iron_mg\":13.9,\"potassium_mg\":463,\"protein_g\":6.71,\"saturated_fat_g\":9.51,\"sodium_mg\":80,\"total_fat_g\":32.4,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_marjoram_170928", + "subject_type": "ingredient", + "subject_id": "marjoram", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170928\",\"url\":\"https://fdc.nal.usda.gov/food-details/170928/nutrients\",\"title\":\"Spices, marjoram, dried\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":1990,\"carbohydrate_g\":60.6,\"cholesterol_mg\":0,\"dietary_fiber_g\":40.3,\"energy_kcal\":271,\"iron_mg\":82.7,\"potassium_mg\":1520,\"protein_g\":12.7,\"saturated_fat_g\":0.529,\"sodium_mg\":77,\"total_fat_g\":7.04,\"total_sugars_g\":4.09,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_mayonnaise_171009", + "subject_type": "ingredient", + "subject_id": "mayonnaise", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171009\",\"url\":\"https://fdc.nal.usda.gov/food-details/171009/nutrients\",\"title\":\"Salad dressing, mayonnaise, regular\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":8,\"carbohydrate_g\":0.57,\"cholesterol_mg\":42,\"dietary_fiber_g\":0,\"energy_kcal\":680,\"iron_mg\":0.21,\"potassium_mg\":20,\"protein_g\":0.96,\"saturated_fat_g\":11.7,\"sodium_mg\":635,\"total_fat_g\":74.8,\"total_sugars_g\":0.57,\"vitamin_d_mcg\":0.2}" + }, + { + "id": "usda_fdc_michiu_wine_468381", + "subject_type": "ingredient", + "subject_id": "michiu_wine", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"468381\",\"url\":\"https://fdc.nal.usda.gov/food-details/468381/nutrients\",\"title\":\"COOKING RICE WINE\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":0,\"carbohydrate_g\":6.67,\"cholesterol_mg\":0,\"dietary_fiber_g\":0,\"energy_kcal\":67,\"iron_mg\":0,\"protein_g\":0,\"saturated_fat_g\":0,\"sodium_mg\":667,\"total_fat_g\":0,\"total_sugars_g\":6.67}" + }, + { + "id": "usda_fdc_milk_746778", + "subject_type": "ingredient", + "subject_id": "milk", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"746778\",\"url\":\"https://fdc.nal.usda.gov/food-details/746778/nutrients\",\"title\":\"Milk, reduced fat, fluid, 2% milkfat, with added vitamin A and vitamin D\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":126,\"carbohydrate_g\":4.9,\"cholesterol_mg\":8,\"energy_kcal\":50,\"iron_mg\":0,\"potassium_mg\":159,\"protein_g\":3.36,\"saturated_fat_g\":1.11,\"sodium_mg\":39,\"total_fat_g\":1.9,\"vitamin_d_mcg\":1.13}" + }, + { + "id": "usda_fdc_milk_powder_whole_2491279", + "subject_type": "ingredient", + "subject_id": "milk_powder_whole", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2491279\",\"url\":\"https://fdc.nal.usda.gov/food-details/2491279/nutrients\",\"title\":\"DRY WHOLE POWDERED MILK\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":833,\"carbohydrate_g\":40,\"cholesterol_mg\":100,\"dietary_fiber_g\":0,\"energy_kcal\":500,\"iron_mg\":0,\"protein_g\":26.67,\"saturated_fat_g\":16.67,\"sodium_mg\":367,\"total_fat_g\":26.67,\"total_sugars_g\":40}" + }, + { + "id": "usda_fdc_mint_dried_172239", + "subject_type": "ingredient", + "subject_id": "mint_dried", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"172239\",\"url\":\"https://fdc.nal.usda.gov/food-details/172239/nutrients\",\"title\":\"Spearmint, dried\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":1488,\"carbohydrate_g\":52.04,\"cholesterol_mg\":0,\"dietary_fiber_g\":29.8,\"energy_kcal\":285,\"iron_mg\":87.47,\"potassium_mg\":1924,\"protein_g\":19.93,\"saturated_fat_g\":1.577,\"sodium_mg\":344,\"total_fat_g\":6.03,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_molasses_168820", + "subject_type": "ingredient", + "subject_id": "molasses", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"168820\",\"url\":\"https://fdc.nal.usda.gov/food-details/168820/nutrients\",\"title\":\"Molasses\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":205,\"carbohydrate_g\":74.7,\"cholesterol_mg\":0,\"dietary_fiber_g\":0,\"energy_kcal\":290,\"iron_mg\":4.72,\"potassium_mg\":1460,\"protein_g\":0,\"saturated_fat_g\":0.018,\"sodium_mg\":37,\"total_fat_g\":0.1,\"total_sugars_g\":74.7,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_monterey_jack_cheese_2647438", + "subject_type": "ingredient", + "subject_id": "monterey_jack_cheese", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2647438\",\"url\":\"https://fdc.nal.usda.gov/food-details/2647438/nutrients\",\"title\":\"Cheese, monterey jack, solid\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":715,\"carbohydrate_g\":1.9,\"cholesterol_mg\":99.8,\"energy_kcal\":391,\"iron_mg\":0,\"potassium_mg\":82.9,\"protein_g\":22.6,\"saturated_fat_g\":19.2,\"sodium_mg\":662,\"total_fat_g\":32.6,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_mozzarella_cheese_329370", + "subject_type": "ingredient", + "subject_id": "mozzarella_cheese", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"329370\",\"url\":\"https://fdc.nal.usda.gov/food-details/329370/nutrients\",\"title\":\"Cheese, mozzarella, low moisture, part-skim\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":693,\"carbohydrate_g\":4.44,\"cholesterol_mg\":65,\"energy_kcal\":298,\"iron_mg\":0.2,\"potassium_mg\":116,\"protein_g\":23.7,\"saturated_fat_g\":11.7,\"sodium_mg\":699,\"total_fat_g\":20.4}" + }, + { + "id": "usda_fdc_msg_2449440", + "subject_type": "ingredient", + "subject_id": "msg", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2449440\",\"url\":\"https://fdc.nal.usda.gov/food-details/2449440/nutrients\",\"title\":\"MSG MONOSODIUM GLUTAMATE\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"carbohydrate_g\":0,\"energy_kcal\":0,\"protein_g\":0,\"sodium_mg\":12500,\"total_fat_g\":0}" + }, + { + "id": "usda_fdc_mustard_dijon_2029577", + "subject_type": "ingredient", + "subject_id": "mustard_dijon", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2029577\",\"url\":\"https://fdc.nal.usda.gov/food-details/2029577/nutrients\",\"title\":\"DIJON MUSTARD\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"carbohydrate_g\":0,\"energy_kcal\":100,\"protein_g\":0,\"sodium_mg\":2400,\"total_fat_g\":0,\"total_sugars_g\":0}" + }, + { + "id": "usda_fdc_mustard_yellow_326698", + "subject_type": "ingredient", + "subject_id": "mustard_yellow", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"326698\",\"url\":\"https://fdc.nal.usda.gov/food-details/326698/nutrients\",\"title\":\"Mustard, prepared, yellow\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":63,\"carbohydrate_g\":5.3,\"dietary_fiber_g\":4.3,\"energy_kcal\":61,\"iron_mg\":1.59,\"potassium_mg\":150,\"protein_g\":4.25,\"saturated_fat_g\":0.252,\"sodium_mg\":1100,\"total_fat_g\":3.38}" + }, + { + "id": "usda_fdc_nonfat_milk_powder_171273", + "subject_type": "ingredient", + "subject_id": "nonfat_milk_powder", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171273\",\"url\":\"https://fdc.nal.usda.gov/food-details/171273/nutrients\",\"title\":\"Milk, dry, nonfat, calcium reduced\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":280,\"carbohydrate_g\":51.8,\"cholesterol_mg\":2,\"dietary_fiber_g\":0,\"energy_kcal\":354,\"iron_mg\":0.32,\"potassium_mg\":680,\"protein_g\":35.5,\"saturated_fat_g\":0.124,\"sodium_mg\":2280,\"total_fat_g\":0.2}" + }, + { + "id": "usda_fdc_nutmeg_171326", + "subject_type": "ingredient", + "subject_id": "nutmeg", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171326\",\"url\":\"https://fdc.nal.usda.gov/food-details/171326/nutrients\",\"title\":\"Spices, nutmeg, ground\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":184,\"carbohydrate_g\":49.3,\"cholesterol_mg\":0,\"dietary_fiber_g\":20.8,\"energy_kcal\":525,\"iron_mg\":3.04,\"potassium_mg\":350,\"protein_g\":5.84,\"saturated_fat_g\":25.9,\"sodium_mg\":16,\"total_fat_g\":36.3,\"total_sugars_g\":2.99,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_oats_2346396", + "subject_type": "ingredient", + "subject_id": "oats", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2346396\",\"url\":\"https://fdc.nal.usda.gov/food-details/2346396/nutrients\",\"title\":\"Oats, whole grain, rolled, old fashioned\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":45.5,\"carbohydrate_g\":68.7,\"energy_kcal\":379,\"iron_mg\":4.34,\"potassium_mg\":350,\"protein_g\":13.5,\"sodium_mg\":0.668,\"total_fat_g\":5.89}" + }, + { + "id": "usda_fdc_olive_oil_748608", + "subject_type": "ingredient", + "subject_id": "olive_oil", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"748608\",\"url\":\"https://fdc.nal.usda.gov/food-details/748608/nutrients\",\"title\":\"Oil, olive, extra virgin\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"saturated_fat_g\":15.4}" + }, + { + "id": "usda_fdc_onion_dehydrated_flake_170002", + "subject_type": "ingredient", + "subject_id": "onion_dehydrated_flake", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170002\",\"url\":\"https://fdc.nal.usda.gov/food-details/170002/nutrients\",\"title\":\"Onions, dehydrated flakes\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":257,\"carbohydrate_g\":83.3,\"cholesterol_mg\":0,\"dietary_fiber_g\":9.2,\"energy_kcal\":349,\"iron_mg\":1.55,\"potassium_mg\":1620,\"protein_g\":8.95,\"saturated_fat_g\":0.078,\"sodium_mg\":21,\"total_fat_g\":0.46,\"total_sugars_g\":37.4,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_onion_dehydrated_powder_171327", + "subject_type": "ingredient", + "subject_id": "onion_dehydrated_powder", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171327\",\"url\":\"https://fdc.nal.usda.gov/food-details/171327/nutrients\",\"title\":\"Spices, onion powder\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":384,\"carbohydrate_g\":79.1,\"cholesterol_mg\":0,\"dietary_fiber_g\":15.2,\"energy_kcal\":341,\"iron_mg\":3.9,\"potassium_mg\":985,\"protein_g\":10.4,\"saturated_fat_g\":0.219,\"sodium_mg\":73,\"total_fat_g\":1.04,\"total_sugars_g\":6.63,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_onion_powder_171327", + "subject_type": "ingredient", + "subject_id": "onion_powder", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171327\",\"url\":\"https://fdc.nal.usda.gov/food-details/171327/nutrients\",\"title\":\"Spices, onion powder\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":384,\"carbohydrate_g\":79.1,\"cholesterol_mg\":0,\"dietary_fiber_g\":15.2,\"energy_kcal\":341,\"iron_mg\":3.9,\"potassium_mg\":985,\"protein_g\":10.4,\"saturated_fat_g\":0.219,\"sodium_mg\":73,\"total_fat_g\":1.04,\"total_sugars_g\":6.63,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_onion_yellow_790646", + "subject_type": "ingredient", + "subject_id": "onion_yellow", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"790646\",\"url\":\"https://fdc.nal.usda.gov/food-details/790646/nutrients\",\"title\":\"Onions, yellow, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":15,\"carbohydrate_g\":8.61,\"dietary_fiber_g\":1.9,\"energy_kcal\":38,\"iron_mg\":0.28,\"potassium_mg\":182,\"protein_g\":0.83,\"sodium_mg\":1,\"total_fat_g\":0.05}" + }, + { + "id": "usda_fdc_orange_juice_2003597", + "subject_type": "ingredient", + "subject_id": "orange_juice", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2003597\",\"url\":\"https://fdc.nal.usda.gov/food-details/2003597/nutrients\",\"title\":\"Orange juice, no pulp, not fortified, not from concentrate, refrigerated\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":9.29,\"carbohydrate_g\":10,\"energy_kcal\":45,\"iron_mg\":0.071,\"potassium_mg\":183,\"protein_g\":0.812,\"sodium_mg\":0.075,\"total_fat_g\":0.356}" + }, + { + "id": "usda_fdc_orange_juice_concentrate_169923", + "subject_type": "ingredient", + "subject_id": "orange_juice_concentrate", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169923\",\"url\":\"https://fdc.nal.usda.gov/food-details/169923/nutrients\",\"title\":\"Orange juice, frozen concentrate, unsweetened, undiluted\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":38,\"carbohydrate_g\":35.2,\"cholesterol_mg\":0,\"dietary_fiber_g\":1,\"energy_kcal\":148,\"iron_mg\":0.33,\"potassium_mg\":629,\"protein_g\":2.4,\"saturated_fat_g\":0.059,\"sodium_mg\":7,\"total_fat_g\":0.25,\"total_sugars_g\":29.7,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_orange_zest_169103", + "subject_type": "ingredient", + "subject_id": "orange_zest", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169103\",\"url\":\"https://fdc.nal.usda.gov/food-details/169103/nutrients\",\"title\":\"Orange peel, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":161,\"carbohydrate_g\":25,\"cholesterol_mg\":0,\"dietary_fiber_g\":10.6,\"energy_kcal\":97,\"iron_mg\":0.8,\"potassium_mg\":212,\"protein_g\":1.5,\"saturated_fat_g\":0.024,\"sodium_mg\":3,\"total_fat_g\":0.2}" + }, + { + "id": "usda_fdc_oregano_171328", + "subject_type": "ingredient", + "subject_id": "oregano", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171328\",\"url\":\"https://fdc.nal.usda.gov/food-details/171328/nutrients\",\"title\":\"Spices, oregano, dried\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":1600,\"carbohydrate_g\":68.9,\"cholesterol_mg\":0,\"dietary_fiber_g\":42.5,\"energy_kcal\":265,\"iron_mg\":36.8,\"potassium_mg\":1260,\"protein_g\":9,\"saturated_fat_g\":1.55,\"sodium_mg\":25,\"total_fat_g\":4.28,\"total_sugars_g\":4.09,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_oyster_sauce_174529", + "subject_type": "ingredient", + "subject_id": "oyster_sauce", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"174529\",\"url\":\"https://fdc.nal.usda.gov/food-details/174529/nutrients\",\"title\":\"Sauce, oyster, ready-to-serve\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":32,\"carbohydrate_g\":10.9,\"cholesterol_mg\":0,\"dietary_fiber_g\":0.3,\"energy_kcal\":51,\"iron_mg\":0.18,\"potassium_mg\":54,\"protein_g\":1.35,\"saturated_fat_g\":0.043,\"sodium_mg\":2730,\"total_fat_g\":0.25,\"total_sugars_g\":0,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_paprika_171329", + "subject_type": "ingredient", + "subject_id": "paprika", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171329\",\"url\":\"https://fdc.nal.usda.gov/food-details/171329/nutrients\",\"title\":\"Spices, paprika\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":229,\"carbohydrate_g\":54,\"cholesterol_mg\":0,\"dietary_fiber_g\":34.9,\"energy_kcal\":282,\"iron_mg\":21.1,\"potassium_mg\":2280,\"protein_g\":14.1,\"saturated_fat_g\":2.14,\"sodium_mg\":68,\"total_fat_g\":12.9,\"total_sugars_g\":10.3,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_parmesan_cheese_171247", + "subject_type": "ingredient", + "subject_id": "parmesan_cheese", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171247\",\"url\":\"https://fdc.nal.usda.gov/food-details/171247/nutrients\",\"title\":\"Cheese, parmesan, grated\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":853,\"carbohydrate_g\":13.9,\"cholesterol_mg\":86,\"dietary_fiber_g\":0,\"energy_kcal\":420,\"iron_mg\":0.49,\"potassium_mg\":180,\"protein_g\":28.4,\"saturated_fat_g\":15.4,\"sodium_mg\":1800,\"total_fat_g\":27.8,\"total_sugars_g\":0.07,\"vitamin_d_mcg\":0.5}" + }, + { + "id": "usda_fdc_parsley_170416", + "subject_type": "ingredient", + "subject_id": "parsley", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170416\",\"url\":\"https://fdc.nal.usda.gov/food-details/170416/nutrients\",\"title\":\"Parsley, fresh\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":138,\"carbohydrate_g\":6.33,\"cholesterol_mg\":0,\"dietary_fiber_g\":3.3,\"energy_kcal\":36,\"iron_mg\":6.2,\"potassium_mg\":554,\"protein_g\":2.97,\"saturated_fat_g\":0.132,\"sodium_mg\":56,\"total_fat_g\":0.79,\"total_sugars_g\":0.85,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_peanut_butter_2262072", + "subject_type": "ingredient", + "subject_id": "peanut_butter", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2262072\",\"url\":\"https://fdc.nal.usda.gov/food-details/2262072/nutrients\",\"title\":\"Peanut butter, creamy\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":49.8,\"carbohydrate_g\":22.7,\"dietary_fiber_g\":6.32,\"energy_kcal\":589,\"iron_mg\":1.85,\"potassium_mg\":654,\"protein_g\":24,\"saturated_fat_g\":8.42,\"sodium_mg\":221,\"total_fat_g\":49.4}" + }, + { + "id": "usda_fdc_pineapple_crushed_in_juice_169126", + "subject_type": "ingredient", + "subject_id": "pineapple_crushed_in_juice", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"169126\",\"url\":\"https://fdc.nal.usda.gov/food-details/169126/nutrients\",\"title\":\"Pineapple, canned, juice pack, solids and liquids\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":14,\"carbohydrate_g\":15.7,\"cholesterol_mg\":0,\"dietary_fiber_g\":0.8,\"energy_kcal\":60,\"iron_mg\":0.28,\"potassium_mg\":122,\"protein_g\":0.42,\"saturated_fat_g\":0.006,\"sodium_mg\":1,\"total_fat_g\":0.08,\"total_sugars_g\":14.4,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_pinto_beans_dry_uncooked_747445", + "subject_type": "ingredient", + "subject_id": "pinto_beans_dry_uncooked", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"747445\",\"url\":\"https://fdc.nal.usda.gov/food-details/747445/nutrients\",\"title\":\"Beans, Dry, Pinto (0% moisture)\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":161,\"dietary_fiber_g\":4.1,\"iron_mg\":5.4,\"potassium_mg\":1510,\"protein_g\":23.7,\"total_fat_g\":1.24}" + }, + { + "id": "usda_fdc_pistachio_nuts_2515379", + "subject_type": "ingredient", + "subject_id": "pistachio_nuts", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2515379\",\"url\":\"https://fdc.nal.usda.gov/food-details/2515379/nutrients\",\"title\":\"Nuts, pistachio nuts, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":117,\"carbohydrate_g\":27.7,\"dietary_fiber_g\":6.97,\"energy_kcal\":561,\"iron_mg\":3.46,\"potassium_mg\":947,\"protein_g\":20.5,\"sodium_mg\":0,\"total_fat_g\":45}" + }, + { + "id": "usda_fdc_potato_russet_170027", + "subject_type": "ingredient", + "subject_id": "potato_russet", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170027\",\"url\":\"https://fdc.nal.usda.gov/food-details/170027/nutrients\",\"title\":\"Potatoes, russet, flesh and skin, raw (Includes foods for USDA's Food Distribution Program)\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":13,\"carbohydrate_g\":18.1,\"cholesterol_mg\":0,\"dietary_fiber_g\":1.3,\"energy_kcal\":79,\"iron_mg\":0.86,\"potassium_mg\":417,\"protein_g\":2.14,\"saturated_fat_g\":0.026,\"sodium_mg\":5,\"total_fat_g\":0.08,\"total_sugars_g\":0.62,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_provolone_cheese_170850", + "subject_type": "ingredient", + "subject_id": "provolone_cheese", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170850\",\"url\":\"https://fdc.nal.usda.gov/food-details/170850/nutrients\",\"title\":\"Cheese, provolone\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":756,\"carbohydrate_g\":2.14,\"cholesterol_mg\":69,\"dietary_fiber_g\":0,\"energy_kcal\":351,\"iron_mg\":0.52,\"potassium_mg\":138,\"protein_g\":25.6,\"saturated_fat_g\":17.1,\"sodium_mg\":727,\"total_fat_g\":26.6,\"total_sugars_g\":0.56,\"vitamin_d_mcg\":0.5}" + }, + { + "id": "usda_fdc_pumpkin_puree_168450", + "subject_type": "ingredient", + "subject_id": "pumpkin_puree", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"168450\",\"url\":\"https://fdc.nal.usda.gov/food-details/168450/nutrients\",\"title\":\"Pumpkin, canned, without salt\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":26,\"carbohydrate_g\":8.09,\"cholesterol_mg\":0,\"dietary_fiber_g\":2.9,\"energy_kcal\":34,\"iron_mg\":1.39,\"potassium_mg\":206,\"protein_g\":1.1,\"saturated_fat_g\":0.146,\"sodium_mg\":5,\"total_fat_g\":0.28,\"total_sugars_g\":3.3,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_raisins_2758980", + "subject_type": "ingredient", + "subject_id": "raisins", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2758980\",\"url\":\"https://fdc.nal.usda.gov/food-details/2758980/nutrients\",\"title\":\"Raisins, dark, seedless\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"reviewed_at\":\"2026-08-12\"}", + "nutrition_json": "{\"calcium_mg\":51.49,\"dietary_fiber_g\":3.679,\"iron_mg\":1.844,\"potassium_mg\":936,\"sodium_mg\":13.17}" + }, + { + "id": "usda_fdc_ranch_173592", + "subject_type": "ingredient", + "subject_id": "ranch", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"173592\",\"url\":\"https://fdc.nal.usda.gov/food-details/173592/nutrients\",\"title\":\"Salad dressing, ranch dressing, regular\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":28,\"carbohydrate_g\":5.9,\"cholesterol_mg\":26,\"dietary_fiber_g\":0,\"energy_kcal\":430,\"iron_mg\":0.3,\"potassium_mg\":64,\"protein_g\":1.32,\"saturated_fat_g\":6.96,\"sodium_mg\":901,\"total_fat_g\":44.5,\"total_sugars_g\":4.69,\"vitamin_d_mcg\":0.1}" + }, + { + "id": "usda_fdc_raspberry_2346410", + "subject_type": "ingredient", + "subject_id": "raspberry", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2346410\",\"url\":\"https://fdc.nal.usda.gov/food-details/2346410/nutrients\",\"title\":\"Raspberries, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":16.41,\"carbohydrate_g\":12.904375,\"energy_kcal\":51.412425,\"iron_mg\":0.4501,\"potassium_mg\":155.8,\"protein_g\":1.008125,\"sodium_mg\":0,\"total_fat_g\":0.1875}" + }, + { + "id": "usda_fdc_raw_broccoli_747447", + "subject_type": "ingredient", + "subject_id": "raw_broccoli", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"747447\",\"url\":\"https://fdc.nal.usda.gov/food-details/747447/nutrients\",\"title\":\"Broccoli, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":46,\"carbohydrate_g\":6.27,\"dietary_fiber_g\":2.4,\"energy_kcal\":31,\"iron_mg\":0.69,\"potassium_mg\":303,\"protein_g\":2.57,\"saturated_fat_g\":0.039,\"sodium_mg\":36,\"total_fat_g\":0.34}" + }, + { + "id": "usda_fdc_rice_2512381", + "subject_type": "ingredient", + "subject_id": "rice", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2512381\",\"url\":\"https://fdc.nal.usda.gov/food-details/2512381/nutrients\",\"title\":\"Rice, white, long grain, unenriched, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":4.46,\"carbohydrate_g\":80.3,\"dietary_fiber_g\":0.149,\"energy_kcal\":370,\"iron_mg\":0.14,\"potassium_mg\":82.3,\"protein_g\":7.04,\"sodium_mg\":0.462,\"total_fat_g\":1.03}" + }, + { + "id": "usda_fdc_rice_chex_2311632", + "subject_type": "ingredient", + "subject_id": "rice_chex", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2311632\",\"url\":\"https://fdc.nal.usda.gov/food-details/2311632/nutrients\",\"title\":\"RICE SQUARES TOASTED CEREAL, RICE SQUARES\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":370,\"carbohydrate_g\":85.19,\"cholesterol_mg\":0,\"dietary_fiber_g\":0,\"energy_kcal\":370,\"iron_mg\":33.33,\"potassium_mg\":111,\"protein_g\":7.41,\"saturated_fat_g\":0,\"sodium_mg\":704,\"total_fat_g\":0,\"total_sugars_g\":7.41}" + }, + { + "id": "usda_fdc_rice_cooked_168878", + "subject_type": "ingredient", + "subject_id": "rice_cooked", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"168878\",\"url\":\"https://fdc.nal.usda.gov/food-details/168878/nutrients\",\"title\":\"Rice, white, long-grain, regular, enriched, cooked\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-12\",\"reviewed\":true,\"reviewed_at\":\"2026-08-12\",\"notes\":\"FoodData Central data type: SR Legacy.\"}", + "nutrition_json": "{\"energy_kcal\":130,\"protein_g\":2.69,\"total_fat_g\":0.28,\"carbohydrate_g\":28.17,\"dietary_fiber_g\":0.4,\"total_sugars_g\":0.05,\"calcium_mg\":10,\"iron_mg\":1.2,\"potassium_mg\":35,\"sodium_mg\":1,\"vitamin_d_mcg\":0,\"saturated_fat_g\":0.077,\"cholesterol_mg\":0}" + }, + { + "id": "usda_fdc_salt_173468", + "subject_type": "ingredient", + "subject_id": "salt", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"173468\",\"url\":\"https://fdc.nal.usda.gov/food-details/173468/nutrients\",\"title\":\"Salt, table\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":24,\"carbohydrate_g\":0,\"cholesterol_mg\":0,\"dietary_fiber_g\":0,\"energy_kcal\":0,\"iron_mg\":0.33,\"potassium_mg\":8,\"protein_g\":0,\"saturated_fat_g\":0,\"sodium_mg\":38800,\"total_fat_g\":0,\"total_sugars_g\":0,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_semisweet_chocolate_167976", + "subject_type": "ingredient", + "subject_id": "semisweet_chocolate", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"167976\",\"url\":\"https://fdc.nal.usda.gov/food-details/167976/nutrients\",\"title\":\"Candies, semisweet chocolate\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":32,\"carbohydrate_g\":63.9,\"cholesterol_mg\":0,\"dietary_fiber_g\":5.9,\"energy_kcal\":480,\"iron_mg\":3.13,\"potassium_mg\":365,\"protein_g\":4.2,\"saturated_fat_g\":17.8,\"sodium_mg\":11,\"total_fat_g\":30,\"total_sugars_g\":54.5,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_sesame_oil_171016", + "subject_type": "ingredient", + "subject_id": "sesame_oil", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171016\",\"url\":\"https://fdc.nal.usda.gov/food-details/171016/nutrients\",\"title\":\"Oil, sesame, salad or cooking\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":0,\"carbohydrate_g\":0,\"cholesterol_mg\":0,\"dietary_fiber_g\":0,\"energy_kcal\":884,\"iron_mg\":0,\"potassium_mg\":0,\"protein_g\":0,\"saturated_fat_g\":14.2,\"sodium_mg\":0,\"total_fat_g\":100,\"total_sugars_g\":0,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_shaoxing_wine_2440010", + "subject_type": "ingredient", + "subject_id": "shaoxing_wine", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2440010\",\"url\":\"https://fdc.nal.usda.gov/food-details/2440010/nutrients\",\"title\":\"SHAOHSING RICE COOKING WINE\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":2,\"carbohydrate_g\":0.9,\"cholesterol_mg\":0,\"dietary_fiber_g\":0,\"energy_kcal\":80,\"iron_mg\":0.29,\"protein_g\":0,\"saturated_fat_g\":0,\"sodium_mg\":496,\"total_fat_g\":0,\"total_sugars_g\":0}" + }, + { + "id": "usda_fdc_sharp_cheddar_cheese_170899", + "subject_type": "ingredient", + "subject_id": "sharp_cheddar_cheese", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170899\",\"url\":\"https://fdc.nal.usda.gov/food-details/170899/nutrients\",\"title\":\"Cheese, cheddar, sharp, sliced\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":711,\"carbohydrate_g\":2.13,\"cholesterol_mg\":99,\"dietary_fiber_g\":0,\"energy_kcal\":410,\"iron_mg\":0.16,\"potassium_mg\":76,\"protein_g\":24.2,\"saturated_fat_g\":19.4,\"sodium_mg\":644,\"total_fat_g\":33.8,\"total_sugars_g\":0.27,\"vitamin_d_mcg\":1}" + }, + { + "id": "usda_fdc_shortening_173584", + "subject_type": "ingredient", + "subject_id": "shortening", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"173584\",\"url\":\"https://fdc.nal.usda.gov/food-details/173584/nutrients\",\"title\":\"Shortening, vegetable, household, composite\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":1,\"carbohydrate_g\":0,\"cholesterol_mg\":0,\"dietary_fiber_g\":0,\"energy_kcal\":884,\"iron_mg\":0.07,\"potassium_mg\":0,\"protein_g\":0,\"saturated_fat_g\":25,\"sodium_mg\":4,\"total_fat_g\":100,\"total_sugars_g\":0,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_sour_cream_171257", + "subject_type": "ingredient", + "subject_id": "sour_cream", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171257\",\"url\":\"https://fdc.nal.usda.gov/food-details/171257/nutrients\",\"title\":\"Cream, sour, cultured\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":101,\"carbohydrate_g\":4.63,\"cholesterol_mg\":59,\"dietary_fiber_g\":0,\"energy_kcal\":198,\"iron_mg\":0.07,\"potassium_mg\":125,\"protein_g\":2.44,\"saturated_fat_g\":10.1,\"sodium_mg\":31,\"total_fat_g\":19.4,\"total_sugars_g\":3.41,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_soy_sauce_light_174277", + "subject_type": "ingredient", + "subject_id": "soy_sauce_light", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"174277\",\"url\":\"https://fdc.nal.usda.gov/food-details/174277/nutrients\",\"title\":\"Soy sauce made from soy and wheat (shoyu)\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":33,\"carbohydrate_g\":4.93,\"cholesterol_mg\":0,\"dietary_fiber_g\":0.8,\"energy_kcal\":53,\"iron_mg\":1.45,\"potassium_mg\":435,\"protein_g\":8.14,\"saturated_fat_g\":0.073,\"sodium_mg\":5490,\"total_fat_g\":0.57,\"total_sugars_g\":0.4,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_soy_sauce_light_low_sodium_172473", + "subject_type": "ingredient", + "subject_id": "soy_sauce_light_low_sodium", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"172473\",\"url\":\"https://fdc.nal.usda.gov/food-details/172473/nutrients\",\"title\":\"Soy sauce made from soy and wheat (shoyu), low sodium\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":30,\"carbohydrate_g\":5.59,\"cholesterol_mg\":0,\"dietary_fiber_g\":0.7,\"energy_kcal\":57,\"iron_mg\":1.35,\"potassium_mg\":352,\"protein_g\":9.05,\"saturated_fat_g\":0.035,\"sodium_mg\":3600,\"total_fat_g\":0.3,\"total_sugars_g\":0.5,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_soybean_oil_748366", + "subject_type": "ingredient", + "subject_id": "soybean_oil", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"748366\",\"url\":\"https://fdc.nal.usda.gov/food-details/748366/nutrients\",\"title\":\"Oil, soybean\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"saturated_fat_g\":14.9}" + }, + { + "id": "usda_fdc_sriracha_171186", + "subject_type": "ingredient", + "subject_id": "sriracha", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171186\",\"url\":\"https://fdc.nal.usda.gov/food-details/171186/nutrients\",\"title\":\"Sauce, hot chile, sriracha\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":18,\"carbohydrate_g\":19.2,\"dietary_fiber_g\":2.2,\"energy_kcal\":93,\"iron_mg\":1.64,\"potassium_mg\":321,\"protein_g\":1.93,\"sodium_mg\":2120,\"total_fat_g\":0.93,\"total_sugars_g\":15.1}" + }, + { + "id": "usda_fdc_sugar_746784", + "subject_type": "ingredient", + "subject_id": "sugar", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"746784\",\"url\":\"https://fdc.nal.usda.gov/food-details/746784/nutrients\",\"title\":\"Sugars, granulated\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":1,\"carbohydrate_g\":99.6,\"energy_kcal\":385,\"iron_mg\":0.05,\"potassium_mg\":2,\"protein_g\":0,\"sodium_mg\":1,\"total_fat_g\":0.32}" + }, + { + "id": "usda_fdc_sweet_potato_cooked_168484", + "subject_type": "ingredient", + "subject_id": "sweet_potato_cooked", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"168484\",\"url\":\"https://fdc.nal.usda.gov/food-details/168484/nutrients\",\"title\":\"Sweet potato, cooked, boiled, without skin\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":27,\"carbohydrate_g\":17.7,\"cholesterol_mg\":0,\"dietary_fiber_g\":2.5,\"energy_kcal\":76,\"iron_mg\":0.72,\"potassium_mg\":230,\"protein_g\":1.37,\"saturated_fat_g\":0.031,\"sodium_mg\":27,\"total_fat_g\":0.14,\"total_sugars_g\":5.74,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_tahini_170189", + "subject_type": "ingredient", + "subject_id": "tahini", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170189\",\"url\":\"https://fdc.nal.usda.gov/food-details/170189/nutrients\",\"title\":\"Seeds, sesame butter, tahini, from roasted and toasted kernels (most common type)\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":426,\"carbohydrate_g\":21.2,\"cholesterol_mg\":0,\"dietary_fiber_g\":9.3,\"energy_kcal\":595,\"iron_mg\":8.95,\"potassium_mg\":414,\"protein_g\":17,\"saturated_fat_g\":7.53,\"sodium_mg\":115,\"total_fat_g\":53.8,\"total_sugars_g\":0.49,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_tapioca_starch_2033785", + "subject_type": "ingredient", + "subject_id": "tapioca_starch", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2033785\",\"url\":\"https://fdc.nal.usda.gov/food-details/2033785/nutrients\",\"title\":\"TAPIOCA STARCH\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"carbohydrate_g\":87.5,\"energy_kcal\":375,\"protein_g\":0,\"sodium_mg\":300,\"total_fat_g\":0}" + }, + { + "id": "usda_fdc_tomato_bouillon_2029306", + "subject_type": "ingredient", + "subject_id": "tomato_bouillon", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2029306\",\"url\":\"https://fdc.nal.usda.gov/food-details/2029306/nutrients\",\"title\":\"TOMATO BOUILLON WITH CHICKEN FLAVOR, TOMATO WITH CHICKEN\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"carbohydrate_g\":25,\"energy_kcal\":250,\"protein_g\":0,\"sodium_mg\":22750,\"total_fat_g\":0}" + }, + { + "id": "usda_fdc_tomato_crushed_in_juice_170051", + "subject_type": "ingredient", + "subject_id": "tomato_crushed_in_juice", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170051\",\"url\":\"https://fdc.nal.usda.gov/food-details/170051/nutrients\",\"title\":\"Tomatoes, red, ripe, canned, packed in tomato juice\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":33,\"carbohydrate_g\":3.47,\"cholesterol_mg\":0,\"dietary_fiber_g\":1.9,\"energy_kcal\":16,\"iron_mg\":0.57,\"potassium_mg\":191,\"protein_g\":0.79,\"saturated_fat_g\":0.034,\"sodium_mg\":115,\"total_fat_g\":0.25,\"total_sugars_g\":2.55,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_tomato_paste_2685580", + "subject_type": "ingredient", + "subject_id": "tomato_paste", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2685580\",\"url\":\"https://fdc.nal.usda.gov/food-details/2685580/nutrients\",\"title\":\"Tomato, paste, canned, without salt added\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":36.8,\"carbohydrate_g\":20.2,\"dietary_fiber_g\":4.7,\"energy_kcal\":88.5,\"iron_mg\":3.18,\"potassium_mg\":972,\"protein_g\":4.23,\"sodium_mg\":61.2,\"total_fat_g\":0.732}" + }, + { + "id": "usda_fdc_tomato_puree_2685582", + "subject_type": "ingredient", + "subject_id": "tomato_puree", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2685582\",\"url\":\"https://fdc.nal.usda.gov/food-details/2685582/nutrients\",\"title\":\"Tomato, puree, canned\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":17.6,\"carbohydrate_g\":8.04,\"dietary_fiber_g\":1.97,\"energy_kcal\":34.8,\"iron_mg\":1.24,\"potassium_mg\":416,\"protein_g\":1.58,\"sodium_mg\":29.4,\"total_fat_g\":0.265}" + }, + { + "id": "usda_fdc_vanilla_extract_173471", + "subject_type": "ingredient", + "subject_id": "vanilla_extract", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"173471\",\"url\":\"https://fdc.nal.usda.gov/food-details/173471/nutrients\",\"title\":\"Vanilla extract\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":11,\"carbohydrate_g\":12.6,\"cholesterol_mg\":0,\"dietary_fiber_g\":0,\"energy_kcal\":288,\"iron_mg\":0.12,\"potassium_mg\":148,\"protein_g\":0.06,\"saturated_fat_g\":0.01,\"sodium_mg\":9,\"total_fat_g\":0.06,\"total_sugars_g\":12.6,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_vinegar_5_172237", + "subject_type": "ingredient", + "subject_id": "vinegar_5", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"172237\",\"url\":\"https://fdc.nal.usda.gov/food-details/172237/nutrients\",\"title\":\"Vinegar, distilled\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":6,\"carbohydrate_g\":0.04,\"cholesterol_mg\":0,\"dietary_fiber_g\":0,\"energy_kcal\":18,\"iron_mg\":0.03,\"potassium_mg\":2,\"protein_g\":0,\"saturated_fat_g\":0,\"sodium_mg\":2,\"total_fat_g\":0,\"total_sugars_g\":0.04,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_vinegar_apple_cider_173469", + "subject_type": "ingredient", + "subject_id": "vinegar_apple_cider", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"173469\",\"url\":\"https://fdc.nal.usda.gov/food-details/173469/nutrients\",\"title\":\"Vinegar, cider\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":7,\"carbohydrate_g\":0.93,\"cholesterol_mg\":0,\"dietary_fiber_g\":0,\"energy_kcal\":21,\"iron_mg\":0.2,\"potassium_mg\":73,\"protein_g\":0,\"saturated_fat_g\":0,\"sodium_mg\":5,\"total_fat_g\":0,\"total_sugars_g\":0.4,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_vinegar_balsamic_172241", + "subject_type": "ingredient", + "subject_id": "vinegar_balsamic", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"172241\",\"url\":\"https://fdc.nal.usda.gov/food-details/172241/nutrients\",\"title\":\"Vinegar, balsamic\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":27,\"carbohydrate_g\":17,\"energy_kcal\":88,\"iron_mg\":0.72,\"potassium_mg\":112,\"protein_g\":0.49,\"saturated_fat_g\":0,\"sodium_mg\":23,\"total_fat_g\":0,\"total_sugars_g\":15}" + }, + { + "id": "usda_fdc_vinegar_rice_2085000", + "subject_type": "ingredient", + "subject_id": "vinegar_rice", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2085000\",\"url\":\"https://fdc.nal.usda.gov/food-details/2085000/nutrients\",\"title\":\"MARUKAN, GENUINE BREWED RICE VINEGAR\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"carbohydrate_g\":0,\"energy_kcal\":0,\"protein_g\":0,\"sodium_mg\":0,\"total_fat_g\":0}" + }, + { + "id": "usda_fdc_vodka_174818", + "subject_type": "ingredient", + "subject_id": "vodka", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"174818\",\"url\":\"https://fdc.nal.usda.gov/food-details/174818/nutrients\",\"title\":\"Alcoholic beverage, distilled, vodka, 80 proof\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":0,\"carbohydrate_g\":0,\"cholesterol_mg\":0,\"dietary_fiber_g\":0,\"energy_kcal\":231,\"iron_mg\":0.01,\"potassium_mg\":1,\"protein_g\":0,\"saturated_fat_g\":0,\"sodium_mg\":1,\"total_fat_g\":0,\"total_sugars_g\":0}" + }, + { + "id": "usda_fdc_walnut_2346394", + "subject_type": "ingredient", + "subject_id": "walnut", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2346394\",\"url\":\"https://fdc.nal.usda.gov/food-details/2346394/nutrients\",\"title\":\"Nuts, walnuts, English, halves, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":88.3,\"carbohydrate_g\":10.9,\"dietary_fiber_g\":5.21,\"energy_kcal\":679,\"iron_mg\":2.24,\"potassium_mg\":424,\"protein_g\":14.6,\"saturated_fat_g\":6.05,\"sodium_mg\":0,\"total_fat_g\":69.7}" + }, + { + "id": "usda_fdc_water_ice_174158", + "subject_type": "ingredient", + "subject_id": "water_ice", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"174158\",\"url\":\"https://fdc.nal.usda.gov/food-details/174158/nutrients\",\"title\":\"Water, bottled, generic\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":10,\"carbohydrate_g\":0,\"cholesterol_mg\":0,\"dietary_fiber_g\":0,\"energy_kcal\":0,\"iron_mg\":0,\"potassium_mg\":0,\"protein_g\":0,\"saturated_fat_g\":0,\"sodium_mg\":2,\"total_fat_g\":0,\"total_sugars_g\":0,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_wheat_gluten_70_80_168147", + "subject_type": "ingredient", + "subject_id": "wheat_gluten_70_80", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"168147\",\"url\":\"https://fdc.nal.usda.gov/food-details/168147/nutrients\",\"title\":\"Vital wheat gluten\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":142,\"carbohydrate_g\":13.8,\"cholesterol_mg\":0,\"dietary_fiber_g\":0.6,\"energy_kcal\":370,\"iron_mg\":5.2,\"potassium_mg\":100,\"protein_g\":75.2,\"saturated_fat_g\":0.272,\"sodium_mg\":29,\"total_fat_g\":1.85,\"total_sugars_g\":0,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_white_chocolate_167571", + "subject_type": "ingredient", + "subject_id": "white_chocolate", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"167571\",\"url\":\"https://fdc.nal.usda.gov/food-details/167571/nutrients\",\"title\":\"Candies, white chocolate\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":199,\"carbohydrate_g\":59.2,\"cholesterol_mg\":21,\"dietary_fiber_g\":0.2,\"energy_kcal\":539,\"iron_mg\":0.24,\"potassium_mg\":286,\"protein_g\":5.87,\"saturated_fat_g\":19.4,\"sodium_mg\":90,\"total_fat_g\":32.1,\"total_sugars_g\":59,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_white_pepper_170933", + "subject_type": "ingredient", + "subject_id": "white_pepper", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"170933\",\"url\":\"https://fdc.nal.usda.gov/food-details/170933/nutrients\",\"title\":\"Spices, pepper, white\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":265,\"carbohydrate_g\":68.6,\"cholesterol_mg\":0,\"dietary_fiber_g\":26.2,\"energy_kcal\":296,\"iron_mg\":14.3,\"potassium_mg\":73,\"protein_g\":10.4,\"saturated_fat_g\":0.626,\"sodium_mg\":5,\"total_fat_g\":2.12,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_worschestershire_sauce_171610", + "subject_type": "ingredient", + "subject_id": "worschestershire_sauce", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"171610\",\"url\":\"https://fdc.nal.usda.gov/food-details/171610/nutrients\",\"title\":\"Sauce, worcestershire\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":107,\"carbohydrate_g\":19.2,\"cholesterol_mg\":0,\"dietary_fiber_g\":0,\"energy_kcal\":77,\"iron_mg\":5.3,\"potassium_mg\":800,\"protein_g\":0,\"saturated_fat_g\":0,\"sodium_mg\":1300,\"total_fat_g\":0,\"total_sugars_g\":10,\"vitamin_d_mcg\":0}" + }, + { + "id": "usda_fdc_xanthan_gum_1991838", + "subject_type": "ingredient", + "subject_id": "xanthan_gum", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"1991838\",\"url\":\"https://fdc.nal.usda.gov/food-details/1991838/nutrients\",\"title\":\"XANTHAN GUM\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"carbohydrate_g\":125,\"energy_kcal\":625,\"protein_g\":0,\"sodium_mg\":3125,\"total_fat_g\":0}" + }, + { + "id": "usda_fdc_yogurt_2259793", + "subject_type": "ingredient", + "subject_id": "yogurt", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2259793\",\"url\":\"https://fdc.nal.usda.gov/food-details/2259793/nutrients\",\"title\":\"Yogurt, plain, whole milk\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":127,\"carbohydrate_g\":5.57,\"cholesterol_mg\":14.2,\"energy_kcal\":77.3,\"iron_mg\":0,\"potassium_mg\":164,\"protein_g\":3.82,\"saturated_fat_g\":2.32,\"sodium_mg\":41.8,\"total_fat_g\":4.48,\"vitamin_d_mcg\":0.778}" + }, + { + "id": "usda_fdc_zaatar_2072928", + "subject_type": "ingredient", + "subject_id": "zaatar", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2072928\",\"url\":\"https://fdc.nal.usda.gov/food-details/2072928/nutrients\",\"title\":\"LEBANON ZAATAR THYME SEASONING\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-11\",\"reviewed\":true,\"reviewed_at\":\"2026-08-11\"}", + "nutrition_json": "{\"calcium_mg\":0,\"carbohydrate_g\":0,\"cholesterol_mg\":0,\"dietary_fiber_g\":0,\"energy_kcal\":0,\"iron_mg\":0,\"protein_g\":0,\"saturated_fat_g\":0,\"sodium_mg\":0,\"total_fat_g\":0,\"total_sugars_g\":0}" + } + ], + "collections": [ + { + "id": "the_pastry_chefs_little_black_book_vol_1", + "name": "The Pastry Chef's Little Black Book (Vol. I)", + "description": "Classic culinary pastry reference by Michael Zebrowski & Michael Mignano (477 formulations across 13 chapters).", + "source_json": "{}", + "deleted_at": null, + "recipes": [ + { + "recipe_id": "linzer_dough", + "position": 1 + }, + { + "recipe_id": "pate_brisee", + "position": 2 + }, + { + "recipe_id": "whole_wheat_pate_brisee", + "position": 3 + }, + { + "recipe_id": "pate_sable", + "position": 4 + }, + { + "recipe_id": "almond_pate_sable", + "position": 5 + }, + { + "recipe_id": "chocolate_pat_e_sable", + "position": 6 + }, + { + "recipe_id": "cornmeal_pate_sable", + "position": 7 + }, + { + "recipe_id": "graham_cracker_pate_sable", + "position": 8 + }, + { + "recipe_id": "pate_sucree", + "position": 9 + }, + { + "recipe_id": "almond_pate_sucree", + "position": 10 + }, + { + "recipe_id": "chocolate_pate_sucree", + "position": 11 + }, + { + "recipe_id": "all_butter_pie_dough", + "position": 12 + }, + { + "recipe_id": "flaky_american_pie_dough", + "position": 13 + }, + { + "recipe_id": "quick_puff_pastry", + "position": 14 + }, + { + "recipe_id": "chocolate_puff_pastry", + "position": 15 + }, + { + "recipe_id": "classic_puff_pastry", + "position": 16 + }, + { + "recipe_id": "inverse_puff_pastry", + "position": 17 + }, + { + "recipe_id": "choux_aux_craquelin", + "position": 18 + }, + { + "recipe_id": "cobbler_dough", + "position": 19 + }, + { + "recipe_id": "gingerbread_house_dough", + "position": 20 + }, + { + "recipe_id": "pate_a_choux", + "position": 21 + }, + { + "recipe_id": "strudel_dough", + "position": 22 + }, + { + "recipe_id": "oat_crumb_topping", + "position": 23 + }, + { + "recipe_id": "streusel_topping", + "position": 24 + }, + { + "recipe_id": "beet_tart_filling", + "position": 25 + }, + { + "recipe_id": "bittersweet_chocolate_custard_tart_filling", + "position": 26 + }, + { + "recipe_id": "bittersweet_chocolate_ganache_tart_filling", + "position": 27 + }, + { + "recipe_id": "caramel_nut_tart_filling", + "position": 28 + }, + { + "recipe_id": "caramel_custard_tart_filling", + "position": 29 + }, + { + "recipe_id": "chocolate_raspberry_tart_filling", + "position": 30 + }, + { + "recipe_id": "lemon_tart_filling", + "position": 31 + }, + { + "recipe_id": "milk_chocolate_nut_tart_filling", + "position": 32 + }, + { + "recipe_id": "passion_fruit_tart_filling", + "position": 33 + }, + { + "recipe_id": "peanut_caramel_tart_filling", + "position": 34 + }, + { + "recipe_id": "quiche_custard_tart_filling", + "position": 35 + }, + { + "recipe_id": "apple_pie_filling", + "position": 36 + }, + { + "recipe_id": "fresh_blueberry_pie_filling", + "position": 37 + }, + { + "recipe_id": "peach_pie_filling", + "position": 38 + }, + { + "recipe_id": "key_lime_pie", + "position": 39 + }, + { + "recipe_id": "key_lime_pie_p56", + "position": 40 + }, + { + "recipe_id": "pecan_pie_filling", + "position": 41 + }, + { + "recipe_id": "pumpkin_pie_filling", + "position": 42 + }, + { + "recipe_id": "rhubarb_pie_filling", + "position": 43 + }, + { + "recipe_id": "sour_cherry_pie_filling", + "position": 44 + }, + { + "recipe_id": "apple_strudel_filling", + "position": 45 + }, + { + "recipe_id": "cabbage_bacon_strudel_filling", + "position": 46 + }, + { + "recipe_id": "mixed_berry_strudel_filling", + "position": 47 + }, + { + "recipe_id": "baumkuchen_torte", + "position": 48 + }, + { + "recipe_id": "black_forest_chocolate_cake", + "position": 49 + }, + { + "recipe_id": "carrot_cake", + "position": 50 + }, + { + "recipe_id": "cheesecake_graham_cracker_crust", + "position": 51 + }, + { + "recipe_id": "goat_cheese_cheesecake", + "position": 52 + }, + { + "recipe_id": "new_york_cheesecake", + "position": 53 + }, + { + "recipe_id": "pumpkin_cheesecake", + "position": 54 + }, + { + "recipe_id": "chocolate_fruit_nut_cake", + "position": 55 + }, + { + "recipe_id": "classic_yellow_butter_cake", + "position": 56 + }, + { + "recipe_id": "devil_s_food_cake", + "position": 57 + }, + { + "recipe_id": "almond_financier", + "position": 58 + }, + { + "recipe_id": "chocolate_financier", + "position": 59 + }, + { + "recipe_id": "flourless_chocolate_cake", + "position": 60 + }, + { + "recipe_id": "flourless_chocolate_truffle_cake", + "position": 61 + }, + { + "recipe_id": "fruit_cake", + "position": 62 + }, + { + "recipe_id": "lemon_cake", + "position": 63 + }, + { + "recipe_id": "orange_olive_oil_cake", + "position": 64 + }, + { + "recipe_id": "moist_honey_cake", + "position": 65 + }, + { + "recipe_id": "pain_de_genes", + "position": 66 + }, + { + "recipe_id": "pumpkin_cake", + "position": 67 + }, + { + "recipe_id": "red_velvet_cake", + "position": 68 + }, + { + "recipe_id": "sweet_potato_cake", + "position": 69 + }, + { + "recipe_id": "tea_cake", + "position": 70 + }, + { + "recipe_id": "orange_tea_cake", + "position": 71 + }, + { + "recipe_id": "winemakers_grape_cake", + "position": 72 + }, + { + "recipe_id": "classic_pound_cake", + "position": 73 + }, + { + "recipe_id": "cornmeal_pound_cake", + "position": 74 + }, + { + "recipe_id": "cream_cheese_pound_cake", + "position": 75 + }, + { + "recipe_id": "hazelnut_pound_cake", + "position": 76 + }, + { + "recipe_id": "lemon_poppy_seed_pound_cake", + "position": 77 + }, + { + "recipe_id": "lemon_poppy_seed_pound_cake_p100", + "position": 78 + }, + { + "recipe_id": "marble_pound_cake", + "position": 79 + }, + { + "recipe_id": "pumpkin_chocolate_chip_pound_cake", + "position": 80 + }, + { + "recipe_id": "chocolate_souffle", + "position": 81 + }, + { + "recipe_id": "chocolate_souffle_p106", + "position": 82 + }, + { + "recipe_id": "grand_marnier_souffle", + "position": 83 + }, + { + "recipe_id": "grand_marnier_souffle_p108", + "position": 84 + }, + { + "recipe_id": "passion_fruit_souffle", + "position": 85 + }, + { + "recipe_id": "quark_souffle", + "position": 86 + }, + { + "recipe_id": "smoked_salmon_souffle", + "position": 87 + }, + { + "recipe_id": "chocolate_lava_cake", + "position": 88 + }, + { + "recipe_id": "chocolate_souffle_cakes", + "position": 89 + }, + { + "recipe_id": "chocolate_cupcakes", + "position": 90 + }, + { + "recipe_id": "gluten_free_chocolate_cupcakes", + "position": 91 + }, + { + "recipe_id": "white_cupcakes", + "position": 92 + }, + { + "recipe_id": "individual_french_angel_food_cakes", + "position": 93 + }, + { + "recipe_id": "individual_gluten_free_chocolate_cakes", + "position": 94 + }, + { + "recipe_id": "lemon_pudding_cakes", + "position": 95 + }, + { + "recipe_id": "banana_sheet_cake", + "position": 96 + }, + { + "recipe_id": "biscuit_a_la_cuillere", + "position": 97 + }, + { + "recipe_id": "biscuit_a_la_cuillere_au_chocolat", + "position": 98 + }, + { + "recipe_id": "blackberry_almond_sheet_cake", + "position": 99 + }, + { + "recipe_id": "blackout_sheet_cake", + "position": 100 + }, + { + "recipe_id": "brownie_sheet_cake", + "position": 101 + }, + { + "recipe_id": "carrot_sheet_cake", + "position": 102 + }, + { + "recipe_id": "lemon_chiffon_cake", + "position": 103 + }, + { + "recipe_id": "chocolate_chiffon_cake", + "position": 104 + }, + { + "recipe_id": "orange_chiffon_cake", + "position": 105 + }, + { + "recipe_id": "wedding_chiffon_sheet_cake", + "position": 106 + }, + { + "recipe_id": "chocolate_banana_sheet_cake", + "position": 107 + }, + { + "recipe_id": "chocolate_coconut_sheet_cake", + "position": 108 + }, + { + "recipe_id": "chocolate_sheet_cake_with_almond_paste", + "position": 109 + }, + { + "recipe_id": "chocolate_sheet_cake_with_hazelnut_paste", + "position": 110 + }, + { + "recipe_id": "crisp_dacquoise", + "position": 111 + }, + { + "recipe_id": "soft_coconut_dacquoise", + "position": 112 + }, + { + "recipe_id": "soft_hazelnut_dacquoise", + "position": 113 + }, + { + "recipe_id": "soft_lime_almond_dacquoise", + "position": 114 + }, + { + "recipe_id": "soft_pistachio_dacquoise", + "position": 115 + }, + { + "recipe_id": "frangipane_sheet_cake", + "position": 116 + }, + { + "recipe_id": "genoise_sheet_cake", + "position": 117 + }, + { + "recipe_id": "genoise_sheet_cake_with_coconut", + "position": 118 + }, + { + "recipe_id": "genoise_sheet_cake_with_nuts", + "position": 119 + }, + { + "recipe_id": "soft_gingerbread_sheet_cake", + "position": 120 + }, + { + "recipe_id": "gluten_free_butter_almond_sheet_cake", + "position": 121 + }, + { + "recipe_id": "gluten_free_chocolate_sheet_cake", + "position": 122 + }, + { + "recipe_id": "joconde_sheet_cake", + "position": 123 + }, + { + "recipe_id": "pistachio_joconde_sheet_cake", + "position": 124 + }, + { + "recipe_id": "light_almond_sheet_cake", + "position": 125 + }, + { + "recipe_id": "milk_sponge_sheet_cake", + "position": 126 + }, + { + "recipe_id": "pate_decor", + "position": 127 + }, + { + "recipe_id": "pate_decor_au_chocolat", + "position": 128 + }, + { + "recipe_id": "petits_fours_glace_sheet_cake", + "position": 129 + }, + { + "recipe_id": "poppy_seed_sheet_cake", + "position": 130 + }, + { + "recipe_id": "praline_sheet_cake", + "position": 131 + }, + { + "recipe_id": "roulade_sheet_cake", + "position": 132 + }, + { + "recipe_id": "chocolate_roulade_sheet_cake", + "position": 133 + }, + { + "recipe_id": "sacher_torte_sheet_cake", + "position": 134 + }, + { + "recipe_id": "vanilla_sheet_cake", + "position": 135 + }, + { + "recipe_id": "walnut_sheet_cake", + "position": 136 + }, + { + "recipe_id": "white_chocolate_sheet_cake", + "position": 137 + }, + { + "recipe_id": "american_buttercream", + "position": 138 + }, + { + "recipe_id": "creme_anglaise_buttercream", + "position": 139 + }, + { + "recipe_id": "creme_anglaise_chocolate_buttercream", + "position": 140 + }, + { + "recipe_id": "french_buttercream", + "position": 141 + }, + { + "recipe_id": "italian_meringue_buttercream", + "position": 142 + }, + { + "recipe_id": "swiss_meringue_buttercream", + "position": 143 + }, + { + "recipe_id": "chocolate_ganache_frosting", + "position": 144 + }, + { + "recipe_id": "chocolate_sour_cream_frosting", + "position": 145 + }, + { + "recipe_id": "german_chocolate_frosting", + "position": 146 + }, + { + "recipe_id": "peanut_butter_frosting", + "position": 147 + }, + { + "recipe_id": "white_chocolate_cream_cheese_frosting", + "position": 148 + }, + { + "recipe_id": "basic_creme_mousseline", + "position": 149 + }, + { + "recipe_id": "chocolate_creme_mousseline", + "position": 150 + }, + { + "recipe_id": "coconut_creme_mousseline", + "position": 151 + }, + { + "recipe_id": "fruit_creme_mousseline", + "position": 152 + }, + { + "recipe_id": "maple_creme_mousseline", + "position": 153 + }, + { + "recipe_id": "caramel_glaze", + "position": 154 + }, + { + "recipe_id": "lavender_vanilla_glaze", + "position": 155 + }, + { + "recipe_id": "pistachio_glaze", + "position": 156 + }, + { + "recipe_id": "shiny_red_glaze", + "position": 157 + }, + { + "recipe_id": "chocolate_mirror_glaze", + "position": 158 + }, + { + "recipe_id": "chocolate_butter_glaze", + "position": 159 + }, + { + "recipe_id": "white_chocolate_glaze", + "position": 160 + }, + { + "recipe_id": "classic_creme_brulee", + "position": 161 + }, + { + "recipe_id": "chocolate_creme_brulee", + "position": 162 + }, + { + "recipe_id": "honey_rosemary_creme_brulee", + "position": 163 + }, + { + "recipe_id": "mandarin_orange_creme_brulee", + "position": 164 + }, + { + "recipe_id": "pumpkin_creme_brulee", + "position": 165 + }, + { + "recipe_id": "lemon_curd", + "position": 166 + }, + { + "recipe_id": "lime_curd", + "position": 167 + }, + { + "recipe_id": "mandarin_orange_curd", + "position": 168 + }, + { + "recipe_id": "passion_fruit_curd", + "position": 169 + }, + { + "recipe_id": "almond_cream_with_almond_flour", + "position": 170 + }, + { + "recipe_id": "almond_cream_with_almond_paste", + "position": 171 + }, + { + "recipe_id": "cannoli_cream", + "position": 172 + }, + { + "recipe_id": "flavored_chantilly_recipes", + "position": 173 + }, + { + "recipe_id": "flavored_chantilly_recipes_p204", + "position": 174 + }, + { + "recipe_id": "gianduja", + "position": 175 + }, + { + "recipe_id": "gianduja_p205", + "position": 176 + }, + { + "recipe_id": "coconut_chiboust", + "position": 177 + }, + { + "recipe_id": "vanilla_chiboust", + "position": 178 + }, + { + "recipe_id": "flexible_chocolate_ganache", + "position": 179 + }, + { + "recipe_id": "country_cream", + "position": 180 + }, + { + "recipe_id": "chocolate_cremeux", + "position": 181 + }, + { + "recipe_id": "mocha_cremeux", + "position": 182 + }, + { + "recipe_id": "cream_cheese_flan", + "position": 183 + }, + { + "recipe_id": "tres_leches_flan", + "position": 184 + }, + { + "recipe_id": "brioche_frangipane", + "position": 185 + }, + { + "recipe_id": "chestnut_frangipane", + "position": 186 + }, + { + "recipe_id": "coconut_frangipane", + "position": 187 + }, + { + "recipe_id": "lightened_vanilla_creme_mousseline", + "position": 188 + }, + { + "recipe_id": "pastry_cream", + "position": 189 + }, + { + "recipe_id": "pistachio_almond_cream", + "position": 190 + }, + { + "recipe_id": "pots_de_creme", + "position": 191 + }, + { + "recipe_id": "stabilized_whipped_cream", + "position": 192 + }, + { + "recipe_id": "tiramisu_cream", + "position": 193 + }, + { + "recipe_id": "buttermilk_panna_cotta", + "position": 194 + }, + { + "recipe_id": "creme_fraiche_panna_cotta", + "position": 195 + }, + { + "recipe_id": "green_tea_panna_cotta", + "position": 196 + }, + { + "recipe_id": "lychee_vanilla_panna_cotta", + "position": 197 + }, + { + "recipe_id": "passion_fruit_panna_cotta", + "position": 198 + }, + { + "recipe_id": "pumpkin_panna_cotta", + "position": 199 + }, + { + "recipe_id": "vanilla_panna_cotta", + "position": 200 + }, + { + "recipe_id": "arborio_rice_pudding", + "position": 201 + }, + { + "recipe_id": "banana", + "position": 202 + }, + { + "recipe_id": "chocolate_bread_pudding_custard", + "position": 203 + }, + { + "recipe_id": "coconut_tapioca", + "position": 204 + }, + { + "recipe_id": "semolina_pudding", + "position": 205 + }, + { + "recipe_id": "bittersweet_chocolate_mousse", + "position": 206 + }, + { + "recipe_id": "chocolate_hazelnut_mousse", + "position": 207 + }, + { + "recipe_id": "gianduja_mousse", + "position": 208 + }, + { + "recipe_id": "milk_chocolate_mousse", + "position": 209 + }, + { + "recipe_id": "marquise_au_chocolat", + "position": 210 + }, + { + "recipe_id": "milk_chocolate_caramel_mousse", + "position": 211 + }, + { + "recipe_id": "white_chocolate_mousse", + "position": 212 + }, + { + "recipe_id": "triple_chocolate_mousse", + "position": 213 + }, + { + "recipe_id": "triple_chocolate_mousse_p244", + "position": 214 + }, + { + "recipe_id": "milk_chocolate", + "position": 215 + }, + { + "recipe_id": "milk_chocolate_p245", + "position": 216 + }, + { + "recipe_id": "apricot_mousse", + "position": 217 + }, + { + "recipe_id": "black_cherry_mousse", + "position": 218 + }, + { + "recipe_id": "blackberry_mousse", + "position": 219 + }, + { + "recipe_id": "blood_orange_mousse", + "position": 220 + }, + { + "recipe_id": "blueberry_mousse", + "position": 221 + }, + { + "recipe_id": "chocolate_apricot_mousse", + "position": 222 + }, + { + "recipe_id": "chocolate_raspberry_mousse", + "position": 223 + }, + { + "recipe_id": "coconut_mousse", + "position": 224 + }, + { + "recipe_id": "fresh_banana_mousse", + "position": 225 + }, + { + "recipe_id": "green_apple_mousse", + "position": 226 + }, + { + "recipe_id": "guava_mousse", + "position": 227 + }, + { + "recipe_id": "lemon_mousse_with_lemon_curd", + "position": 228 + }, + { + "recipe_id": "lime_mousse", + "position": 229 + }, + { + "recipe_id": "lychee_mousse", + "position": 230 + }, + { + "recipe_id": "mandarin_orange_mousse", + "position": 231 + }, + { + "recipe_id": "mango_mousse", + "position": 232 + }, + { + "recipe_id": "papaya_mousse", + "position": 233 + }, + { + "recipe_id": "passion_fruit_mousse", + "position": 234 + }, + { + "recipe_id": "peach_mousse", + "position": 235 + }, + { + "recipe_id": "pear_mousse", + "position": 236 + }, + { + "recipe_id": "pink_grapefruit_mousse", + "position": 237 + }, + { + "recipe_id": "plum_mousse", + "position": 238 + }, + { + "recipe_id": "pumpkin_mousse", + "position": 239 + }, + { + "recipe_id": "raspberry_mousse", + "position": 240 + }, + { + "recipe_id": "redcurrant_mousse", + "position": 241 + }, + { + "recipe_id": "rhubarb_mousse", + "position": 242 + }, + { + "recipe_id": "strawberry_mousse", + "position": 243 + }, + { + "recipe_id": "yuzu_mousse", + "position": 244 + }, + { + "recipe_id": "almond_milk_mousse", + "position": 245 + }, + { + "recipe_id": "brie_cheese_mousse", + "position": 246 + }, + { + "recipe_id": "chestnut_mousse", + "position": 247 + }, + { + "recipe_id": "caramel_mousse", + "position": 248 + }, + { + "recipe_id": "elderflower_mousse", + "position": 249 + }, + { + "recipe_id": "fromage_blanc_mousse", + "position": 250 + }, + { + "recipe_id": "espresso_mousse", + "position": 251 + }, + { + "recipe_id": "mascarpone_mousse", + "position": 252 + }, + { + "recipe_id": "peanut_butter_mousse", + "position": 253 + }, + { + "recipe_id": "poppy_seed_mousse", + "position": 254 + }, + { + "recipe_id": "yogurt_mousse", + "position": 255 + }, + { + "recipe_id": "almond_bavarian_cream", + "position": 256 + }, + { + "recipe_id": "apricot_passion_fruit_bavarian_cream", + "position": 257 + }, + { + "recipe_id": "chocolate_bavarian_cream", + "position": 258 + }, + { + "recipe_id": "coconut_bavarian_cream", + "position": 259 + }, + { + "recipe_id": "fruit_bavarian_cream", + "position": 260 + }, + { + "recipe_id": "honey_bavarian_cream", + "position": 261 + }, + { + "recipe_id": "milk_chocolate_bavarian_cream", + "position": 262 + }, + { + "recipe_id": "pistachio_bavarian_cream", + "position": 263 + }, + { + "recipe_id": "apple_blondies", + "position": 264 + }, + { + "recipe_id": "anisette_biscotti", + "position": 265 + }, + { + "recipe_id": "chocolate_pistachio_cherry_biscotti", + "position": 266 + }, + { + "recipe_id": "chocolate_brownies", + "position": 267 + }, + { + "recipe_id": "chocolate_chip_cookies", + "position": 268 + }, + { + "recipe_id": "double_chocolate_chip_cookies", + "position": 269 + }, + { + "recipe_id": "espresso_white_chocolate_chip_cookies", + "position": 270 + }, + { + "recipe_id": "whole_wheat_chocolate_chip_cookies", + "position": 271 + }, + { + "recipe_id": "valrhona_chocolate_chunk_cookies", + "position": 272 + }, + { + "recipe_id": "chocolate_crinkle_cookies", + "position": 273 + }, + { + "recipe_id": "soft_chocolate_molasses_cookies", + "position": 274 + }, + { + "recipe_id": "coconut_haystacks", + "position": 275 + }, + { + "recipe_id": "dog_biscuits", + "position": 276 + }, + { + "recipe_id": "fig_bars", + "position": 277 + }, + { + "recipe_id": "gingerbread_cookies", + "position": 278 + }, + { + "recipe_id": "green_tea_coconut_diamant", + "position": 279 + }, + { + "recipe_id": "lavender_honey_almond_bars", + "position": 280 + }, + { + "recipe_id": "macarons", + "position": 281 + }, + { + "recipe_id": "chocolate_macarons", + "position": 282 + }, + { + "recipe_id": "lemon_olive_oil_madeleines", + "position": 283 + }, + { + "recipe_id": "oatmeal_raisin_cookies", + "position": 284 + }, + { + "recipe_id": "peanut_butter_cookies", + "position": 285 + }, + { + "recipe_id": "peanut_butter_shortbread_bar_cookies", + "position": 286 + }, + { + "recipe_id": "pecan_puffs", + "position": 287 + }, + { + "recipe_id": "rugelach_dough", + "position": 288 + }, + { + "recipe_id": "black_olive_parmesan_sable_cookies", + "position": 289 + }, + { + "recipe_id": "sable_breton", + "position": 290 + }, + { + "recipe_id": "hazelnut_sable_cookies", + "position": 291 + }, + { + "recipe_id": "rosemary_cornmeal_sable_cookies", + "position": 292 + }, + { + "recipe_id": "scandinavian_butter_cookies", + "position": 293 + }, + { + "recipe_id": "snickerdoodle_cookies", + "position": 294 + }, + { + "recipe_id": "chai_spiced_snickerdoodle_bars", + "position": 295 + }, + { + "recipe_id": "chai_spiced_sugar_recipe", + "position": 296 + }, + { + "recipe_id": "speculoos", + "position": 297 + }, + { + "recipe_id": "sugar_cookies", + "position": 298 + }, + { + "recipe_id": "vanilla_crescents", + "position": 299 + }, + { + "recipe_id": "apple_paper_tuiles", + "position": 300 + }, + { + "recipe_id": "chocolate_tuiles", + "position": 301 + }, + { + "recipe_id": "chocolate_crystalline_tuiles", + "position": 302 + }, + { + "recipe_id": "chocolate_lace_tuiles", + "position": 303 + }, + { + "recipe_id": "chocolate_pastry_cream_tuiles", + "position": 304 + }, + { + "recipe_id": "coconut_tuiles", + "position": 305 + }, + { + "recipe_id": "fruit_tuiles", + "position": 306 + }, + { + "recipe_id": "honey_whole_wheat_tuiles", + "position": 307 + }, + { + "recipe_id": "lace_tuiles", + "position": 308 + }, + { + "recipe_id": "orange_tuiles", + "position": 309 + }, + { + "recipe_id": "pumpkin_tuiles", + "position": 310 + }, + { + "recipe_id": "sesame_tuiles", + "position": 311 + }, + { + "recipe_id": "vanilla_tuiles", + "position": 312 + }, + { + "recipe_id": "apple_cider_sauce", + "position": 313 + }, + { + "recipe_id": "caramel_gastrique", + "position": 314 + }, + { + "recipe_id": "classic_caramel_sauce", + "position": 315 + }, + { + "recipe_id": "crepe_suzette_caramel_sauce", + "position": 316 + }, + { + "recipe_id": "vanilla_bourbon_caramel_sauce", + "position": 317 + }, + { + "recipe_id": "chocolate_fondue", + "position": 318 + }, + { + "recipe_id": "chocolate_sauce", + "position": 319 + }, + { + "recipe_id": "shiny_chocolate_sauce", + "position": 320 + }, + { + "recipe_id": "clear_vanilla_sauce", + "position": 321 + }, + { + "recipe_id": "malt_creme_anglaise", + "position": 322 + }, + { + "recipe_id": "creme_anglaise_sous_vide_method", + "position": 323 + }, + { + "recipe_id": "hot_fudge_sauce", + "position": 324 + }, + { + "recipe_id": "lemon_basil_sauce", + "position": 325 + }, + { + "recipe_id": "mandarin_lime_sauce", + "position": 326 + }, + { + "recipe_id": "orange_saffron_sauce", + "position": 327 + }, + { + "recipe_id": "raspberry_sauce", + "position": 328 + }, + { + "recipe_id": "strawberry_passion_fruit_sauce", + "position": 329 + }, + { + "recipe_id": "toffee_sauce", + "position": 330 + }, + { + "recipe_id": "apple_cider_sabayon", + "position": 331 + }, + { + "recipe_id": "champagne_sabayon", + "position": 332 + }, + { + "recipe_id": "coffee_sabayon_cream", + "position": 333 + }, + { + "recipe_id": "dessert_wine_sabayon", + "position": 334 + }, + { + "recipe_id": "ginger_sake_sabayon", + "position": 335 + }, + { + "recipe_id": "port_wine_sabayon", + "position": 336 + }, + { + "recipe_id": "rum_sabayon", + "position": 337 + }, + { + "recipe_id": "port_cassis_poaching_liquid", + "position": 338 + }, + { + "recipe_id": "spiced_poaching_liquid", + "position": 339 + }, + { + "recipe_id": "four_spice_syrup", + "position": 340 + }, + { + "recipe_id": "red_wine_reduction", + "position": 341 + }, + { + "recipe_id": "bacon_maple_bonbon_ganache", + "position": 342 + }, + { + "recipe_id": "caramel_ginger_bonbon_ganache", + "position": 343 + }, + { + "recipe_id": "caramel_milk_chocolate_bonbon_ganache", + "position": 344 + }, + { + "recipe_id": "caramel_olive_oil_pine_nut_bonbon_ganache", + "position": 345 + }, + { + "recipe_id": "cherry_vanilla_bonbon_ganache", + "position": 346 + }, + { + "recipe_id": "chocolate_raspberry_bonbon_ganache", + "position": 347 + }, + { + "recipe_id": "coconut_bonbon_ganache", + "position": 348 + }, + { + "recipe_id": "espresso_bonbon_ganache", + "position": 349 + }, + { + "recipe_id": "lime_bonbon_ganache", + "position": 350 + }, + { + "recipe_id": "milk_chocolate_banana_bonbon_ganache", + "position": 351 + }, + { + "recipe_id": "milk_chocolate_lemon_bonbon_ganache", + "position": 352 + }, + { + "recipe_id": "milk_chocolate_raspberry_bonbon_ganache", + "position": 353 + }, + { + "recipe_id": "mint_bonbon_ganache", + "position": 354 + }, + { + "recipe_id": "passion_fruit_bonbon_ganache", + "position": 355 + }, + { + "recipe_id": "pistachio_bonbon_ganache", + "position": 356 + }, + { + "recipe_id": "spice_bonbon_ganache", + "position": 357 + }, + { + "recipe_id": "sweet_potato_caramel_bonbon_ganache", + "position": 358 + }, + { + "recipe_id": "tea_infused_chocolate_bonbon_ganache", + "position": 359 + }, + { + "recipe_id": "tequila_lime_bonbon_ganache", + "position": 360 + }, + { + "recipe_id": "valrhona_azelia_praline_bonbon_ganache", + "position": 361 + }, + { + "recipe_id": "vanilla_rum_bonbon_ganache", + "position": 362 + }, + { + "recipe_id": "classic_chocolate_truffle_ganache", + "position": 363 + }, + { + "recipe_id": "orange_truffle_ganache", + "position": 364 + }, + { + "recipe_id": "praline_truffle_ganache", + "position": 365 + }, + { + "recipe_id": "dark_chocolate_praline_feuilletine", + "position": 366 + }, + { + "recipe_id": "milk_chocolate_praline_feuilletine", + "position": 367 + }, + { + "recipe_id": "peanut_butter_feuilletine", + "position": 368 + }, + { + "recipe_id": "pistachio_white_chocolate_feuilletine", + "position": 369 + }, + { + "recipe_id": "praline_feuilletine_with_cocoa_nibs", + "position": 370 + }, + { + "recipe_id": "almond_toffee", + "position": 371 + }, + { + "recipe_id": "candied_apple_caramel", + "position": 372 + }, + { + "recipe_id": "caramelized_nuts", + "position": 373 + }, + { + "recipe_id": "chef_michael_mignano_s_famous_mignano_bar", + "position": 374 + }, + { + "recipe_id": "ganache", + "position": 375 + }, + { + "recipe_id": "ganache_p415", + "position": 376 + }, + { + "recipe_id": "famous_mignano_bar", + "position": 377 + }, + { + "recipe_id": "marshmallows", + "position": 378 + }, + { + "recipe_id": "nougat_de_montelimar", + "position": 379 + }, + { + "recipe_id": "peanut_brittle", + "position": 380 + }, + { + "recipe_id": "sesame_ginger_brittle", + "position": 381 + }, + { + "recipe_id": "soft_apple_cider_caramels", + "position": 382 + }, + { + "recipe_id": "soft_chocolate_caramels", + "position": 383 + }, + { + "recipe_id": "spiced_candied_peanuts", + "position": 384 + }, + { + "recipe_id": "armagnac_prune_ice_cream", + "position": 385 + }, + { + "recipe_id": "basic_ice_cream_base", + "position": 386 + }, + { + "recipe_id": "black_sesame_ice_cream", + "position": 387 + }, + { + "recipe_id": "brioche_ice_cream", + "position": 388 + }, + { + "recipe_id": "caramel_ice_cream", + "position": 389 + }, + { + "recipe_id": "chocolate_ice_cream", + "position": 390 + }, + { + "recipe_id": "cinnamon_ice_cream", + "position": 391 + }, + { + "recipe_id": "goat_milk_ice_cream", + "position": 392 + }, + { + "recipe_id": "coffee_ice_cream", + "position": 393 + }, + { + "recipe_id": "honey_ice_cream", + "position": 394 + }, + { + "recipe_id": "rose_petal_ice_cream", + "position": 395 + }, + { + "recipe_id": "pumpkin_ice_cream", + "position": 396 + }, + { + "recipe_id": "strawberry_ice_cream", + "position": 397 + }, + { + "recipe_id": "sweet_corn_ice_cream", + "position": 398 + }, + { + "recipe_id": "campari_sorbet", + "position": 399 + }, + { + "recipe_id": "fromage_blanc_sorbet", + "position": 400 + }, + { + "recipe_id": "lemon_sorbet", + "position": 401 + }, + { + "recipe_id": "mandarin_champagne_sorbet", + "position": 402 + }, + { + "recipe_id": "mango_sorbet", + "position": 403 + }, + { + "recipe_id": "mascarpone_sorbet", + "position": 404 + }, + { + "recipe_id": "raspberry_sorbet", + "position": 405 + }, + { + "recipe_id": "savory_tomato_sorbet", + "position": 406 + }, + { + "recipe_id": "strawberry_passion_fruit_sorbet", + "position": 407 + }, + { + "recipe_id": "valrhona_guanaja_chocolate_sorbet", + "position": 408 + }, + { + "recipe_id": "watermelon_sorbet", + "position": 409 + }, + { + "recipe_id": "blackberry_granite", + "position": 410 + }, + { + "recipe_id": "champagne_passion_fruit_granite", + "position": 411 + }, + { + "recipe_id": "cranberry_granite", + "position": 412 + }, + { + "recipe_id": "espresso_granite", + "position": 413 + }, + { + "recipe_id": "lemon_granite", + "position": 414 + }, + { + "recipe_id": "mint_granite", + "position": 415 + }, + { + "recipe_id": "raspberry_fig_sangria_granite", + "position": 416 + }, + { + "recipe_id": "banana_peanut_butter_semifreddo", + "position": 417 + }, + { + "recipe_id": "chestnut_semifreddo", + "position": 418 + }, + { + "recipe_id": "chocolate_semifreddo", + "position": 419 + }, + { + "recipe_id": "grand_marnier_semifreddo", + "position": 420 + }, + { + "recipe_id": "crispy_hazelnut_semifreddo", + "position": 421 + }, + { + "recipe_id": "nougat_semifreddo", + "position": 422 + }, + { + "recipe_id": "classic_ice_cream_sandwich_cookie", + "position": 423 + }, + { + "recipe_id": "sorbet_syrup", + "position": 424 + }, + { + "recipe_id": "wet_nut_topping", + "position": 425 + }, + { + "recipe_id": "bagels", + "position": 426 + }, + { + "recipe_id": "whole_wheat_bagels", + "position": 427 + }, + { + "recipe_id": "banana_bread", + "position": 428 + }, + { + "recipe_id": "corn_bread", + "position": 429 + }, + { + "recipe_id": "zucchini_bread", + "position": 430 + }, + { + "recipe_id": "brioche", + "position": 431 + }, + { + "recipe_id": "pumpkin_brioche", + "position": 432 + }, + { + "recipe_id": "chocolate_babka", + "position": 433 + }, + { + "recipe_id": "churros", + "position": 434 + }, + { + "recipe_id": "coffee_cake", + "position": 435 + }, + { + "recipe_id": "croissant_dough", + "position": 436 + }, + { + "recipe_id": "danish_pastry_dough", + "position": 437 + }, + { + "recipe_id": "apple_cider_doughnuts", + "position": 438 + }, + { + "recipe_id": "yeast_doughnuts", + "position": 439 + }, + { + "recipe_id": "english_muffins", + "position": 440 + }, + { + "recipe_id": "crepe_batter", + "position": 441 + }, + { + "recipe_id": "fruit_nut_granola", + "position": 442 + }, + { + "recipe_id": "olive_oil_maple_granola", + "position": 443 + }, + { + "recipe_id": "granola_buttermilk_waffles", + "position": 444 + }, + { + "recipe_id": "kouign_amann", + "position": 445 + }, + { + "recipe_id": "apple_muffins", + "position": 446 + }, + { + "recipe_id": "blueberry_muffins", + "position": 447 + }, + { + "recipe_id": "bran_muffins", + "position": 448 + }, + { + "recipe_id": "corn_muffins", + "position": 449 + }, + { + "recipe_id": "lemon_poppy_seed_muffins", + "position": 450 + }, + { + "recipe_id": "pumpkin_muffins", + "position": 451 + }, + { + "recipe_id": "vegan_tofu_muffins", + "position": 452 + }, + { + "recipe_id": "north_african_honeycomb_pancakes", + "position": 453 + }, + { + "recipe_id": "panettone", + "position": 454 + }, + { + "recipe_id": "raisin_challah", + "position": 455 + }, + { + "recipe_id": "scones", + "position": 456 + }, + { + "recipe_id": "stollen", + "position": 457 + }, + { + "recipe_id": "swiss_muesli", + "position": 458 + }, + { + "recipe_id": "buttermilk_biscuits", + "position": 459 + }, + { + "recipe_id": "gluten_free_ham_cheese_buttermilk_biscuits", + "position": 460 + }, + { + "recipe_id": "cheddar_cheese_crackers", + "position": 461 + }, + { + "recipe_id": "roquefort_walnut_crackers", + "position": 462 + }, + { + "recipe_id": "crisp_flatbread", + "position": 463 + }, + { + "recipe_id": "focaccia", + "position": 464 + }, + { + "recipe_id": "cheese_focaccia", + "position": 465 + }, + { + "recipe_id": "fougasse", + "position": 466 + }, + { + "recipe_id": "irish_soda_bread", + "position": 467 + }, + { + "recipe_id": "kaiser_rolls", + "position": 468 + }, + { + "recipe_id": "kalamata_olive_bread_with_herbes_de_provence", + "position": 469 + }, + { + "recipe_id": "naan_indian_flatbread", + "position": 470 + }, + { + "recipe_id": "oatmeal_walnut_bread", + "position": 471 + }, + { + "recipe_id": "pain_de_mie", + "position": 472 + }, + { + "recipe_id": "pain_viennois", + "position": 473 + }, + { + "recipe_id": "pizza_dough", + "position": 474 + }, + { + "recipe_id": "potato_rolls", + "position": 475 + }, + { + "recipe_id": "soft_dinner_rolls", + "position": 476 + }, + { + "recipe_id": "buttered_soft_pretzels", + "position": 477 + } + ] + } + ], + "inventory_locations": [ + { + "id": "loc_walk_in", + "name": "Walk-in Cooler", + "position": 1, + "deleted_at": null + }, + { + "id": "loc_dry_storage", + "name": "Dry Storage", + "position": 2, + "deleted_at": null + }, + { + "id": "loc_freezer", + "name": "Freezer", + "position": 3, + "deleted_at": null + }, + { + "id": "loc_bar", + "name": "Bar & Service", + "position": 4, + "deleted_at": null + }, + { + "id": "loc_line", + "name": "Prep Line", + "position": 5, + "deleted_at": null + } + ], + "inventory_counts": [ + { + "id": "count_20260817120000", + "title": "Test Week Count", + "counted_at": "2026-08-17T12:00:00Z", + "status": "open", + "notes": "Automated test session", + "created_at": "2026-08-17T18:16:08.642Z", + "deleted_at": null, + "items": [ + { + "location_id": "loc_walk_in", + "ingredient_id": "agar", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "allspice", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "almond_extract", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "apricot_jam", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "ascorbic_acid", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "avocado", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "bacon", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "baking_powder", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "baking_soda", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "banana", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "barley_malt_powder", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "barley_malt_syrup", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "basil", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "bbq_sauce_hickory_smoke", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "beef_base", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "beer", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "black_pepper_ground", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "blueberry", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "bread_crumbs", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "brown_sugar", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "butter", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "butter_extract", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "butter_flavored_shortening", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "buttermilk", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "buttermilk_powder", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "canola_oil", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "cardamom", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "carrot", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "cayenne", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "cheddar_cheese", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "chicken_base", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "chicken_breast", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "chili_crisp", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "chili_powder", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "chipotle_pepper_adobo", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "chipotle_pepper_sauce_tobasco", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "chipotle_powder", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "cilantro", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "cinnamon", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "citric_acid", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "cloves", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "cocoa_powder", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "coconut_milk", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "confectioners_sugar", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "cooked_pinto_beans_drained", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "coriander", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "corn_syrup_light", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "cornstarch", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "cream_cheese", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "cumin", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "dark_chocolate", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "dark_cocoa_powder", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "dextrose", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "dill", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "dried_chilis", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "egg_whites", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "egg_whole", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "egg_yolk", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "espresso_powder", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "fennel_seed", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "flour_all_purpose", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "flour_bread", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "flour_cake", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "flour_corn", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "flour_pastry", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "flour_whole_wheat", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "garlic", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "garlic_dehydrated_minced", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "garlic_powder", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "gelatin", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "ginger", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "ginger_ground", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "glucose", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "graham_cracker", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "green_onion", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "ground_beef_73_27_raw", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "heavy_cream", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "hidden_valley_ranch_dry_seasoning", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "honey", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "hot_cherry_peppers", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "hot_pepper_juice", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "hot_sauce", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "imitation_crab", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "instant_yeast", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "italian_sausage", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "jalapeno_peppers_pickled", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "ketchup", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "lactic_acid_88", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "lard", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "lecithin", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "lecithin_liquid_soy", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "lecithin_powder", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "lemon_juice", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "lemon_zest", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "lime_juice", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "liquid_sunflower_lecithin", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "mace_nutmeg", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "maple_extract", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "marjoram", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "mayonnaise", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "michiu_wine", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "milk", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "milk_powder_whole", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "mint_dried", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "molasses", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "monterey_jack_cheese", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "mozzarella_cheese", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "msg", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "mustard_dijon", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "mustard_yellow", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "nonfat_milk_powder", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "nutmeg", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "oats", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "olive_oil", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "onion_dehydrated_flake", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "onion_dehydrated_powder", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "onion_powder", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "onion_yellow", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "orange_extract", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "orange_juice", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "orange_juice_concentrate", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "orange_zest", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "oregano", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "oyster_sauce", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "paprika", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "parmesan_cheese", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "parsley", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "peanut_butter", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "pickle_juice", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "pineapple_crushed_in_juice", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "pinto_beans_dry_uncooked", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "pistachio_nuts", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "potato_russet", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "provolone_cheese", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "pumpkin_puree", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "raisins", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "ranch", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "raspberry", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "raw_broccoli", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "red_curry_paste", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "rice", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "rice_chex", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "rice_cooked", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "salt", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "sambal_oelek", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "semisweet_chocolate", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "sesame_oil", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "shaoxing_wine", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "sharp_cheddar_cheese", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "shortening", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "sodium_citrate", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "sour_cream", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "soy_sauce_dark", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "soy_sauce_light", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "soy_sauce_light_low_sodium", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "soybean_oil", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "spice_blend", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "sriracha", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "sugar", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "sweet_potato_cooked", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "tahini", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "tapioca_starch", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "tomato_bouillon", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "tomato_crushed_in_juice", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "tomato_paste", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "tomato_puree", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "vanilla_extract", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "vegetables_mixed", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "vinegar_5", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "vinegar_apple_cider", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "vinegar_balsamic", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "vinegar_rice", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "vodka", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "walnut", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "water", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "water_ice", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "wheat_gluten_70_80", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "white_chocolate", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "white_pepper", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "worschestershire_sauce", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "xanthan_gum", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "yogurt", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + }, + { + "location_id": "loc_walk_in", + "ingredient_id": "zaatar", + "quantity": 0, + "unit_id": "gram", + "unit_cost": 0, + "extended_cost": 0 + } + ] + } + ] + } +} \ No newline at end of file diff --git a/package.json b/package.json index c35b4af..4467233 100644 --- a/package.json +++ b/package.json @@ -21,6 +21,7 @@ "test": "vitest run", "db:backup": "node scripts/backup.mjs export", "db:restore": "node scripts/backup.mjs import", + "db:reset": "node scripts/backup.mjs import data/recipe-book-backup.json", "db:validate": "node scripts/backup.mjs validate", "mcp": "node scripts/mcp-server.mjs" }, diff --git a/scripts/backup.mjs b/scripts/backup.mjs index 8002be6..963fd59 100644 --- a/scripts/backup.mjs +++ b/scripts/backup.mjs @@ -6,6 +6,7 @@ import { DatabaseSync } from "node:sqlite"; const root = path.resolve(import.meta.dirname, ".."); const databasePath = path.join(root, "var", "recipe-book.sqlite"); +const defaultSeedPath = path.join(root, "data", "recipe-book-backup.json"); // Dynamically import compiled or source backup engine import { exportDatabase } from "../src/lib/backup/export-database.ts"; @@ -18,12 +19,12 @@ Formulation Database Backup & Restore Tool Usage: node scripts/backup.mjs export [output-path.json] - node scripts/backup.mjs import [--replace | --merge] + node scripts/backup.mjs import [input-path.json] [--replace | --merge] node scripts/backup.mjs validate Commands: export Extracts all 25 SQLite tables into a standardized JSON backup bundle. - import Restores or merges a backup bundle into the active SQLite database. + import Restores or merges a backup bundle into the active SQLite database (defaults to data/recipe-book-backup.json). validate Checks a backup JSON file for schema integrity without modifying the database. Options: @@ -32,6 +33,21 @@ Options: `); } +function ensureDatabaseSchema(db) { + const migrationsDir = path.join(root, "migrations"); + if (fs.existsSync(migrationsDir)) { + const files = fs.readdirSync(migrationsDir).filter((f) => f.endsWith(".sql")).sort(); + for (const file of files) { + try { + const sql = fs.readFileSync(path.join(migrationsDir, file), "utf8"); + db.exec(sql); + } catch { + // Schema migrations may already be partially or fully applied + } + } + } +} + async function main() { const args = process.argv.slice(2); const command = args[0]?.toLowerCase(); @@ -67,11 +83,7 @@ async function main() { } if (command === "validate") { - const inputPath = args[1]; - if (!inputPath) { - console.error("Error: Please specify the path to a backup JSON file to validate."); - process.exit(1); - } + const inputPath = args[1] || defaultSeedPath; const resolvedPath = path.resolve(process.cwd(), inputPath); if (!fs.existsSync(resolvedPath)) { console.error(`Error: File not found: ${resolvedPath}`); @@ -101,7 +113,8 @@ async function main() { } if (command === "import") { - const inputPath = args[1]; + const fileArg = args.find((arg, idx) => idx > 0 && !arg.startsWith("--")); + const inputPath = fileArg || (fs.existsSync(defaultSeedPath) ? defaultSeedPath : null); if (!inputPath) { console.error("Error: Please specify the path to a backup JSON file to import."); process.exit(1); @@ -115,12 +128,10 @@ async function main() { const mode = args.includes("--merge") ? "merge" : "replace"; const content = JSON.parse(fs.readFileSync(resolvedPath, "utf8")); - if (!fs.existsSync(databasePath)) { - console.error(`Error: Database not found at ${databasePath}`); - process.exit(1); - } - + fs.mkdirSync(path.dirname(databasePath), { recursive: true }); const db = new DatabaseSync(databasePath); + ensureDatabaseSchema(db); + try { console.log(`Importing '${inputPath}' into database (mode: ${mode})...`); const result = importDatabase(db, content, { mode, rebuildProjections: true });