diff --git a/data/recipe-book-backup.json b/data/recipe-book-backup.json index 8647706..f78b922 100644 --- a/data/recipe-book-backup.json +++ b/data/recipe-book-backup.json @@ -2,20 +2,20 @@ "$schema": "https://formulation.app/schemas/backup-v1.json", "format_version": "1.0.0", "app_version": "2.0.0", - "exported_at": "2026-08-20T18:54:08.164Z", + "exported_at": "2026-08-31T01:31:55.860Z", "summary": { "units_count": 30, "equipment_count": 13, "prep_actions_count": 7, - "ingredients_count": 263, + "ingredients_count": 193, "recipes_count": 154, "purchase_items_count": 39, "price_observations_count": 53, - "source_mappings_count": 165, + "source_mappings_count": 170, "collections_count": 0, "inventory_locations_count": 5, "inventory_counts_count": 1, - "total_records_count": 677 + "total_records_count": 612 }, "data": { "units": [ @@ -594,7 +594,7 @@ "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\":[]}", + "source_json": "{\"schema_version\":2,\"id\":\"ascorbic_acid\",\"name\":\"ascorbic acid\",\"status\":\"active\",\"categories\":[\"acid\"],\"aliases\":[],\"nutrition_mapping_ids\":[\"custom_nutrition_ascorbic_acid\"],\"allergen_mapping_ids\":[]}", "deleted_at": null, "aliases": [], "prep_actions": [], @@ -1378,6 +1378,26 @@ "measure_conversions": [], "density_measurements": [] }, + { + "id": "chicken_thigh", + "schema_version": 2, + "name": "chicken thigh", + "status": "active", + "categories_json": "[]", + "tags_json": "[]", + "description": null, + "source_json": "{\"source_type\":\"ai_import\",\"title\":\"Recipe ingredient import\",\"reviewed\":false,\"name\":\"Chicken, thigh, boneless, skinless, raw\",\"nutrition_mapping_ids\":[\"usda_fdc_chicken_thigh_2646171\"]}", + "deleted_at": null, + "aliases": [ + { + "name": "chicken thigh", + "kind": "common" + } + ], + "prep_actions": [], + "measure_conversions": [], + "density_measurements": [] + }, { "id": "chili_crisp", "schema_version": 2, @@ -4617,14 +4637,19 @@ { "id": "red_onion", "schema_version": 2, - "name": "red onion", + "name": "Red Onion", "status": "active", "categories_json": "[]", "tags_json": "[]", "description": null, - "source_json": "{\"source_type\":\"ai_import\",\"title\":\"Recipe ingredient import\",\"reviewed\":false}", + "source_json": "{\"source_type\":\"ai_import\",\"title\":\"Recipe ingredient import\",\"reviewed\":false,\"name\":\"Onions, red, raw\",\"nutrition_mapping_ids\":[\"usda_fdc_red_onion_790577\"]}", "deleted_at": null, - "aliases": [], + "aliases": [ + { + "name": "red onion", + "kind": "common" + } + ], "prep_actions": [], "measure_conversions": [], "density_measurements": [] @@ -5043,7 +5068,7 @@ "aliases": [ { "name": "soy sauce, light", - "kind": "search" + "kind": "common" } ], "prep_actions": [], @@ -5248,9 +5273,14 @@ "categories_json": "[\"pantry\",\"baking\"]", "tags_json": "[]", "description": null, - "source_json": "{}", + "source_json": "{\"name\":\"Corn, sweet, yellow and white kernels,  fresh, raw\",\"nutrition_mapping_ids\":[\"usda_fdc_sweet_corn_2710826\"]}", "deleted_at": null, - "aliases": [], + "aliases": [ + { + "name": "Sweet Corn", + "kind": "common" + } + ], "prep_actions": [], "measure_conversions": [], "density_measurements": [] @@ -5361,2207 +5391,6 @@ } ] }, - { - "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_68", - "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:25:38", - "aliases": [ - { - "name": "Matcha", - "kind": "search" - } - ], - "prep_actions": [], - "measure_conversions": [], - "density_measurements": [ - { - "id": "density_test_matcha_powder_68", - "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_69", - "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:27:49", - "aliases": [ - { - "name": "Matcha", - "kind": "search" - } - ], - "prep_actions": [], - "measure_conversions": [], - "density_measurements": [ - { - "id": "density_test_matcha_powder_69", - "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_70", - "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:28:56", - "aliases": [ - { - "name": "Matcha", - "kind": "search" - } - ], - "prep_actions": [], - "measure_conversions": [], - "density_measurements": [ - { - "id": "density_test_matcha_powder_70", - "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_71", - "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-19 14:49:42", - "aliases": [ - { - "name": "Matcha", - "kind": "search" - } - ], - "prep_actions": [], - "measure_conversions": [], - "density_measurements": [ - { - "id": "density_test_matcha_powder_71", - "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_72", - "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-20 18:04:44", - "aliases": [ - { - "name": "Matcha", - "kind": "search" - } - ], - "prep_actions": [], - "measure_conversions": [], - "density_measurements": [ - { - "id": "density_test_matcha_powder_72", - "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, @@ -7969,7 +5798,7 @@ "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\":[]}", + "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\":[\"custom_nutrition_water\"],\"allergen_mapping_ids\":[],\"measure_conversions\":[]}", "deleted_at": null, "aliases": [], "prep_actions": [], @@ -8225,681 +6054,7 @@ ], "recipes": [ { - "id": "0_recipe_test", - "schema_version": 2, - "save_version": 21, - "title": "Chipotle Bowl", - "summary": null, - "categories_json": "[]", - "tags_json": "[]", - "yield_quantity": 791, - "yield_unit_id": "gram", - "yield_servings": null, - "yield_basis": "theoretical", - "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_original\":{\"quantity\":1,\"unit_id\":\"gram\",\"basis\":null}}", - "auto_yield": 1, - "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_28913a8c", - "position": 1, - "ingredient_id": null, - "subrecipe_id": "chipotle_pinto_beans", - "quantity": 160, - "unit_id": "gram", - "percentage": 20.2275600505689, - "basis_member": 0, - "optional": 0, - "notes": null, - "nutrition_retention_factor": 1, - "prep_actions": [] - }, - { - "component_id": "component_74d895d5", - "id": "line_2b16648d", - "position": 2, - "ingredient_id": null, - "subrecipe_id": "cilantro_lime_rice", - "quantity": 160, - "unit_id": "gram", - "percentage": 20.2275600505689, - "basis_member": 0, - "optional": 0, - "notes": null, - "nutrition_retention_factor": 1, - "prep_actions": [] - }, - { - "component_id": "component_74d895d5", - "id": "line_186ec837", - "position": 3, - "ingredient_id": null, - "subrecipe_id": "chipotle_adobo_chicken_breast", - "quantity": 160, - "unit_id": "gram", - "percentage": 20.2275600505689, - "basis_member": 0, - "optional": 0, - "notes": null, - "nutrition_retention_factor": 1, - "prep_actions": [] - }, - { - "component_id": "component_74d895d5", - "id": "line_71260474", - "position": 4, - "ingredient_id": null, - "subrecipe_id": "chipotle_roasted_chili_corn_salsa", - "quantity": 160, - "unit_id": "gram", - "percentage": 20.2275600505689, - "basis_member": 0, - "optional": 0, - "notes": null, - "nutrition_retention_factor": 1, - "prep_actions": [] - }, - { - "component_id": "component_74d895d5", - "id": "line_57ce21d3", - "position": 5, - "ingredient_id": "sour_cream", - "subrecipe_id": null, - "quantity": 75, - "unit_id": "gram", - "percentage": 9.481668773704172, - "basis_member": 0, - "optional": 0, - "notes": null, - "nutrition_retention_factor": 1, - "prep_actions": [] - }, - { - "component_id": "component_74d895d5", - "id": "line_28d5d649", - "position": 6, - "ingredient_id": "cheddar_cheese", - "subrecipe_id": null, - "quantity": 38, - "unit_id": "gram", - "percentage": 4.804045512010114, - "basis_member": 0, - "optional": 0, - "notes": "shredded", - "nutrition_retention_factor": 1, - "prep_actions": [] - }, - { - "component_id": "component_74d895d5", - "id": "line_a01bccb2", - "position": 7, - "ingredient_id": null, - "subrecipe_id": "guacamole", - "quantity": 38, - "unit_id": "gram", - "percentage": 4.804045512010114, - "basis_member": 0, - "optional": 0, - "notes": null, - "nutrition_retention_factor": 1, - "prep_actions": [] - } - ], - "steps": [ - { - "id": "step_1", - "position": 1, - "instruction": "Add", - "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": "2026-08-20 18:13:11", - "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": "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": "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": "auntie_annes_pretzels", + "id": "01m0jwsd7a0btwjxc8bm0knb9s", "schema_version": 2, "save_version": 1, "title": "Auntie Anne's Pretzels", @@ -8915,7 +6070,7 @@ "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.\"]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7a0btwjxc8bm0knb9s\",\"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, @@ -9106,14 +6261,14 @@ "media": [] }, { - "id": "bagel", + "id": "01m0jwsd7a1h51d9e7ywttfy6e", "schema_version": 2, - "save_version": 1, - "title": "Bagel", + "save_version": 3, + "title": "Alkaline Soy Meat Marinade", "summary": null, - "categories_json": "[\"bread\"]", - "tags_json": "[\"bagel\"]", - "yield_quantity": 160.6, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"marinade\",\"chicken\"]", + "yield_quantity": 107.48, "yield_unit_id": "gram", "yield_servings": null, "yield_basis": "theoretical", @@ -9122,7 +6277,747 @@ "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.\"]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7a1h51d9e7ywttfy6e\",\"title\":\"Alkaline Soy Meat Marinade\",\"categories\":[\"sauce\"],\"tags\":[\"marinade\",\"chicken\"],\"yield\":{\"amount\":{\"quantity\":107.48,\"unit_id\":\"gram\"},\"basis\":\"theoretical\",\"serving_size\":{\"quantity\":100,\"unit_id\":\"gram\"}},\"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": 93.04056568663938, + "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": 5.935988090807593, + "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.0234462225530334, + "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": "01m0jwsd7a1r5vzy0jdsm8hven", + "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\":\"01m0jwsd7a1r5vzy0jdsm8hven\",\"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\":\"01m0jwsd7ckd4dka2x20j31wcd\"},\"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": "01m0jwsd7a2fwbrch9qqe4v479", + "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\":\"01m0jwsd7a2fwbrch9qqe4v479\",\"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": "01m0jwsd7a31pf6styw93gyn72", + "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\":\"01m0jwsd7a31pf6styw93gyn72\",\"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": "01m0jwsd7a3f4bek3dfzx5k0dr", + "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\":\"01m0jwsd7atrckrx0yxmdxgep5\",\"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": "2026-08-20 18:13:11", + "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": "01m0jwsd7a3kvtrqygrynb2sew", + "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\":\"01m0jwsd7a3kvtrqygrynb2sew\",\"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, @@ -9158,9 +7053,9 @@ "position": 2, "ingredient_id": "water", "subrecipe_id": null, - "quantity": 56, + "quantity": 60, "unit_id": "gram", - "percentage": 56, + "percentage": 60, "basis_member": 0, "optional": 0, "notes": null, @@ -9169,8 +7064,53 @@ }, { "component_id": "main", - "id": "line_03_instant_yeast", + "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, @@ -9184,28 +7124,13 @@ }, { "component_id": "main", - "id": "line_04_salt", - "position": 4, - "ingredient_id": "salt", + "id": "line_07_sugar", + "position": 7, + "ingredient_id": "sugar", "subrecipe_id": null, - "quantity": 2, + "quantity": 1, "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, + "percentage": 1, "basis_member": 0, "optional": 0, "notes": null, @@ -9226,14 +7151,14 @@ "media": [] }, { - "id": "baileys_sourdough", + "id": "01m0jwsd7a6v2147ypzkcj3qq3", "schema_version": 2, "save_version": 1, - "title": "Bailey's Sourdough", + "title": "Carrot Soup", "summary": null, - "categories_json": "[\"bread\"]", - "tags_json": "[\"sourdough\",\"loaf\"]", - "yield_quantity": 197, + "categories_json": "[\"soup\"]", + "tags_json": "[]", + "yield_quantity": 167.5, "yield_unit_id": "gram", "yield_servings": null, "yield_basis": "theoretical", @@ -9242,15 +7167,12 @@ "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.\"]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7a6v2147ypzkcj3qq3\",\"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": [ - "oven", - "whisk" - ], + "equipment_ids": [], "components": [ { "id": "main", @@ -9262,9 +7184,9 @@ "items": [ { "component_id": "main", - "id": "line_01_flour_bread", + "id": "line_01_carrot", "position": 1, - "ingredient_id": "flour_bread", + "ingredient_id": "carrot", "subrecipe_id": null, "quantity": 100, "unit_id": "gram", @@ -9281,9 +7203,9 @@ "position": 2, "ingredient_id": "water", "subrecipe_id": null, - "quantity": 75, + "quantity": 35, "unit_id": "gram", - "percentage": 75, + "percentage": 35, "basis_member": 0, "optional": 0, "notes": null, @@ -9292,13 +7214,13 @@ }, { "component_id": "main", - "id": "line_03_sourdough_starter", + "id": "line_03_butter", "position": 3, - "ingredient_id": null, - "subrecipe_id": "sourdough_starter", - "quantity": 20, + "ingredient_id": "butter", + "subrecipe_id": null, + "quantity": 31, "unit_id": "gram", - "percentage": 20, + "percentage": 31, "basis_member": 0, "optional": 0, "notes": null, @@ -9311,9 +7233,24 @@ "position": 4, "ingredient_id": "salt", "subrecipe_id": null, - "quantity": 2, + "quantity": 1, "unit_id": "gram", - "percentage": 2, + "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, @@ -9325,154 +7262,14 @@ { "id": "step_01", "position": 1, - "instruction": "Mix water and starter, whisk.", + "instruction": "Cook in pressure cooker.", "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.", + "instruction": "Blend smooth.", "critical_control_point": 0, "equipment_ids": [] } @@ -9481,7 +7278,446 @@ "media": [] }, { - "id": "beer_cheese", + "id": "01m0jwsd7a93axvh1qk2bkr6er", + "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\":\"01m0jwsd7a93axvh1qk2bkr6er\",\"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": "01m0jwsd7a9rrv3j8khgq716k1", + "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\":\"01m0jwsd7a9rrv3j8khgq716k1\",\"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": "01m0jwsd7ac3hydaqpjcnhajv7", "schema_version": 2, "save_version": 1, "title": "Beer Cheese", @@ -9497,7 +7733,7 @@ "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.\"]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7ac3hydaqpjcnhajv7\",\"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\":\"01m0jwsd7cvbpkmyh9nkhmj9ey\"},\"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, @@ -9519,7 +7755,7 @@ "id": "line_01_white_cheddar_parmesan_blend", "position": 1, "ingredient_id": null, - "subrecipe_id": "white_cheddar_parmesan_blend", + "subrecipe_id": "01m0jwsd7cvbpkmyh9nkhmj9ey", "quantity": 100, "unit_id": "gram", "percentage": 100, @@ -9721,705 +7957,7 @@ "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": "blueberry_raspberry_blend", + "id": "01m0jwsd7acd23pwp7cjx18bpx", "schema_version": 2, "save_version": 1, "title": "Blueberry–Raspberry Blend", @@ -10435,7 +7973,7 @@ "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\"]}]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7acd23pwp7cjx18bpx\",\"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, @@ -10494,7 +8032,531 @@ "media": [] }, { - "id": "broccoli_cheddar_soup", + "id": "01m0jwsd7adgz1egjq3t891r73", + "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\":\"01m0jwsd7adgz1egjq3t891r73\",\"title\":\"Bailey's Sourdough\",\"categories\":[\"bread\"],\"tags\":[\"01m0jwsd7cg86mj522tzhmna9d\",\"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\":\"01m0jwsd7c6tphj3dx584v1t8s\"},\"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": "01m0jwsd7c6tphj3dx584v1t8s", + "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": "01m0jwsd7ah3q17p7fnq7ydcps", + "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\":\"01m0jwsd7ah3q17p7fnq7ydcps\",\"title\":\"Bagel\",\"categories\":[\"bread\"],\"tags\":[\"01m0jwsd7ah3q17p7fnq7ydcps\"],\"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": "01m0jwsd7ahfddnphrgf567nm9", + "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\":\"01m0jwsd7ahfddnphrgf567nm9\",\"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": "01m0jwsd7ak42k20x21f2ehn9z", "schema_version": 2, "save_version": 1, "title": "Broccoli Cheddar Soup", @@ -10510,7 +8572,7 @@ "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.\"]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7ak42k20x21f2ehn9z\",\"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, @@ -10862,14 +8924,14 @@ "media": [] }, { - "id": "buttercream", + "id": "01m0jwsd7an6b12s6xjbffbkwc", "schema_version": 2, "save_version": 1, - "title": "Buttercream", + "title": "Caramelized Onion", "summary": null, - "categories_json": "[\"sauce\"]", - "tags_json": "[\"icing\"]", - "yield_quantity": 168.5, + "categories_json": "[\"side\"]", + "tags_json": "[\"onion\"]", + "yield_quantity": 115.8, "yield_unit_id": "gram", "yield_servings": null, "yield_basis": "theoretical", @@ -10878,7 +8940,7 @@ "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.\"]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7an6b12s6xjbffbkwc\",\"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, @@ -10895,9 +8957,9 @@ "items": [ { "component_id": "main", - "id": "line_01_confectioners_sugar", + "id": "line_01_onion_raw", "position": 1, - "ingredient_id": "confectioners_sugar", + "ingredient_id": "onion_yellow", "subrecipe_id": null, "quantity": 100, "unit_id": "gram", @@ -10910,9 +8972,217 @@ }, { "component_id": "main", - "id": "line_02_butter", + "id": "line_02_water", "position": 2, - "ingredient_id": "butter", + "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": "01m0jwsd7arsfggn02r5v3zge8", + "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\":\"01m0jwsd7arsfggn02r5v3zge8\",\"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\":\"01m0jwsd7acd23pwp7cjx18bpx\"},\"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", @@ -10925,13 +9195,13 @@ }, { "component_id": "main", - "id": "line_03_shortening", - "position": 3, - "ingredient_id": "shortening", - "subrecipe_id": null, - "quantity": 20, + "id": "line_05_frozen_berries", + "position": 5, + "ingredient_id": null, + "subrecipe_id": "01m0jwsd7acd23pwp7cjx18bpx", + "quantity": 40, "unit_id": "gram", - "percentage": 20, + "percentage": 40, "basis_member": 0, "optional": 0, "notes": null, @@ -10940,13 +9210,13 @@ }, { "component_id": "main", - "id": "line_04_egg_whole", - "position": 4, + "id": "line_06_egg_whole", + "position": 6, "ingredient_id": "egg_whole", "subrecipe_id": null, - "quantity": 7.5, + "quantity": 30, "unit_id": "gram", - "percentage": 7.5, + "percentage": 30, "basis_member": 0, "optional": 0, "notes": null, @@ -10955,28 +9225,58 @@ }, { "component_id": "main", - "id": "line_05_vanilla_extract", - "position": 5, + "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": 0.6, + "quantity": 2.5, "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, + "percentage": 2.5, "basis_member": 0, "optional": 0, "notes": null, @@ -10988,21 +9288,35 @@ { "id": "step_01", "position": 1, - "instruction": "Using paddle attachment, cream together butter, shortening, sugar until well-blended.", + "instruction": "Sift together dry.", "critical_control_point": 0, "equipment_ids": [] }, { "id": "step_02", "position": 2, - "instruction": "Add liquids, blend on medium.", + "instruction": "Combine all liquid.", "critical_control_point": 0, "equipment_ids": [] }, { "id": "step_03", "position": 3, - "instruction": "Blend in more liquid for softer buttercream.", + "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": [] } @@ -11011,7 +9325,414 @@ "media": [] }, { - "id": "caramel_sauce", + "id": "01m0jwsd7asgqfn0yfk1ax69pv", + "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\":\"01m0jwsd7asgqfn0yfk1ax69pv\",\"title\":\"Berry Bagel\",\"categories\":[\"bread\"],\"tags\":[\"01m0jwsd7ah3q17p7fnq7ydcps\"],\"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\":\"01m0jwsd7acd23pwp7cjx18bpx\"},\"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": "01m0jwsd7acd23pwp7cjx18bpx", + "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": "01m0jwsd7atrckrx0yxmdxgep5", + "schema_version": 2, + "save_version": 26, + "title": "Chipotle Bowl", + "summary": null, + "categories_json": "[]", + "tags_json": "[]", + "yield_quantity": 791, + "yield_unit_id": "gram", + "yield_servings": 1, + "yield_basis": "theoretical", + "scaling_mode": "amount", + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7atrckrx0yxmdxgep5\",\"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_original\":{\"quantity\":1,\"unit_id\":\"gram\",\"basis\":null}}", + "auto_yield": 1, + "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_28913a8c", + "position": 1, + "ingredient_id": null, + "subrecipe_id": "01m0jwsd7b8d4hbv0cq1h6acm0", + "quantity": 160, + "unit_id": "gram", + "percentage": 20.2275600505689, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "component_74d895d5", + "id": "line_2b16648d", + "position": 2, + "ingredient_id": null, + "subrecipe_id": "01m0jwsd7b7vcwbzc0j39ja8ev", + "quantity": 160, + "unit_id": "gram", + "percentage": 20.2275600505689, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "component_74d895d5", + "id": "line_186ec837", + "position": 3, + "ingredient_id": null, + "subrecipe_id": "01m0jwsd7bej24ydpq9ggy9rq4", + "quantity": 160, + "unit_id": "gram", + "percentage": 20.2275600505689, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "component_74d895d5", + "id": "line_71260474", + "position": 4, + "ingredient_id": null, + "subrecipe_id": "01m0jwsd7bvmkynz165xrmwbhk", + "quantity": 160, + "unit_id": "gram", + "percentage": 20.2275600505689, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "component_74d895d5", + "id": "line_57ce21d3", + "position": 5, + "ingredient_id": "sour_cream", + "subrecipe_id": null, + "quantity": 75, + "unit_id": "gram", + "percentage": 9.481668773704172, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "component_74d895d5", + "id": "line_28d5d649", + "position": 6, + "ingredient_id": "cheddar_cheese", + "subrecipe_id": null, + "quantity": 38, + "unit_id": "gram", + "percentage": 4.804045512010114, + "basis_member": 0, + "optional": 0, + "notes": "shredded", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "component_74d895d5", + "id": "line_a01bccb2", + "position": 7, + "ingredient_id": null, + "subrecipe_id": "01m0jwsd7b3z07r61kyab29s7w", + "quantity": 38, + "unit_id": "gram", + "percentage": 4.804045512010114, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Add", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "01m0jwsd7avkma04fyg9jhwksm", "schema_version": 2, "save_version": 1, "title": "Caramel Sauce", @@ -11027,7 +9748,7 @@ "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.\"]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7avkma04fyg9jhwksm\",\"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, @@ -11212,735 +9933,14 @@ "media": [] }, { - "id": "caramelized_onion", + "id": "01m0jwsd7aw62wpnkd414ae08k", "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_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": "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": "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": "chick_fil_a_sauce", - "schema_version": 2, - "save_version": 1, - "title": "Chick-fil-A Sauce", + "title": "Benihana Yum Yum Sauce", "summary": null, "categories_json": "[\"sauce\"]", - "tags_json": "[\"copycat\",\"chick-fil-a\"]", - "yield_quantity": 188.5, + "tags_json": "[\"copycat\",\"benihana\"]", + "yield_quantity": 204.49, "yield_unit_id": "gram", "yield_servings": null, "yield_basis": "theoretical", @@ -11949,12 +9949,13 @@ "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.\"]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7aw62wpnkd414ae08k\",\"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": [ @@ -11981,1902 +9982,15 @@ "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_adobo_chicken_breast", - "schema_version": 2, - "save_version": 8, - "title": "Chipotle Adobo Chicken", - "summary": null, - "categories_json": "[]", - "tags_json": "[]", - "yield_quantity": 1900.9, - "yield_unit_id": "gram", - "yield_servings": null, - "yield_basis": "theoretical", - "scaling_mode": "amount", - "scaling_basis_id": null, - "scaling_basis_quantity": null, - "scaling_basis_unit_id": null, - "notes_json": "[]", - "source_json": "{\"auto_yield_original\":{\"quantity\":1,\"unit_id\":\"gram\",\"basis\":null}}", - "auto_yield": 1, - "station": null, - "deleted_at": null, - "cover_media_url": null, - "equipment_ids": [], - "components": [ - { - "id": "component_83faa117", - "position": 1, - "name": "Main", - "notes_json": "[]" - } - ], - "items": [ - { - "component_id": "component_83faa117", - "id": "line_9b9e1677", - "position": 1, - "ingredient_id": "chicken_breast", - "subrecipe_id": null, - "quantity": 1770, - "unit_id": "gram", - "percentage": 93.11378820558683, - "basis_member": 0, - "optional": 0, - "notes": "butterfly", - "nutrition_retention_factor": 1, - "prep_actions": [] - }, - { - "component_id": "component_83faa117", - "id": "line_cc902446", - "position": 2, - "ingredient_id": "chipotle_pepper_adobo", - "subrecipe_id": null, - "quantity": 79.7, - "unit_id": "gram", - "percentage": 4.192750802251566, - "basis_member": 0, - "optional": 0, - "notes": null, - "nutrition_retention_factor": 1, - "prep_actions": [] - }, - { - "component_id": "component_83faa117", - "id": "line_03164f18", - "position": 3, - "ingredient_id": "water", - "subrecipe_id": null, - "quantity": 15, - "unit_id": "gram", - "percentage": 0.7890999000473461, - "basis_member": 0, - "optional": 0, - "notes": null, - "nutrition_retention_factor": 1, - "prep_actions": [] - }, - { - "component_id": "component_83faa117", - "id": "line_730d9bc6", - "position": 4, - "ingredient_id": "vinegar", - "subrecipe_id": null, - "quantity": 14.2, - "unit_id": "gram", - "percentage": 0.7470145720448209, - "basis_member": 0, - "optional": 0, - "notes": null, - "nutrition_retention_factor": 1, - "prep_actions": [] - }, - { - "component_id": "component_83faa117", - "id": "line_d83057da", - "position": 5, - "ingredient_id": "canola_oil", - "subrecipe_id": null, - "quantity": 10.6, - "unit_id": "gram", - "percentage": 0.5576305960334579, - "basis_member": 0, - "optional": 0, - "notes": null, - "nutrition_retention_factor": 1, - "prep_actions": [] - }, - { - "component_id": "component_83faa117", - "id": "line_5a80ee26", - "position": 6, - "ingredient_id": "cumin", - "subrecipe_id": null, - "quantity": 5, - "unit_id": "gram", - "percentage": 0.263033300015782, - "basis_member": 0, - "optional": 0, - "notes": null, - "nutrition_retention_factor": 1, - "prep_actions": [] - }, - { - "component_id": "component_83faa117", - "id": "line_fa9cf7c8", - "position": 7, - "ingredient_id": "oregano", - "subrecipe_id": null, - "quantity": 3.5, - "unit_id": "gram", - "percentage": 0.18412331001104743, - "basis_member": 0, - "optional": 0, - "notes": null, - "nutrition_retention_factor": 1, - "prep_actions": [] - }, - { - "component_id": "component_83faa117", - "id": "line_a88fa10a", - "position": 8, - "ingredient_id": "black_pepper", - "subrecipe_id": null, - "quantity": 1.8, - "unit_id": "gram", - "percentage": 0.09469198800568153, - "basis_member": 0, - "optional": 0, - "notes": null, - "nutrition_retention_factor": 1, - "prep_actions": [] - }, - { - "component_id": "component_83faa117", - "id": "line_32a9e5c8", - "position": 9, - "ingredient_id": "garlic_powder", - "subrecipe_id": null, - "quantity": 1.1, - "unit_id": "gram", - "percentage": 0.057867326003472046, - "basis_member": 0, - "optional": 0, - "notes": null, - "nutrition_retention_factor": 1, - "prep_actions": [] - } - ], - "steps": [ - { - "id": "step_1", - "position": 1, - "instruction": "Blend smooth marinade", - "critical_control_point": 0, - "equipment_ids": [] - }, - { - "id": "step_bffdae2d", - "position": 2, - "instruction": "marinate in fridge 12 hr", - "critical_control_point": 0, - "equipment_ids": [] - }, - { - "id": "step_03fec3c9", - "position": 3, - "instruction": "remove chicken from refrigerator about 30 min before cooking", - "critical_control_point": 0, - "equipment_ids": [] - }, - { - "id": "step_a566f482", - "position": 4, - "instruction": "preheat cast iron pan 450 f", - "critical_control_point": 0, - "equipment_ids": [] - }, - { - "id": "step_758815d9", - "position": 5, - "instruction": "use a small amount of oil", - "critical_control_point": 0, - "equipment_ids": [] - }, - { - "id": "step_41110895", - "position": 6, - "instruction": "lay chicken flat in pan", - "critical_control_point": 0, - "equipment_ids": [] - }, - { - "id": "step_ee84be14", - "position": 7, - "instruction": "salt chicken", - "critical_control_point": 0, - "equipment_ids": [] - }, - { - "id": "step_df9543a3", - "position": 8, - "instruction": "cook ~ 2-3 min", - "critical_control_point": 0, - "equipment_ids": [] - }, - { - "id": "step_c089b778", - "position": 9, - "instruction": "flip, cook 1 -3 min", - "critical_control_point": 0, - "equipment_ids": [] - }, - { - "id": "step_99458e11", - "position": 10, - "instruction": "remove and rest chicken 5 min", - "critical_control_point": 0, - "equipment_ids": [] - }, - { - "id": "step_4c52bcea", - "position": 11, - "instruction": "chop into 3/4 in pieces", - "critical_control_point": 0, - "equipment_ids": [] - } - ], - "measure_conversions": [], - "media": [] - }, - { - "id": "chipotle_pinto_beans", - "schema_version": 2, - "save_version": 15, - "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": 27.15915263443781, - "basis_member": 1, - "optional": 0, - "notes": null, - "nutrition_retention_factor": 1, - "prep_actions": [] - }, - { - "component_id": "main", - "id": "line_3dc7d739", - "position": 2, - "ingredient_id": "water", - "subrecipe_id": null, - "quantity": 250, - "unit_id": "gram", - "percentage": 67.89788158609453, - "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": 1.0863661053775124, - "basis_member": 0, - "optional": 0, - "notes": null, - "nutrition_retention_factor": 1, - "prep_actions": [] - }, - { - "component_id": "main", - "id": "line_04_chipotle_pepper_adobo", - "position": 4, - "ingredient_id": "chipotle_pepper_adobo", - "subrecipe_id": null, - "quantity": 2.5, - "unit_id": "gram", - "percentage": 0.6789788158609452, - "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.33, - "unit_id": "gram", - "percentage": 0.904399782726779, - "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": 3.33, - "unit_id": "gram", - "percentage": 0.904399782726779, - "basis_member": 0, - "optional": 0, - "notes": null, - "nutrition_retention_factor": 1, - "prep_actions": [] - }, - { - "component_id": "main", - "id": "line_07_onion_mince_dry", - "position": 7, - "ingredient_id": "onion_dehydrated_powder", - "subrecipe_id": null, - "quantity": 2, - "unit_id": "gram", - "percentage": 0.5431830526887562, - "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.54, - "unit_id": "gram", - "percentage": 0.4182509505703423, - "basis_member": 0, - "optional": 0, - "notes": null, - "nutrition_retention_factor": 1, - "prep_actions": [] - }, - { - "component_id": "main", - "id": "line_09_cumin", - "position": 9, - "ingredient_id": "cumin", - "subrecipe_id": null, - "quantity": 0.4, - "unit_id": "gram", - "percentage": 0.10863661053775125, - "basis_member": 0, - "optional": 0, - "notes": null, - "nutrition_retention_factor": 1, - "prep_actions": [] - }, - { - "component_id": "main", - "id": "line_10_garlic_dehydrated_minced", - "position": 10, - "ingredient_id": "garlic_powder", - "subrecipe_id": null, - "quantity": 0.5, - "unit_id": "gram", - "percentage": 0.13579576317218905, - "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.2, - "unit_id": "gram", - "percentage": 0.05431830526887563, - "basis_member": 0, - "optional": 0, - "notes": null, - "nutrition_retention_factor": 1, - "prep_actions": [] - }, - { - "component_id": "main", - "id": "line_12_oregano_marjoram", - "position": 12, - "ingredient_id": null, - "subrecipe_id": "dominos_oregano_marjoram_blend", - "quantity": 0.4, - "unit_id": "gram", - "percentage": 0.10863661053775125, - "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": "chipotle_roasted_chili_corn_salsa", - "schema_version": 2, - "save_version": 4, - "title": "Chipotle Roasted Chili-Corn Salsa", - "summary": null, - "categories_json": "[]", - "tags_json": "[]", - "yield_quantity": 2076, - "yield_unit_id": "gram", - "yield_servings": null, - "yield_basis": "theoretical", - "scaling_mode": "amount", - "scaling_basis_id": null, - "scaling_basis_quantity": null, - "scaling_basis_unit_id": null, - "notes_json": "[]", - "source_json": "{\"auto_yield_original\":{\"quantity\":1,\"unit_id\":\"gram\",\"basis\":null}}", - "auto_yield": 1, - "station": null, - "deleted_at": null, - "cover_media_url": null, - "equipment_ids": [], - "components": [ - { - "id": "main", - "position": 1, - "name": "Main", - "notes_json": "[]" - } - ], - "items": [ - { - "component_id": "main", - "id": "line_61e59440", - "position": 1, - "ingredient_id": "sweet_corn", - "subrecipe_id": null, - "quantity": 1680, - "unit_id": "gram", - "percentage": 80.92485549132948, - "basis_member": 0, - "optional": 0, - "notes": "frozen, thawed, drained", - "nutrition_retention_factor": 1, - "prep_actions": [] - }, - { - "component_id": "main", - "id": "line_f7ea5f9e", - "position": 2, - "ingredient_id": "red_onion", - "subrecipe_id": null, - "quantity": 237, - "unit_id": "gram", - "percentage": 11.416184971098266, - "basis_member": 0, - "optional": 0, - "notes": "diced", - "nutrition_retention_factor": 1, - "prep_actions": [] - }, - { - "component_id": "main", - "id": "line_f14a631f", - "position": 3, - "ingredient_id": "jalapeno_peppers_pickled", - "subrecipe_id": null, - "quantity": 100, - "unit_id": "gram", - "percentage": 4.8169556840077075, - "basis_member": 0, - "optional": 0, - "notes": "rinsed, chopped", - "nutrition_retention_factor": 1, - "prep_actions": [] - }, - { - "component_id": "main", - "id": "line_3871645c", - "position": 4, - "ingredient_id": "lemon_or_lime_juice", - "subrecipe_id": null, - "quantity": 44, - "unit_id": "gram", - "percentage": 2.119460500963391, - "basis_member": 0, - "optional": 0, - "notes": null, - "nutrition_retention_factor": 1, - "prep_actions": [] - }, - { - "component_id": "main", - "id": "line_0587009c", - "position": 5, - "ingredient_id": "salt", - "subrecipe_id": null, - "quantity": 15, - "unit_id": "gram", - "percentage": 0.7225433526011561, - "basis_member": 0, - "optional": 0, - "notes": null, - "nutrition_retention_factor": 1, - "prep_actions": [] - } - ], - "steps": [ - { - "id": "step_1", - "position": 1, - "instruction": "TODO: Add preparation instructions.", - "critical_control_point": 0, - "equipment_ids": [] - } - ], - "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_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_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, + "quantity": 57, "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": "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, + "percentage": 57, "basis_member": 0, "optional": 0, "notes": null, @@ -13885,1460 +9999,9 @@ }, { "component_id": "main", - "id": "line_03_shaoxing_wine", + "id": "line_03_butter_flavored_shortening", "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": "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_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": "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": "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", + "ingredient_id": "butter_flavored_shortening", "subrecipe_id": null, "quantity": 25, "unit_id": "gram", @@ -15351,13 +10014,13 @@ }, { "component_id": "main", - "id": "line_04_vanilla_extract", + "id": "line_04_ketchup", "position": 4, - "ingredient_id": "vanilla_extract", + "ingredient_id": "ketchup", "subrecipe_id": null, - "quantity": 3.25, + "quantity": 11, "unit_id": "gram", - "percentage": 3.25, + "percentage": 11, "basis_member": 0, "optional": 0, "notes": null, @@ -15366,13 +10029,13 @@ }, { "component_id": "main", - "id": "line_05_corn_syrup", + "id": "line_05_sugar", "position": 5, - "ingredient_id": "corn_syrup_light", + "ingredient_id": "sugar", "subrecipe_id": null, - "quantity": 6.5, + "quantity": 9, "unit_id": "gram", - "percentage": 6.5, + "percentage": 9, "basis_member": 0, "optional": 0, "notes": null, @@ -15385,9 +10048,9 @@ "position": 6, "ingredient_id": "salt", "subrecipe_id": null, - "quantity": 0.35, + "quantity": 1, "unit_id": "gram", - "percentage": 0.35, + "percentage": 1, "basis_member": 0, "optional": 0, "notes": null, @@ -15396,13 +10059,43 @@ }, { "component_id": "main", - "id": "line_07_butter_extract", + "id": "line_07_paprika", "position": 7, - "ingredient_id": "butter_extract", + "ingredient_id": "paprika", "subrecipe_id": null, - "quantity": 0.3, + "quantity": 0.66, "unit_id": "gram", - "percentage": 0.3, + "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, @@ -15414,70 +10107,42 @@ { "id": "step_01", "position": 1, - "instruction": "Soften the cream cheese to cool room temperature, about 60°F.", + "instruction": "Combine mayonnaise, whipping cream, ketchup.", "critical_control_point": 0, "equipment_ids": [] }, { "id": "step_02", "position": 2, - "instruction": "Beat the shortening until smooth and slightly aerated.", + "instruction": "Combine spices.", "critical_control_point": 0, "equipment_ids": [] }, { "id": "step_03", "position": 3, - "instruction": "Add the cream cheese.", + "instruction": "Melt shortening in bowl.", "critical_control_point": 0, "equipment_ids": [] }, { "id": "step_04", "position": 4, - "instruction": "Beat until uniform and smooth.", + "instruction": "Add all to shortening bowl.", "critical_control_point": 0, "equipment_ids": [] }, { "id": "step_05", "position": 5, - "instruction": "Add the confectioners' sugar in 2 to 3 additions.", + "instruction": "Whisk until smooth.", "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.", + "instruction": "Refridgerate overnight.", "critical_control_point": 0, "equipment_ids": [] } @@ -15486,858 +10151,14 @@ "media": [] }, { - "id": "creamed_berry_muffin", + "id": "01m0jwsd7b00zrv18fayf0sayr", "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": "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": "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": "dinner_rolls", - "schema_version": 2, - "save_version": 1, - "title": "Dinner Rolls", + "title": "Hamburger Bun", "summary": null, "categories_json": "[\"bread\"]", - "tags_json": "[\"roll\"]", - "yield_quantity": 197.25, + "tags_json": "[\"bun\",\"burger\"]", + "yield_quantity": 182.2, "yield_unit_id": "gram", "yield_servings": null, "yield_basis": "theoretical", @@ -16346,14 +10167,12 @@ "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.\"]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7b00zrv18fayf0sayr\",\"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": [ - "whisk" - ], + "equipment_ids": [], "components": [ { "id": "main", @@ -16384,9 +10203,9 @@ "position": 2, "ingredient_id": "water", "subrecipe_id": null, - "quantity": 55, + "quantity": 63, "unit_id": "gram", - "percentage": 55, + "percentage": 63, "basis_member": 0, "optional": 0, "notes": null, @@ -16395,13 +10214,13 @@ }, { "component_id": "main", - "id": "line_03_shortening", + "id": "line_03_butter_flavored_shortening", "position": 3, - "ingredient_id": "shortening", + "ingredient_id": "butter_flavored_shortening", "subrecipe_id": null, - "quantity": 15, + "quantity": 7.6, "unit_id": "gram", - "percentage": 15, + "percentage": 7.6, "basis_member": 0, "optional": 0, "notes": null, @@ -16410,28 +10229,13 @@ }, { "component_id": "main", - "id": "line_04_egg_whole", + "id": "line_04_sugar", "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, + "quantity": 3.8, "unit_id": "gram", - "percentage": 6, + "percentage": 3.8, "basis_member": 0, "optional": 0, "notes": null, @@ -16440,13 +10244,13 @@ }, { "component_id": "main", - "id": "line_06_nonfat_milk_powder", - "position": 6, + "id": "line_05_nonfat_milk_powder", + "position": 5, "ingredient_id": "nonfat_milk_powder", "subrecipe_id": null, - "quantity": 5.25, + "quantity": 3.8, "unit_id": "gram", - "percentage": 5.25, + "percentage": 3.8, "basis_member": 0, "optional": 0, "notes": null, @@ -16455,8 +10259,8 @@ }, { "component_id": "main", - "id": "line_07_instant_yeast", - "position": 7, + "id": "line_06_instant_yeast", + "position": 6, "ingredient_id": "instant_yeast", "subrecipe_id": null, "quantity": 2, @@ -16470,8 +10274,8 @@ }, { "component_id": "main", - "id": "line_08_salt", - "position": 8, + "id": "line_07_salt", + "position": 7, "ingredient_id": "salt", "subrecipe_id": null, "quantity": 2, @@ -16488,70 +10292,56 @@ { "id": "step_01", "position": 1, - "instruction": "Combine, whisk dry ingredients.", + "instruction": "Mix dough to full gluten development.", "critical_control_point": 0, "equipment_ids": [] }, { "id": "step_02", "position": 2, - "instruction": "Combine, whisk wet except shortening.", + "instruction": "Divide into 85 g portions.", "critical_control_point": 0, "equipment_ids": [] }, { "id": "step_03", "position": 3, - "instruction": "Mix 5 min until well combined.", + "instruction": "Shape into smooth balls.", "critical_control_point": 0, "equipment_ids": [] }, { "id": "step_04", "position": 4, - "instruction": "Add shortening.", + "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": "Mix to ≈25 min.", + "instruction": "Press dough flat to form oblate spheroid.", "critical_control_point": 0, "equipment_ids": [] }, { "id": "step_06", "position": 6, - "instruction": "Shape into balls.", + "instruction": "Proof in high humidity.", "critical_control_point": 0, "equipment_ids": [] }, { "id": "step_07", "position": 7, - "instruction": "Arrange on greased, optionally parchment-lined 13 × 9 pan.", + "instruction": "Apply wash and seeds.", "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.", + "instruction": "Bake 18 min at 380 °F.", "critical_control_point": 0, "equipment_ids": [] } @@ -16560,336 +10350,7 @@ "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", + "id": "01m0jwsd7b027c0yry7yv6ntm2", "schema_version": 2, "save_version": 1, "title": "Domino's Pizza Dough", @@ -16905,7 +10366,7 @@ "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.\"]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7b027c0yry7yv6ntm2\",\"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, @@ -17075,1200 +10536,13 @@ "media": [] }, { - "id": "dominos_pizza_sauce", + "id": "01m0jwsd7b0zdrytnj4r040bdp", "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": "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, + "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": "[\"base-formula\"]", + "tags_json": "[\"cheese\",\"copycat\",\"dominos\"]", "yield_quantity": 100, "yield_unit_id": "gram", "yield_servings": null, @@ -18277,8 +10551,83 @@ "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.\"]}", + "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\":\"01m0jwsd7b0zdrytnj4r040bdp\",\"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": "01m0jwsd7b178vn7dzqyrssfrx", + "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\":\"01m0jwsd7b178vn7dzqyrssfrx\",\"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, @@ -18295,13 +10644,13 @@ "items": [ { "component_id": "main", - "id": "line_01_water", + "id": "line_01_oregano", "position": 1, - "ingredient_id": "water", + "ingredient_id": "oregano", "subrecipe_id": null, - "quantity": 65, + "quantity": 50, "unit_id": "gram", - "percentage": 65, + "percentage": 50, "basis_member": 1, "optional": 0, "notes": null, @@ -18310,58 +10659,13 @@ }, { "component_id": "main", - "id": "line_02_tapioca_starch", + "id": "line_02_marjoram", "position": 2, - "ingredient_id": "tapioca_starch", + "ingredient_id": "marjoram", "subrecipe_id": null, - "quantity": 18.5, + "quantity": 50, "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, + "percentage": 50, "basis_member": 0, "optional": 0, "notes": null, @@ -18373,7 +10677,7 @@ { "id": "step_01", "position": 1, - "instruction": "Combine.", + "instruction": "Combine the dried oregano and dried marjoram evenly.", "critical_control_point": 0, "equipment_ids": [] } @@ -18382,14 +10686,14 @@ "media": [] }, { - "id": "english_muffin", + "id": "01m0jwsd7b1sd6g7dwjf4t64rb", "schema_version": 2, "save_version": 1, - "title": "English Muffin", + "title": "Korean Fry Batter", "summary": null, - "categories_json": "[\"bread\"]", - "tags_json": "[\"muffin\"]", - "yield_quantity": 186.5, + "categories_json": "[\"component\"]", + "tags_json": "[\"batter\",\"fried\",\"korean\"]", + "yield_quantity": 524, "yield_unit_id": "gram", "yield_servings": null, "yield_basis": "theoretical", @@ -18398,7 +10702,7 @@ "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.\"]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7b1sd6g7dwjf4t64rb\",\"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, @@ -18417,9 +10721,9 @@ "items": [ { "component_id": "main", - "id": "line_01_flour_bread", + "id": "line_01_flour_all_purpose", "position": 1, - "ingredient_id": "flour_bread", + "ingredient_id": "flour_all_purpose", "subrecipe_id": null, "quantity": 100, "unit_id": "gram", @@ -18436,9 +10740,9 @@ "position": 2, "ingredient_id": "water", "subrecipe_id": null, - "quantity": 75, + "quantity": 164, "unit_id": "gram", - "percentage": 75, + "percentage": 164, "basis_member": 0, "optional": 0, "notes": null, @@ -18447,13 +10751,13 @@ }, { "component_id": "main", - "id": "line_03_shortening", + "id": "line_03_vodka", "position": 3, - "ingredient_id": "shortening", + "ingredient_id": "vodka", "subrecipe_id": null, - "quantity": 4, + "quantity": 164, "unit_id": "gram", - "percentage": 4, + "percentage": 164, "basis_member": 0, "optional": 0, "notes": null, @@ -18462,1147 +10766,13 @@ }, { "component_id": "main", - "id": "line_04_nonfat_milk_powder", + "id": "line_04_cornstarch", "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": "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": "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, + "quantity": 82, "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": "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": "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": "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, + "percentage": 82, "basis_member": 0, "optional": 0, "notes": null, @@ -19615,9 +10785,24 @@ "position": 5, "ingredient_id": "salt", "subrecipe_id": null, - "quantity": 0.2, + "quantity": 12, "unit_id": "gram", - "percentage": 0.2, + "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, @@ -19629,42 +10814,21 @@ { "id": "step_01", "position": 1, - "instruction": "Blend base and flour.", + "instruction": "Whisk together dry ingredients.", "critical_control_point": 0, "equipment_ids": [] }, { "id": "step_02", "position": 2, - "instruction": "Gradually add small amount cold water until smooth.", + "instruction": "Whisk together wet ingredients.", "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.", + "instruction": "Whisk all ingredients together until smooth.", "critical_control_point": 0, "equipment_ids": [] } @@ -19673,14 +10837,14 @@ "media": [] }, { - "id": "guacamole", + "id": "01m0jwsd7b24mv4ba9rhx6vdhj", "schema_version": 2, "save_version": 1, - "title": "Guacamole", + "title": "Hot Fudge V2", "summary": null, - "categories_json": "[\"side\"]", - "tags_json": "[\"dip\"]", - "yield_quantity": 103.81, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"dessert-sauce\",\"chocolate\"]", + "yield_quantity": 99.75, "yield_unit_id": "gram", "yield_servings": null, "yield_basis": "theoretical", @@ -19689,7 +10853,7 @@ "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.\"]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7b24mv4ba9rhx6vdhj\",\"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, @@ -19706,13 +10870,13 @@ "items": [ { "component_id": "main", - "id": "line_01_avocado", + "id": "line_01_water", "position": 1, - "ingredient_id": "avocado", + "ingredient_id": "water", "subrecipe_id": null, - "quantity": 100, + "quantity": 29.7, "unit_id": "gram", - "percentage": 100, + "percentage": 29.7, "basis_member": 1, "optional": 0, "notes": null, @@ -19721,13 +10885,13 @@ }, { "component_id": "main", - "id": "line_02_lime_juice", + "id": "line_02_oil", "position": 2, - "ingredient_id": "lime_juice", + "ingredient_id": "canola_oil", "subrecipe_id": null, - "quantity": 2.15, + "quantity": 22, "unit_id": "gram", - "percentage": 2.15, + "percentage": 22, "basis_member": 0, "optional": 0, "notes": null, @@ -19736,88 +10900,118 @@ }, { "component_id": "main", - "id": "line_03_salt", + "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": 1, + "quantity": 0.15, "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, + "percentage": 0.15, "basis_member": 0, "optional": 0, "notes": null, @@ -19829,14 +11023,28 @@ { "id": "step_01", "position": 1, - "instruction": "Combine all.", + "instruction": "Combine all except vanilla, chocolate, cocoa.", "critical_control_point": 0, "equipment_ids": [] }, { "id": "step_02", "position": 2, - "instruction": "Mash to desired texture.", + "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": [] } @@ -19845,7 +11053,7 @@ "media": [] }, { - "id": "gyro_meat", + "id": "01m0jwsd7b2yxf8r1bcnsg3jww", "schema_version": 2, "save_version": 1, "title": "Gyro Meat", @@ -19861,7 +11069,7 @@ "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.\"]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7b2yxf8r1bcnsg3jww\",\"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, @@ -20173,14 +11381,14 @@ "media": [] }, { - "id": "halal_guys_white_sauce_v1", + "id": "01m0jwsd7b3z07r61kyab29s7w", "schema_version": 2, - "save_version": 1, - "title": "Halal Guys White Sauce V1", + "save_version": 5, + "title": "Guacamole", "summary": null, - "categories_json": "[\"sauce\"]", - "tags_json": "[\"copycat\",\"halal-guys\"]", - "yield_quantity": 118.07, + "categories_json": "[\"side\"]", + "tags_json": "[\"dip\"]", + "yield_quantity": 103.81, "yield_unit_id": "gram", "yield_servings": null, "yield_basis": "theoretical", @@ -20189,8 +11397,8 @@ "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, + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7b3z07r61kyab29s7w\",\"title\":\"Guacamole\",\"categories\":[\"side\"],\"tags\":[\"dip\"],\"yield\":{\"amount\":{\"quantity\":103.81,\"unit_id\":\"gram\"},\"basis\":\"theoretical\",\"serving_size\":{\"quantity\":4,\"unit_id\":\"ounce_mass\"}},\"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_original\":{\"quantity\":103.81,\"unit_id\":\"gram\",\"basis\":\"theoretical\"}}", + "auto_yield": 1, "station": null, "deleted_at": null, "cover_media_url": null, @@ -20206,13 +11414,13 @@ "items": [ { "component_id": "main", - "id": "line_01_mayonnaise", + "id": "line_01_avocado", "position": 1, - "ingredient_id": "mayonnaise", + "ingredient_id": "avocado", "subrecipe_id": null, "quantity": 100, "unit_id": "gram", - "percentage": 100, + "percentage": 96.32983334938831, "basis_member": 1, "optional": 0, "notes": null, @@ -20221,13 +11429,13 @@ }, { "component_id": "main", - "id": "line_02_vinegar_5", + "id": "line_02_lime_juice", "position": 2, - "ingredient_id": "vinegar_5", + "ingredient_id": "lime_juice", "subrecipe_id": null, - "quantity": 6.67, + "quantity": 2.15, "unit_id": "gram", - "percentage": 6.67, + "percentage": 2.0710914170118486, "basis_member": 0, "optional": 0, "notes": null, @@ -20236,13 +11444,13 @@ }, { "component_id": "main", - "id": "line_03_water", + "id": "line_03_salt", "position": 3, - "ingredient_id": "water", + "ingredient_id": "salt", "subrecipe_id": null, - "quantity": 6, + "quantity": 1, "unit_id": "gram", - "percentage": 6, + "percentage": 0.9632983334938829, "basis_member": 0, "optional": 0, "notes": null, @@ -20251,133 +11459,13 @@ }, { "component_id": "main", - "id": "line_04_lemon_juice", + "id": "line_04_ascorbic_acid", "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", + "ingredient_id": "ascorbic_acid", "subrecipe_id": null, "quantity": 0.2, "unit_id": "gram", - "percentage": 0.2, + "percentage": 0.19265966669877663, "basis_member": 0, "optional": 0, "notes": null, @@ -20386,13 +11474,13 @@ }, { "component_id": "main", - "id": "line_05_cardamom", + "id": "line_05_chili_powder", "position": 5, - "ingredient_id": "cardamom", + "ingredient_id": "chili_powder", "subrecipe_id": null, - "quantity": 0.15, + "quantity": 0.13, "unit_id": "gram", - "percentage": 0.15, + "percentage": 0.12522878335420481, "basis_member": 0, "optional": 0, "notes": null, @@ -20401,1033 +11489,13 @@ }, { "component_id": "main", - "id": "line_06_xanthan_gum", + "id": "line_06_cumin", "position": 6, - "ingredient_id": "xanthan_gum", + "ingredient_id": "cumin", "subrecipe_id": null, - "quantity": 0.12, + "quantity": 0.11, "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": "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": "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": "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, + "percentage": 0.10596281668432714, "basis_member": 0, "optional": 0, "notes": null, @@ -21440,9 +11508,24 @@ "position": 7, "ingredient_id": "garlic_powder", "subrecipe_id": null, - "quantity": 0.05, + "quantity": 0.11, "unit_id": "gram", - "percentage": 0.05, + "percentage": 0.10596281668432714, + "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.10596281668432714, "basis_member": 0, "optional": 0, "notes": null, @@ -21454,21 +11537,14 @@ { "id": "step_01", "position": 1, - "instruction": "Blend peppers, juice, 1/2 buttermilk.", + "instruction": "Combine all.", "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.", + "instruction": "Mash to desired texture.", "critical_control_point": 0, "equipment_ids": [] } @@ -21477,14 +11553,14 @@ "media": [] }, { - "id": "korean_coater_mix", + "id": "01m0jwsd7b3zefn7k9x4zpr576", "schema_version": 2, "save_version": 1, - "title": "Korean Coater Mix", + "title": "Cream Cheese Icing", "summary": null, - "categories_json": "[\"component\"]", - "tags_json": "[\"coater\",\"fried\",\"korean\"]", - "yield_quantity": 129, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"icing\"]", + "yield_quantity": 161, "yield_unit_id": "gram", "yield_servings": null, "yield_basis": "theoretical", @@ -21493,14 +11569,12 @@ "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.\"]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7b3zefn7k9x4zpr576\",\"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": [ - "mixing_bowl" - ], + "equipment_ids": [], "components": [ { "id": "main", @@ -21512,9 +11586,9 @@ "items": [ { "component_id": "main", - "id": "line_01_cornstarch", + "id": "line_01_confectioners_sugar", "position": 1, - "ingredient_id": "cornstarch", + "ingredient_id": "confectioners_sugar", "subrecipe_id": null, "quantity": 100, "unit_id": "gram", @@ -21527,13 +11601,13 @@ }, { "component_id": "main", - "id": "line_02_salt", + "id": "line_02_cream_cheese", "position": 2, - "ingredient_id": "salt", + "ingredient_id": "cream_cheese", "subrecipe_id": null, - "quantity": 27, + "quantity": 60, "unit_id": "gram", - "percentage": 27, + "percentage": 60, "basis_member": 0, "optional": 0, "notes": null, @@ -21542,13 +11616,28 @@ }, { "component_id": "main", - "id": "line_03_baking_powder", + "id": "line_03_vanilla_extract", "position": 3, - "ingredient_id": "baking_powder", + "ingredient_id": "vanilla_extract", "subrecipe_id": null, - "quantity": 2, + "quantity": 0.6, "unit_id": "gram", - "percentage": 2, + "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, @@ -21560,28 +11649,251 @@ { "id": "step_01", "position": 1, - "instruction": "Combine ingredients in a bowl.", + "instruction": "Paddle cream cheese, sugar until well blended.", "critical_control_point": 0, "equipment_ids": [] }, { "id": "step_02", "position": 2, - "instruction": "Add chicken and toss until thoroughly coated.", + "instruction": "Add liquids, blend on medium until light, fluffy.", "critical_control_point": 0, "equipment_ids": [] }, { "id": "step_03", "position": 3, - "instruction": "Shake vigorously to remove excess coating.", + "instruction": "Blend in more liquid for softer buttercream.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "01m0jwsd7b40rfmnv37y48fhn1", + "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\":\"01m0jwsd7b40rfmnv37y48fhn1\",\"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": "Rest uncovered in the refrigerator for 30 min.", + "instruction": "Freeze balls.", "critical_control_point": 0, "equipment_ids": [] } @@ -21590,158 +11902,7 @@ "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": "lo_mein_sauce", + "id": "01m0jwsd7b52kw2e7qmz5tvzp3", "schema_version": 2, "save_version": 1, "title": "Lo Mein Sauce", @@ -21757,7 +11918,7 @@ "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.\"]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7b52kw2e7qmz5tvzp3\",\"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, @@ -21928,14 +12089,14 @@ "media": [] }, { - "id": "mac_cheese_sauce", + "id": "01m0jwsd7b5j5xvdsz8gbkf3zm", "schema_version": 2, "save_version": 1, - "title": "Mac & Cheese Sauce", + "title": "Creamed Chocolate Chip Muffin", "summary": null, - "categories_json": "[\"sauce\"]", - "tags_json": "[\"cheese\"]", - "yield_quantity": 196, + "categories_json": "[\"dessert\"]", + "tags_json": "[\"muffin\",\"chocolate\"]", + "yield_quantity": 329.5, "yield_unit_id": "gram", "yield_servings": null, "yield_basis": "theoretical", @@ -21944,7 +12105,258 @@ "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.\"]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7b5j5xvdsz8gbkf3zm\",\"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": "01m0jwsd7b5mrg4xxj0c4q737e", + "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\":\"01m0jwsd7b5mrg4xxj0c4q737e\",\"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, @@ -21963,9 +12375,9 @@ "items": [ { "component_id": "main", - "id": "line_01_cheddar_cheese", + "id": "line_01_tomato_paste", "position": 1, - "ingredient_id": "cheddar_cheese", + "ingredient_id": "tomato_paste", "subrecipe_id": null, "quantity": 100, "unit_id": "gram", @@ -21982,9 +12394,9 @@ "position": 2, "ingredient_id": "water", "subrecipe_id": null, - "quantity": 93, + "quantity": 141.18, "unit_id": "gram", - "percentage": 93, + "percentage": 141.18, "basis_member": 0, "optional": 0, "notes": null, @@ -21993,13 +12405,148 @@ }, { "component_id": "main", - "id": "line_03_sodium_citrate", + "id": "line_03_sugar", "position": 3, - "ingredient_id": "sodium_citrate", + "ingredient_id": "sugar", "subrecipe_id": null, - "quantity": 3, + "quantity": 6.35, "unit_id": "gram", - "percentage": 3, + "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, @@ -22011,21 +12558,56 @@ { "id": "step_01", "position": 1, - "instruction": "Dissolve sodium citrate, water.", + "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": "Bring to simmer.", + "instruction": "Whisk in the reserved water.", "critical_control_point": 0, "equipment_ids": [] }, { "id": "step_03", "position": 3, - "instruction": "Add shredded cheese slowly, whisk constantly.", + "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": [] } @@ -22034,7 +12616,3656 @@ "media": [] }, { - "id": "mashed_potato", + "id": "01m0jwsd7b5t5xwdztjqtrmjmx", + "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\":\"01m0jwsd7b5t5xwdztjqtrmjmx\",\"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": "01m0jwsd7b72ycnfct3jdmsxcq", + "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\":\"01m0jwsd7b72ycnfct3jdmsxcq\",\"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": "01m0jwsd7b75m79jfr1bfgcggg", + "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\":\"01m0jwsd7b75m79jfr1bfgcggg\",\"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": "01m0jwsd7b7vcwbzc0j39ja8ev", + "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\":\"01m0jwsd7b7vcwbzc0j39ja8ev\",\"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": "01m0jwsd7b8b2va5ayt0m13njq", + "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\":\"01m0jwsd7b8b2va5ayt0m13njq\",\"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": "01m0jwsd7b8d4hbv0cq1h6acm0", + "schema_version": 2, + "save_version": 19, + "title": "Chipotle Pinto Beans", + "summary": null, + "categories_json": "[\"side\"]", + "tags_json": "[\"beans\"]", + "yield_quantity": 146.86, + "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": "[\"Formula uses a nominal 100 g basis; review the yield before use.\"]", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7b8d4hbv0cq1h6acm0\",\"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\":\"01m0jwsd7b178vn7dzqyrssfrx\"},\"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": 27.15915263443781, + "basis_member": 1, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_3dc7d739", + "position": 2, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 250, + "unit_id": "gram", + "percentage": 67.89788158609453, + "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": 1.0863661053775124, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_04_chipotle_pepper_adobo", + "position": 4, + "ingredient_id": "chipotle_pepper_adobo", + "subrecipe_id": null, + "quantity": 2.5, + "unit_id": "gram", + "percentage": 0.6789788158609452, + "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.33, + "unit_id": "gram", + "percentage": 0.904399782726779, + "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": 3.33, + "unit_id": "gram", + "percentage": 0.904399782726779, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_07_onion_mince_dry", + "position": 7, + "ingredient_id": "onion_dehydrated_powder", + "subrecipe_id": null, + "quantity": 2, + "unit_id": "gram", + "percentage": 0.5431830526887562, + "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.54, + "unit_id": "gram", + "percentage": 0.4182509505703423, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_09_cumin", + "position": 9, + "ingredient_id": "cumin", + "subrecipe_id": null, + "quantity": 0.4, + "unit_id": "gram", + "percentage": 0.10863661053775125, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_10_garlic_dehydrated_minced", + "position": 10, + "ingredient_id": "garlic_powder", + "subrecipe_id": null, + "quantity": 0.5, + "unit_id": "gram", + "percentage": 0.13579576317218905, + "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.2, + "unit_id": "gram", + "percentage": 0.05431830526887563, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_12_oregano_marjoram", + "position": 12, + "ingredient_id": null, + "subrecipe_id": "01m0jwsd7b178vn7dzqyrssfrx", + "quantity": 0.4, + "unit_id": "gram", + "percentage": 0.10863661053775125, + "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": "01m0jwsd7b8jqn62nc0cga1ydw", + "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\":\"01m0jwsd7b8jqn62nc0cga1ydw\",\"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": "01m0jwsd7baf74wsx6qt614mj0", + "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\":\"01m0jwsd7baf74wsx6qt614mj0\",\"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": "01m0jwsd7bavwgrrzjst3te61h", + "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\":\"01m0jwsd7bavwgrrzjst3te61h\",\"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": "01m0jwsd7bb4b9xz732r0epc3j", + "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\":\"01m0jwsd7bb4b9xz732r0epc3j\",\"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": "01m0jwsd7bbk8c3fj8gzsehshw", + "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\":\"01m0jwsd7bbk8c3fj8gzsehshw\",\"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": "01m0jwsd7be0f2ndbr40kds190", + "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\":\"01m0jwsd7be0f2ndbr40kds190\",\"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": "01m0jwsd7befw4e1pzgewj5z31", + "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\":\"01m0jwsd7befw4e1pzgewj5z31\",\"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": "01m0jwsd7bej24ydpq9ggy9rq4", + "schema_version": 2, + "save_version": 14, + "title": "Chipotle Adobo Chicken", + "summary": null, + "categories_json": "[]", + "tags_json": "[]", + "yield_quantity": 4257.2, + "yield_unit_id": "gram", + "yield_servings": null, + "yield_basis": "theoretical", + "scaling_mode": "amount", + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{\"auto_yield_original\":{\"quantity\":1,\"unit_id\":\"gram\",\"basis\":null}}", + "auto_yield": 1, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "component_83faa117", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "component_83faa117", + "id": "line_9b9e1677", + "position": 1, + "ingredient_id": "chicken_thigh", + "subrecipe_id": null, + "quantity": 3916, + "unit_id": "gram", + "percentage": 91.98534247862446, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "component_83faa117", + "id": "line_cc902446", + "position": 2, + "ingredient_id": "chipotle_pepper_adobo", + "subrecipe_id": null, + "quantity": 210, + "unit_id": "gram", + "percentage": 4.932819693695387, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "component_83faa117", + "id": "line_03164f18", + "position": 3, + "ingredient_id": "water", + "subrecipe_id": null, + "quantity": 45, + "unit_id": "gram", + "percentage": 1.0570327915061544, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "component_83faa117", + "id": "line_730d9bc6", + "position": 4, + "ingredient_id": "vinegar", + "subrecipe_id": null, + "quantity": 35, + "unit_id": "gram", + "percentage": 0.8221366156158979, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "component_83faa117", + "id": "line_d83057da", + "position": 5, + "ingredient_id": "canola_oil", + "subrecipe_id": null, + "quantity": 26, + "unit_id": "gram", + "percentage": 0.6107300573146669, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "component_83faa117", + "id": "line_5a80ee26", + "position": 6, + "ingredient_id": "cumin", + "subrecipe_id": null, + "quantity": 11.1, + "unit_id": "gram", + "percentage": 0.26073475523818473, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "component_83faa117", + "id": "line_fa9cf7c8", + "position": 7, + "ingredient_id": "oregano", + "subrecipe_id": null, + "quantity": 7.7, + "unit_id": "gram", + "percentage": 0.18087005543549753, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "component_83faa117", + "id": "line_a88fa10a", + "position": 8, + "ingredient_id": "black_pepper", + "subrecipe_id": null, + "quantity": 4, + "unit_id": "gram", + "percentage": 0.09395847035610261, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "component_83faa117", + "id": "line_32a9e5c8", + "position": 9, + "ingredient_id": "garlic_powder", + "subrecipe_id": null, + "quantity": 2.4, + "unit_id": "gram", + "percentage": 0.05637508221366156, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "Blend smooth marinade", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_bffdae2d", + "position": 2, + "instruction": "marinate in fridge 12 hr", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_03fec3c9", + "position": 3, + "instruction": "remove chicken from refrigerator about 30 min before cooking", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_a566f482", + "position": 4, + "instruction": "preheat cast iron pan 450 f", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_758815d9", + "position": 5, + "instruction": "use a small amount of oil", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_41110895", + "position": 6, + "instruction": "lay chicken flat in pan", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_ee84be14", + "position": 7, + "instruction": "salt chicken", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_df9543a3", + "position": 8, + "instruction": "cook ~ 2-3 min", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_c089b778", + "position": 9, + "instruction": "flip, cook 1 -3 min", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_99458e11", + "position": 10, + "instruction": "remove and rest chicken 5 min", + "critical_control_point": 0, + "equipment_ids": [] + }, + { + "id": "step_4c52bcea", + "position": 11, + "instruction": "chop into 3/4 in pieces", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "01m0jwsd7bekqv9pvq0ct6afqm", + "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\":\"01m0jwsd7bekqv9pvq0ct6afqm\",\"title\":\"Cinnamon Crunch Bagel\",\"categories\":[\"bread\"],\"tags\":[\"01m0jwsd7ah3q17p7fnq7ydcps\"],\"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": "01m0jwsd7bgdj1bex6qjez6x4h", + "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\":\"01m0jwsd7bgdj1bex6qjez6x4h\",\"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\":\"01m0jwsd7b027c0yry7yv6ntm2\"},\"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\":\"01m0jwsd7b0zdrytnj4r040bdp\"},\"amount\":{\"quantity\":30.58,\"unit_id\":\"gram\"},\"percentage\":30.58},{\"id\":\"line_04_dominos_garlic_oil_blend\",\"reference\":{\"recipe_id\":\"01m0jwsd7bb4b9xz732r0epc3j\"},\"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": "01m0jwsd7b027c0yry7yv6ntm2", + "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": "01m0jwsd7b0zdrytnj4r040bdp", + "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": "01m0jwsd7bb4b9xz732r0epc3j", + "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": "01m0jwsd7bgn3zm9p0dz4xjxc1", + "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\":\"01m0jwsd7bgn3zm9p0dz4xjxc1\",\"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": "01m0jwsd7bjjjgrh7m48sqq4ye", + "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\":\"01m0jwsd7bjjjgrh7m48sqq4ye\",\"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": "01m0jwsd7bjrb4sxtkdk1v22gx", + "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\":\"01m0jwsd7bjrb4sxtkdk1v22gx\",\"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": "01m0jwsd7bkqw0pnh84xxm0hfk", "schema_version": 2, "save_version": 1, "title": "Mashed Potato", @@ -22050,7 +16281,7 @@ "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.\"]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7bkqw0pnh84xxm0hfk\",\"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\":\"01m0jwsd7cs34hsk6pqk1kq6s3\"},\"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, @@ -22167,7 +16398,3515 @@ "media": [] }, { - "id": "meatball", + "id": "01m0jwsd7bmhg7pn8hvf8mw066", + "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\":\"01m0jwsd7bmhg7pn8hvf8mw066\",\"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": "01m0jwsd7bmzs25p160c9edyep", + "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\":\"01m0jwsd7bmzs25p160c9edyep\",\"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": "01m0jwsd7bp7aedpy2p5dpabqy", + "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\":\"01m0jwsd7bp7aedpy2p5dpabqy\",\"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": "01m0jwsd7bpkxzf5n4a5arzkxp", + "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\":\"01m0jwsd7bpkxzf5n4a5arzkxp\",\"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\":\"01m0jwsd7cp3ksrjdv331n33f5\"},\"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": "01m0jwsd7cp3ksrjdv331n33f5", + "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": "01m0jwsd7bq19chmyzz6qe545e", + "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\":\"01m0jwsd7bq19chmyzz6qe545e\",\"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": "01m0jwsd7bqfjyy2sjb38jmrze", + "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\":\"01m0jwsd7bqfjyy2sjb38jmrze\",\"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": "01m0jwsd7bqr0bccq886tvw9zp", + "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\":\"01m0jwsd7bqr0bccq886tvw9zp\",\"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": "01m0jwsd7br6mgexvgqyb37400", + "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\":\"01m0jwsd7br6mgexvgqyb37400\",\"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": "01m0jwsd7brswthwjxjfhqyz03", + "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\":\"01m0jwsd7brswthwjxjfhqyz03\",\"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": "01m0jwsd7btf96haeqm5m16j43", + "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\":\"01m0jwsd7btf96haeqm5m16j43\",\"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": "01m0jwsd7bv2dnn6bn8jemgqqt", + "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\":\"01m0jwsd7bv2dnn6bn8jemgqqt\",\"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": "01m0jwsd7bvcyfcj2kybp082be", + "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\":\"01m0jwsd7bvcyfcj2kybp082be\",\"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": "01m0jwsd7bvf4h4mqh2a1c921w", + "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\":\"01m0jwsd7bvf4h4mqh2a1c921w\",\"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": "01m0jwsd7bvmkynz165xrmwbhk", + "schema_version": 2, + "save_version": 9, + "title": "Chipotle Roasted Chili-Corn Salsa", + "summary": null, + "categories_json": "[]", + "tags_json": "[]", + "yield_quantity": 1483, + "yield_unit_id": "gram", + "yield_servings": 10, + "yield_basis": "theoretical", + "scaling_mode": "amount", + "scaling_basis_id": null, + "scaling_basis_quantity": null, + "scaling_basis_unit_id": null, + "notes_json": "[]", + "source_json": "{\"auto_yield_original\":{\"quantity\":1,\"unit_id\":\"gram\",\"basis\":null}}", + "auto_yield": 1, + "station": null, + "deleted_at": null, + "cover_media_url": null, + "equipment_ids": [], + "components": [ + { + "id": "main", + "position": 1, + "name": "Main", + "notes_json": "[]" + } + ], + "items": [ + { + "component_id": "main", + "id": "line_61e59440", + "position": 1, + "ingredient_id": "sweet_corn", + "subrecipe_id": null, + "quantity": 1200, + "unit_id": "gram", + "percentage": 80.92485549132948, + "basis_member": 0, + "optional": 0, + "notes": "frozen, thawed, drained", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_f7ea5f9e", + "position": 2, + "ingredient_id": "red_onion", + "subrecipe_id": null, + "quantity": 170, + "unit_id": "gram", + "percentage": 11.416184971098266, + "basis_member": 0, + "optional": 0, + "notes": "diced", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_f14a631f", + "position": 3, + "ingredient_id": "jalapeno_peppers_pickled", + "subrecipe_id": null, + "quantity": 70, + "unit_id": "gram", + "percentage": 4.8169556840077075, + "basis_member": 0, + "optional": 0, + "notes": "rinsed, chopped", + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_3871645c", + "position": 4, + "ingredient_id": "lime_juice", + "subrecipe_id": null, + "quantity": 32, + "unit_id": "gram", + "percentage": 2.119460500963391, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + }, + { + "component_id": "main", + "id": "line_0587009c", + "position": 5, + "ingredient_id": "salt", + "subrecipe_id": null, + "quantity": 11, + "unit_id": "gram", + "percentage": 0.7225433526011561, + "basis_member": 0, + "optional": 0, + "notes": null, + "nutrition_retention_factor": 1, + "prep_actions": [] + } + ], + "steps": [ + { + "id": "step_1", + "position": 1, + "instruction": "TODO: Add preparation instructions.", + "critical_control_point": 0, + "equipment_ids": [] + } + ], + "measure_conversions": [], + "media": [] + }, + { + "id": "01m0jwsd7bvmyacd756dz9skrd", + "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\":\"01m0jwsd7bvmyacd756dz9skrd\",\"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": "01m0jwsd7bwk8w7xafyekyqybw", + "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\":\"01m0jwsd7bwk8w7xafyekyqybw\",\"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": "01m0jwsd7bwqhgd25p58zf33yf", + "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\":\"01m0jwsd7bwqhgd25p58zf33yf\",\"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": "01m0jwsd7bx1wdqq4k63vhwfmv", + "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\":\"01m0jwsd7bx1wdqq4k63vhwfmv\",\"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": "01m0jwsd7by0106zqrda9aarnt", + "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\":\"01m0jwsd7by0106zqrda9aarnt\",\"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\":\"01m0jwsd7acd23pwp7cjx18bpx\"},\"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": "01m0jwsd7acd23pwp7cjx18bpx", + "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": "01m0jwsd7by36bsc9p5zfgfcg6", + "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\":\"01m0jwsd7by36bsc9p5zfgfcg6\",\"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": "01m0jwsd7by7d6ayfa30kdw84p", "schema_version": 2, "save_version": 1, "title": "Meatball", @@ -22183,7 +19922,7 @@ "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.\"]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7by7d6ayfa30kdw84p\",\"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, @@ -22457,7 +20196,2095 @@ "media": [] }, { - "id": "mexicali_dip", + "id": "01m0jwsd7bzpcck6f4ehbwqd4e", + "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\":\"01m0jwsd7bzpcck6f4ehbwqd4e\",\"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\":\"01m0jwsd7b3z07r61kyab29s7w\"},\"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": "01m0jwsd7b3z07r61kyab29s7w", + "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": "01m0jwsd7c07099kcv7r9r7m0p", + "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\":\"01m0jwsd7c07099kcv7r9r7m0p\",\"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": "01m0jwsd7c0cry1kh1n11bvqhy", + "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\":\"01m0jwsd7c0cry1kh1n11bvqhy\",\"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": "01m0jwsd7c0eyrjhcrpwt1sfkd", + "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\":\"01m0jwsd7c0eyrjhcrpwt1sfkd\",\"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": "01m0jwsd7c0y6dp4h1kzmm7y8e", + "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\":\"01m0jwsd7c0y6dp4h1kzmm7y8e\",\"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": "01m0jwsd7c1gv4pvz1d9d4w5hw", + "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\":\"01m0jwsd7c1gv4pvz1d9d4w5hw\",\"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": "01m0jwsd7c20vaxncaahafn01k", + "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\":\"01m0jwsd7c20vaxncaahafn01k\",\"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": "01m0jwsd7c2dr1sxk22xwfkyjb", + "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\":\"01m0jwsd7c2dr1sxk22xwfkyjb\",\"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": "01m0jwsd7c32ke7hqkfzx2fayz", + "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\":\"01m0jwsd7c32ke7hqkfzx2fayz\",\"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\":\"01m0jwsd7cs34hsk6pqk1kq6s3\"},\"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": "01m0jwsd7c3f3tkgwgwdqnmzb7", + "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\":\"01m0jwsd7c3f3tkgwgwdqnmzb7\",\"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": "01m0jwsd7c41jnja41001enpvn", + "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\":\"01m0jwsd7c41jnja41001enpvn\",\"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": "01m0jwsd7c553dbtkr2h6cphbn", + "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\":\"01m0jwsd7c553dbtkr2h6cphbn\",\"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": "01m0jwsd7c57137xxwn3x44ant", "schema_version": 2, "save_version": 1, "title": "Mexicali Dip", @@ -22473,7 +22300,7 @@ "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.\"]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7c57137xxwn3x44ant\",\"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\":\"01m0jwsd7ckd4dka2x20j31wcd\"},\"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, @@ -22637,7 +22464,3886 @@ "media": [] }, { - "id": "mexican_rice", + "id": "01m0jwsd7c59r5z00d0w54ryas", + "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\":\"01m0jwsd7c59r5z00d0w54ryas\",\"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": "01m0jwsd7c5b3yfwe7v9q86jd6", + "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\":\"01m0jwsd7c5b3yfwe7v9q86jd6\",\"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": "01m0jwsd7c6tphj3dx584v1t8s", + "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\":\"01m0jwsd7c6tphj3dx584v1t8s\",\"title\":\"Sourdough Starter, 100% Hydration\",\"categories\":[\"component\"],\"tags\":[\"01m0jwsd7cg86mj522tzhmna9d\",\"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": "01m0jwsd7c74ckh818zaawz42a", + "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\":\"01m0jwsd7c74ckh818zaawz42a\",\"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": "01m0jwsd7c7fxhz77m8dhqnpx0", + "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\":\"01m0jwsd7c7fxhz77m8dhqnpx0\",\"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": "01m0jwsd7c7kr00ertjpatmfet", + "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\":\"01m0jwsd7c7kr00ertjpatmfet\",\"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": "01m0jwsd7c7xvpc47g2pzxtv5a", + "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\":\"01m0jwsd7c7xvpc47g2pzxtv5a\",\"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": "01m0jwsd7c8kheb9n027bwekk0", + "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\":\"01m0jwsd7c8kheb9n027bwekk0\",\"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": "01m0jwsd7c8mgm7kq17qn7np61", + "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\":\"01m0jwsd7c8mgm7kq17qn7np61\",\"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": "01m0jwsd7c99ssex022624ctfy", + "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\":\"01m0jwsd7c99ssex022624ctfy\",\"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": "01m0jwsd7c9e6xe7pbwv6v1dm2", + "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\":\"01m0jwsd7c9e6xe7pbwv6v1dm2\",\"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": "01m0jwsd7c9evk3bgs0ctfk632", + "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\":\"01m0jwsd7c9evk3bgs0ctfk632\",\"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": "01m0jwsd7c9v617sk6brkc9rea", + "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\":\"01m0jwsd7c9v617sk6brkc9rea\",\"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": "01m0jwsd7cagamxffzpzp4t1bs", + "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\":\"01m0jwsd7cagamxffzpzp4t1bs\",\"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": "01m0jwsd7cartbmjqpees65a20", + "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\":\"01m0jwsd7cartbmjqpees65a20\",\"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": "01m0jwsd7catqr3j8zpyfe7v7j", + "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\":\"01m0jwsd7catqr3j8zpyfe7v7j\",\"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": "01m0jwsd7cbpdm913hmnpejzcf", + "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\":\"01m0jwsd7cbpdm913hmnpejzcf\",\"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": "01m0jwsd7cd5h8qbe035a2899m", + "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\":\"01m0jwsd7cd5h8qbe035a2899m\",\"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": "01m0jwsd7cd6jpcb1db8cc44t5", + "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\":\"01m0jwsd7cd6jpcb1db8cc44t5\",\"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": "01m0jwsd7cd8t65hmex1dmd53b", + "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\":\"01m0jwsd7cd8t65hmex1dmd53b\",\"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": "01m0jwsd7cdaqaz06q5q0sbkw4", + "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\":\"01m0jwsd7cdaqaz06q5q0sbkw4\",\"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": "01m0jwsd7cdaycw224mtf7n88w", "schema_version": 2, "save_version": 1, "title": "Mexican Rice", @@ -22653,7 +26359,7 @@ "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.\"]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7cdaycw224mtf7n88w\",\"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, @@ -22809,7 +26515,1674 @@ "media": [] }, { - "id": "mexican_white_sauce", + "id": "01m0jwsd7cdz2f3w668p7kk4kf", + "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\":\"01m0jwsd7cdz2f3w668p7kk4kf\",\"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": "01m0jwsd7ce4jj77yvq8nt81ym", + "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\":\"01m0jwsd7ce4jj77yvq8nt81ym\",\"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": "01m0jwsd7ceb0rgkrx1pwsfyr5", + "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\":\"01m0jwsd7ceb0rgkrx1pwsfyr5\",\"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": "01m0jwsd7cez2tdnt9qx4wjzxv", + "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\":\"01m0jwsd7cez2tdnt9qx4wjzxv\",\"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": "01m0jwsd7cfqyv2qnaykkbqre6", + "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\":\"01m0jwsd7cfqyv2qnaykkbqre6\",\"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": "01m0jwsd7cg86mj522tzhmna9d", + "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\":\"01m0jwsd7cg86mj522tzhmna9d\",\"title\":\"Sourdough\",\"categories\":[\"bread\"],\"tags\":[\"01m0jwsd7cg86mj522tzhmna9d\",\"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": "01m0jwsd7cg9pjxs0qqrf96wyt", + "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\":\"01m0jwsd7cg9pjxs0qqrf96wyt\",\"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": "01m0jwsd7cgmxawk4t117ctkqz", + "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\":\"01m0jwsd7cgmxawk4t117ctkqz\",\"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": "01m0jwsd7chbwzsx1pxnsfd6xy", + "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\":\"01m0jwsd7chbwzsx1pxnsfd6xy\",\"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": "01m0jwsd7chkvqz7yjgwhmwkp2", "schema_version": 2, "save_version": 1, "title": "Mexican White Sauce", @@ -22825,7 +28198,7 @@ "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.\"]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7chkvqz7yjgwhmwkp2\",\"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, @@ -23047,14 +28420,14 @@ "media": [] }, { - "id": "milk", + "id": "01m0jwsd7chsjj1x36wh8kmkqt", "schema_version": 2, "save_version": 1, - "title": "Milk", + "title": "Texas Roadhouse Honey Butter", "summary": null, - "categories_json": "[\"component\"]", - "tags_json": "[\"base-formula\"]", - "yield_quantity": 111.11, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"spread\",\"copycat\",\"texas-roadhouse\"]", + "yield_quantity": 120.1, "yield_unit_id": "gram", "yield_servings": null, "yield_basis": "theoretical", @@ -23063,7 +28436,7 @@ "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.\"]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7chsjj1x36wh8kmkqt\",\"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, @@ -23080,9 +28453,9 @@ "items": [ { "component_id": "main", - "id": "line_01_water", + "id": "line_01_butter", "position": 1, - "ingredient_id": "water", + "ingredient_id": "butter", "subrecipe_id": null, "quantity": 100, "unit_id": "gram", @@ -23095,13 +28468,28 @@ }, { "component_id": "main", - "id": "line_02_nonfat_milk_powder", + "id": "line_02_honey", "position": 2, - "ingredient_id": "nonfat_milk_powder", + "ingredient_id": "honey", "subrecipe_id": null, - "quantity": 11.11, + "quantity": 20, "unit_id": "gram", - "percentage": 11.11, + "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, @@ -23113,7 +28501,28 @@ { "id": "step_01", "position": 1, - "instruction": "Dissolve powder in water.", + "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": [] } @@ -23122,14 +28531,14 @@ "media": [] }, { - "id": "mod_pizza_dough", + "id": "01m0jwsd7cjnfr4b9rh6k5j79s", "schema_version": 2, "save_version": 1, - "title": "MOD Pizza Dough", + "title": "Roasted Sweet Potato and Carrot", "summary": null, - "categories_json": "[\"bread\"]", - "tags_json": "[\"dough\",\"pizza\",\"copycat\",\"mod\"]", - "yield_quantity": 159.25, + "categories_json": "[\"side\"]", + "tags_json": "[\"sweet-potato\"]", + "yield_quantity": 110.7, "yield_unit_id": "gram", "yield_servings": null, "yield_basis": "theoretical", @@ -23138,7 +28547,7 @@ "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.\"]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7cjnfr4b9rh6k5j79s\",\"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, @@ -23152,6 +28561,171 @@ "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": "01m0jwsd7ck6hj9fa8zzwq9qx2", + "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\":\"01m0jwsd7ck6hj9fa8zzwq9qx2\",\"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", @@ -23185,43 +28759,13 @@ }, { "component_id": "main", - "id": "line_03_oil", + "id": "line_03_sugar", "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, + "quantity": 2.5, "unit_id": "gram", - "percentage": 1, + "percentage": 2.5, "basis_member": 0, "optional": 0, "notes": null, @@ -23230,13 +28774,43 @@ }, { "component_id": "main", - "id": "line_06_instant_yeast", - "position": 6, + "id": "line_04_instant_yeast", + "position": 4, "ingredient_id": "instant_yeast", "subrecipe_id": null, - "quantity": 0.5, + "quantity": 2, "unit_id": "gram", - "percentage": 0.5, + "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, @@ -23248,35 +28822,35 @@ { "id": "step_01", "position": 1, - "instruction": "Combine and mix dough medium development.", + "instruction": "Add water to bowl.", "critical_control_point": 0, "equipment_ids": [] }, { "id": "step_02", "position": 2, - "instruction": "Divide.", + "instruction": "Add dry.", "critical_control_point": 0, "equipment_ids": [] }, { "id": "step_03", "position": 3, - "instruction": "Shape dough into ball.", + "instruction": "Mix for 2 min.", "critical_control_point": 0, "equipment_ids": [] }, { "id": "step_04", "position": 4, - "instruction": "Lightly oil ball.", + "instruction": "Add oil.", "critical_control_point": 0, "equipment_ids": [] }, { "id": "step_05", "position": 5, - "instruction": "Store in air-tight container and refrigerate.", + "instruction": "Mix until smooth, 10 to 15 min, no more than.", "critical_control_point": 0, "equipment_ids": [] } @@ -23285,547 +28859,7 @@ "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": "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": "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": "orange_chicken_sauce", + "id": "01m0jwsd7ckcfs3zm320bg0wmf", "schema_version": 2, "save_version": 1, "title": "Orange Chicken Sauce", @@ -23841,7 +28875,7 @@ "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.\"]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7ckcfs3zm320bg0wmf\",\"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\":\"01m0jwsd7c74ckh818zaawz42a\"},\"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, @@ -24175,14 +29209,14 @@ "media": [] }, { - "id": "orange_juice", + "id": "01m0jwsd7ckd4dka2x20j31wcd", "schema_version": 2, "save_version": 1, - "title": "Orange Juice", + "title": "Sour Cream", "summary": null, - "categories_json": "[\"beverage\"]", - "tags_json": "[]", - "yield_quantity": 139, + "categories_json": "[\"component\"]", + "tags_json": "[\"base-formula\"]", + "yield_quantity": 121.8, "yield_unit_id": "gram", "yield_servings": null, "yield_basis": "theoretical", @@ -24191,7 +29225,198 @@ "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.\"]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7ckd4dka2x20j31wcd\",\"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": "01m0jwsd7ckfr00ndk9xgwe5w2", + "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\":\"01m0jwsd7ckfr00ndk9xgwe5w2\",\"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": "01m0jwsd7cmg8p2gkzp9hpy2zv", + "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\":\"01m0jwsd7cmg8p2gkzp9hpy2zv\",\"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, @@ -24208,13 +29433,13 @@ "items": [ { "component_id": "main", - "id": "line_01_water", + "id": "line_01_confectioners_sugar", "position": 1, - "ingredient_id": "water", + "ingredient_id": "confectioners_sugar", "subrecipe_id": null, - "quantity": 100, + "quantity": 68, "unit_id": "gram", - "percentage": 100, + "percentage": 68, "basis_member": 1, "optional": 0, "notes": null, @@ -24223,13 +29448,103 @@ }, { "component_id": "main", - "id": "line_02_orange_juice_concentrate", + "id": "line_02_water", "position": 2, - "ingredient_id": "orange_juice_concentrate", + "ingredient_id": "water", "subrecipe_id": null, - "quantity": 39, + "quantity": 11.5, "unit_id": "gram", - "percentage": 39, + "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, @@ -24241,7 +29556,7 @@ { "id": "step_01", "position": 1, - "instruction": "Combine.", + "instruction": "TODO: Add complete preparation instructions for this recipe.", "critical_control_point": 0, "equipment_ids": [] } @@ -24250,7 +29565,7 @@ "media": [] }, { - "id": "p_f_changs_dark_sauce", + "id": "01m0jwsd7cmw407yxkdmx80gtz", "schema_version": 2, "save_version": 1, "title": "P. F. Chang's Dark Sauce", @@ -24266,7 +29581,7 @@ "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.\"]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7cmw407yxkdmx80gtz\",\"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, @@ -24416,1984 +29731,7 @@ "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": "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": "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": "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": "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": "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": "philly_steak", + "id": "01m0jwsd7cn24vpgm7s4rxhyez", "schema_version": 2, "save_version": 1, "title": "Philly Steak", @@ -26409,7 +29747,7 @@ "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.\"]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7cn24vpgm7s4rxhyez\",\"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, @@ -26647,1611 +29985,7 @@ "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": "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": "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_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": "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": "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", + "id": "01m0jwsd7cnscwyzj1d1fr21wd", "schema_version": 2, "save_version": 1, "title": "Pullman White", @@ -28267,7 +30001,7 @@ "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.\"]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7cnscwyzj1d1fr21wd\",\"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, @@ -28482,14 +30216,14 @@ "media": [] }, { - "id": "pumpkin_bread", + "id": "01m0jwsd7cp0rmp42de7vkdtqf", "schema_version": 2, "save_version": 1, - "title": "Pumpkin Bread", + "title": "Steamed Eggs", "summary": null, - "categories_json": "[\"dessert\"]", - "tags_json": "[\"quick-bread\"]", - "yield_quantity": 201, + "categories_json": "[\"breakfast\"]", + "tags_json": "[\"egg\"]", + "yield_quantity": 133.3, "yield_unit_id": "gram", "yield_servings": null, "yield_basis": "theoretical", @@ -28498,7 +30232,1542 @@ "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.\"]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7cp0rmp42de7vkdtqf\",\"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": "01m0jwsd7cp3ksrjdv331n33f5", + "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\":\"01m0jwsd7cp3ksrjdv331n33f5\",\"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": "01m0jwsd7cp8ebwts4m0g42sc0", + "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\":\"01m0jwsd7cp8ebwts4m0g42sc0\",\"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": "01m0jwsd7cpyq6q8rx0yy410nw", + "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\":\"01m0jwsd7cpyq6q8rx0yy410nw\",\"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": "01m0jwsd7cq4bjycqp991evz0s", + "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\":\"01m0jwsd7cq4bjycqp991evz0s\",\"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": "01m0jwsd7cq61d5pzx26q30f6q", + "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\":\"01m0jwsd7cq61d5pzx26q30f6q\",\"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": "01m0jwsd7cqs7epswa84mp8snx", + "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\":\"01m0jwsd7cqs7epswa84mp8snx\",\"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": "01m0jwsd7cr724zghdtheqxp0m", + "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\":\"01m0jwsd7cr724zghdtheqxp0m\",\"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": "01m0jwsd7cs34hsk6pqk1kq6s3", + "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\":\"01m0jwsd7cs34hsk6pqk1kq6s3\",\"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": "01m0jwsd7cs5zh90884xgprdhm", + "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\":\"01m0jwsd7cs5zh90884xgprdhm\",\"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": "01m0jwsd7csaz3r5vhsjqg4dvc", + "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\":\"01m0jwsd7csaz3r5vhsjqg4dvc\",\"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, @@ -28530,13 +31799,13 @@ }, { "component_id": "main", - "id": "line_02_pumpkin_puree", + "id": "line_02_water", "position": 2, - "ingredient_id": "pumpkin_puree", + "ingredient_id": "water", "subrecipe_id": null, - "quantity": 75, + "quantity": 61, "unit_id": "gram", - "percentage": 75, + "percentage": 61, "basis_member": 0, "optional": 0, "notes": null, @@ -28545,13 +31814,1100 @@ }, { "component_id": "main", - "id": "line_03_shortening", + "id": "line_03_oil", "position": 3, - "ingredient_id": "shortening", + "ingredient_id": "canola_oil", "subrecipe_id": null, - "quantity": 10, + "quantity": 13.4, "unit_id": "gram", - "percentage": 10, + "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": "01m0jwsd7csq26w1ajj6bdsc2s", + "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\":\"01m0jwsd7csq26w1ajj6bdsc2s\",\"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": "01m0jwsd7ctapsh2gw7qg8x3dg", + "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\":\"01m0jwsd7ctapsh2gw7qg8x3dg\",\"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": "01m0jwsd7cvbpkmyh9nkhmj9ey", + "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\":\"01m0jwsd7cvbpkmyh9nkhmj9ey\",\"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": "01m0jwsd7cw0j7mqdse704w6nk", + "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\":\"01m0jwsd7cw0j7mqdse704w6nk\",\"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": "01m0jwsd7cwx8zcw4gdcwejhaz", + "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\":\"01m0jwsd7cwx8zcw4gdcwejhaz\",\"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\":\"01m0jwsd7cs34hsk6pqk1kq6s3\"},\"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": "01m0jwsd7cx3959s11q4grs1r3", + "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\":\"01m0jwsd7cx3959s11q4grs1r3\",\"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": "01m0jwsd7cy72q8saeem9z7vjp", + "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\":\"01m0jwsd7cy72q8saeem9z7vjp\",\"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, @@ -28575,13 +32931,13 @@ }, { "component_id": "main", - "id": "line_05_water", + "id": "line_05_lemon_juice", "position": 5, - "ingredient_id": "water", + "ingredient_id": "lemon_juice", "subrecipe_id": null, - "quantity": 4, + "quantity": 3.8, "unit_id": "gram", - "percentage": 4, + "percentage": 3.8, "basis_member": 0, "optional": 0, "notes": null, @@ -28590,9 +32946,9 @@ }, { "component_id": "main", - "id": "line_06_instant_yeast", + "id": "line_06_garlic_dehydrated_minced", "position": 6, - "ingredient_id": "instant_yeast", + "ingredient_id": "garlic_dehydrated_minced", "subrecipe_id": null, "quantity": 2, "unit_id": "gram", @@ -28609,9 +32965,84 @@ "position": 7, "ingredient_id": "salt", "subrecipe_id": null, - "quantity": 2, + "quantity": 1.2, "unit_id": "gram", - "percentage": 2, + "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, @@ -28623,7 +33054,7 @@ { "id": "step_01", "position": 1, - "instruction": "TODO: Add complete preparation instructions for this recipe.", + "instruction": "Mix.", "critical_control_point": 0, "equipment_ids": [] } @@ -28632,7 +33063,7 @@ "media": [] }, { - "id": "pumpkin_ganache", + "id": "01m0jwsd7cyrxqv8kawbg7w7rx", "schema_version": 2, "save_version": 1, "title": "Pumpkin Ganache", @@ -28648,7 +33079,7 @@ "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.\"]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7cyrxqv8kawbg7w7rx\",\"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, @@ -28908,14 +33339,14 @@ "media": [] }, { - "id": "pumpkin_muffin", + "id": "01m0jwsd7cyvzbj2c53a29ysh2", "schema_version": 2, "save_version": 1, - "title": "Pumpkin Muffin", + "title": "Southeast Asian Vinaigrette", "summary": null, - "categories_json": "[\"dessert\"]", - "tags_json": "[\"muffin\"]", - "yield_quantity": 403.07, + "categories_json": "[\"sauce\"]", + "tags_json": "[\"dressing\"]", + "yield_quantity": 343, "yield_unit_id": "gram", "yield_servings": null, "yield_basis": "theoretical", @@ -28924,525 +33355,7 @@ "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": "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": "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.\"]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7cyvzbj2c53a29ysh2\",\"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\":\"01m0jwsd7c74ckh818zaawz42a\"},\"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, @@ -29455,19 +33368,19 @@ "id": "main", "position": 1, "name": "Main", - "notes_json": "[\"test\"]" + "notes_json": "[]" } ], "items": [ { "component_id": "main", - "id": "line_01_heavy_cream", + "id": "line_01_oil", "position": 1, - "ingredient_id": "heavy_cream", + "ingredient_id": "canola_oil", "subrecipe_id": null, "quantity": 100, "unit_id": "gram", - "percentage": 33.72681281618886, + "percentage": 100, "basis_member": 1, "optional": 0, "notes": null, @@ -29476,13 +33389,13 @@ }, { "component_id": "main", - "id": "line_02_water", + "id": "line_02_orange_juice", "position": 2, - "ingredient_id": "water", + "ingredient_id": "orange_juice", "subrecipe_id": null, - "quantity": 90, + "quantity": 110, "unit_id": "gram", - "percentage": 30.354131534569976, + "percentage": 110, "basis_member": 0, "optional": 0, "notes": null, @@ -29491,13 +33404,13 @@ }, { "component_id": "main", - "id": "line_03_egg_whole", + "id": "line_03_peanut_butter", "position": 3, - "ingredient_id": "egg_whole", + "ingredient_id": "peanut_butter", "subrecipe_id": null, - "quantity": 68, + "quantity": 75, "unit_id": "gram", - "percentage": 22.934232715008427, + "percentage": 75, "basis_member": 0, "optional": 0, "notes": null, @@ -29506,13 +33419,13 @@ }, { "component_id": "main", - "id": "line_04_egg_yolk", + "id": "line_04_vinegar_apple_cider", "position": 4, - "ingredient_id": "egg_yolk", + "ingredient_id": "vinegar_apple_cider", "subrecipe_id": null, - "quantity": 25, + "quantity": 37, "unit_id": "gram", - "percentage": 8.431703204047215, + "percentage": 37, "basis_member": 0, "optional": 0, "notes": null, @@ -29521,13 +33434,13 @@ }, { "component_id": "main", - "id": "line_05_milk_powder_whole", + "id": "line_05_honey", "position": 5, - "ingredient_id": "milk_powder_whole", + "ingredient_id": "honey", "subrecipe_id": null, - "quantity": 10, + "quantity": 15, "unit_id": "gram", - "percentage": 3.372681281618886, + "percentage": 15, "basis_member": 0, "optional": 0, "notes": null, @@ -29540,9 +33453,9 @@ "position": 6, "ingredient_id": "salt", "subrecipe_id": null, - "quantity": 1.8, + "quantity": 5, "unit_id": "gram", - "percentage": 0.6070826306913996, + "percentage": 5, "basis_member": 0, "optional": 0, "notes": null, @@ -29555,39 +33468,9 @@ "position": 7, "ingredient_id": "black_pepper_ground", "subrecipe_id": null, - "quantity": 0.6, + "quantity": 1, "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, + "percentage": 1, "basis_member": 0, "optional": 0, "notes": null, @@ -29599,21 +33482,7 @@ { "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.", + "instruction": "Blender.", "critical_control_point": 0, "equipment_ids": [] } @@ -29622,14 +33491,14 @@ "media": [] }, { - "id": "raising_canes_sauce", + "id": "01m0jwsd7cyykn2jdqpqfrremr", "schema_version": 2, "save_version": 1, - "title": "Raising Cane's Sauce", + "title": "Whipped Cream", "summary": null, "categories_json": "[\"sauce\"]", - "tags_json": "[\"copycat\",\"raising-canes\"]", - "yield_quantity": 183.93, + "tags_json": "[\"dessert-sauce\"]", + "yield_quantity": 109, "yield_unit_id": "gram", "yield_servings": null, "yield_basis": "theoretical", @@ -29638,7 +33507,7 @@ "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.\"]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7cyykn2jdqpqfrremr\",\"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, @@ -29655,9 +33524,9 @@ "items": [ { "component_id": "main", - "id": "line_01_mayonnaise", + "id": "line_01_heavy_cream", "position": 1, - "ingredient_id": "mayonnaise", + "ingredient_id": "heavy_cream", "subrecipe_id": null, "quantity": 100, "unit_id": "gram", @@ -29670,13 +33539,13 @@ }, { "component_id": "main", - "id": "line_02_ketchup", + "id": "line_02_sugar", "position": 2, - "ingredient_id": "ketchup", + "ingredient_id": "sugar", "subrecipe_id": null, - "quantity": 70.67, + "quantity": 8, "unit_id": "gram", - "percentage": 70.67, + "percentage": 8, "basis_member": 0, "optional": 0, "notes": null, @@ -29685,73 +33554,13 @@ }, { "component_id": "main", - "id": "line_03_worschestershire_sauce", + "id": "line_03_gelatin", "position": 3, - "ingredient_id": "worschestershire_sauce", + "ingredient_id": "gelatin", "subrecipe_id": null, - "quantity": 10.67, + "quantity": 1, "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, + "percentage": 1, "basis_member": 0, "optional": 0, "notes": null, @@ -29763,7 +33572,56 @@ { "id": "step_01", "position": 1, - "instruction": "Combine all.", + "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": [] } @@ -29772,14 +33630,14 @@ "media": [] }, { - "id": "ranch_dressing", + "id": "01m0jwsd7cz6gth1speyqd5eh6", "schema_version": 2, "save_version": 1, - "title": "Ranch Dressing", + "title": "Srirancha", "summary": null, "categories_json": "[\"sauce\"]", "tags_json": "[\"dressing\",\"ranch\"]", - "yield_quantity": 228.6, + "yield_quantity": 243.6, "yield_unit_id": "gram", "yield_servings": null, "yield_basis": "theoretical", @@ -29788,7 +33646,7 @@ "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.\"]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7cz6gth1speyqd5eh6\",\"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\":\"01m0jwsd7cs34hsk6pqk1kq6s3\"},\"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, @@ -29835,8 +33693,23 @@ }, { "component_id": "main", - "id": "line_03_ranch_powder", + "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, @@ -29853,7 +33726,7 @@ { "id": "step_01", "position": 1, - "instruction": "Mix", + "instruction": "Combine.", "critical_control_point": 0, "equipment_ids": [] } @@ -29862,7 +33735,7 @@ "media": [] }, { - "id": "ravioli_filling", + "id": "01m0jwsd7czwcshgye7dbnx5wz", "schema_version": 2, "save_version": 1, "title": "Ravioli Filling", @@ -29878,7 +33751,7 @@ "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.\"]}", + "source_json": "{\"schema_version\":2,\"id\":\"01m0jwsd7czwcshgye7dbnx5wz\",\"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, @@ -30069,6050 +33942,6 @@ ], "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": "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": "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": "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": "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": "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": "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": "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": "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_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_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": "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": "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": "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": "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": "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": "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": [] } ], "purchase_items": [ @@ -37060,6 +34889,24 @@ } ], "source_mappings": [ + { + "id": "custom_nutrition_ascorbic_acid", + "subject_type": "ingredient", + "subject_id": "ascorbic_acid", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"manual\",\"title\":\"ascorbic acid\",\"publisher\":\"Custom nutrition fact\",\"retrieved_at\":\"2026-08-22\",\"reviewed\":true,\"reviewed_at\":\"2026-08-22\",\"serving_weight_g\":100,\"notes\":\"Values entered per stated serving and normalized to 100 g.\"}", + "nutrition_json": "{\"energy_kcal\":0,\"total_fat_g\":0,\"saturated_fat_g\":0,\"trans_fat_g\":0,\"cholesterol_mg\":0,\"sodium_mg\":0,\"carbohydrate_g\":0,\"dietary_fiber_g\":0,\"total_sugars_g\":0,\"added_sugars_g\":0,\"protein_g\":0,\"vitamin_d_mcg\":0,\"calcium_mg\":0,\"iron_mg\":0,\"potassium_mg\":0,\"vitamin_c_mg\":0}" + }, + { + "id": "custom_nutrition_water", + "subject_type": "ingredient", + "subject_id": "water", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"manual\",\"title\":\"water\",\"publisher\":\"Custom nutrition fact\",\"retrieved_at\":\"2026-08-22\",\"reviewed\":true,\"reviewed_at\":\"2026-08-22\",\"serving_weight_g\":100,\"notes\":\"Values entered per stated serving and normalized to 100 g.\"}", + "nutrition_json": "{\"energy_kcal\":0,\"total_fat_g\":0,\"saturated_fat_g\":0,\"trans_fat_g\":0,\"cholesterol_mg\":0,\"sodium_mg\":0,\"carbohydrate_g\":0,\"dietary_fiber_g\":0,\"total_sugars_g\":0,\"added_sugars_g\":0,\"protein_g\":0,\"vitamin_d_mcg\":0,\"calcium_mg\":0,\"iron_mg\":0,\"potassium_mg\":0,\"vitamin_c_mg\":0}" + }, { "id": "supplier_label_lee_kum_kee_premium_dark_soy_sauce_078895126389", "subject_type": "ingredient", @@ -37330,6 +35177,15 @@ "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_chicken_thigh_2646171", + "subject_type": "ingredient", + "subject_id": "chicken_thigh", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2646171\",\"url\":\"https://fdc.nal.usda.gov/food-details/2646171/nutrients\",\"title\":\"Chicken, thigh, boneless, skinless, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-31\",\"reviewed\":true,\"reviewed_at\":\"2026-08-31\",\"notes\":\"FoodData Central data type: Foundation.\"}", + "nutrition_json": "{\"energy_kcal\":149.306475,\"protein_g\":18.6125,\"total_fat_g\":7.916,\"carbohydrate_g\":0,\"calcium_mg\":5.65,\"iron_mg\":0.6018,\"potassium_mg\":271.8,\"sodium_mg\":62.33,\"saturated_fat_g\":1.658,\"trans_fat_g\":0.02375,\"cholesterol_mg\":91.66}" + }, { "id": "usda_fdc_chili_powder_171319", "subject_type": "ingredient", @@ -38212,6 +36068,15 @@ "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_red_onion_790577", + "subject_type": "ingredient", + "subject_id": "red_onion", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"790577\",\"url\":\"https://fdc.nal.usda.gov/food-details/790577/nutrients\",\"title\":\"Onions, red, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-20\",\"reviewed\":true,\"reviewed_at\":\"2026-08-20\",\"notes\":\"FoodData Central data type: Foundation.\"}", + "nutrition_json": "{\"energy_kcal\":44,\"protein_g\":0.94,\"total_fat_g\":0.1,\"carbohydrate_g\":9.93,\"dietary_fiber_g\":2.2,\"calcium_mg\":17,\"iron_mg\":0.24,\"potassium_mg\":197,\"sodium_mg\":1}" + }, { "id": "usda_fdc_rice_2512381", "subject_type": "ingredient", @@ -38347,6 +36212,15 @@ "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_corn_2710826", + "subject_type": "ingredient", + "subject_id": "sweet_corn", + "mapping_type": "nutrition", + "status": "reviewed", + "source_json": "{\"source_type\":\"usda_fdc\",\"external_id\":\"2710826\",\"url\":\"https://fdc.nal.usda.gov/food-details/2710826/nutrients\",\"title\":\"Corn, sweet, yellow and white kernels,  fresh, raw\",\"publisher\":\"USDA Agricultural Research Service\",\"retrieved_at\":\"2026-08-20\",\"reviewed\":true,\"reviewed_at\":\"2026-08-20\",\"notes\":\"FoodData Central data type: Foundation.\"}", + "nutrition_json": "{\"energy_kcal\":72.85765625,\"protein_g\":2.789375,\"total_fat_g\":1.626,\"carbohydrate_g\":14.689625,\"dietary_fiber_g\":2.428,\"calcium_mg\":0.6563,\"iron_mg\":0.3875,\"potassium_mg\":237,\"sodium_mg\":0}" + }, { "id": "usda_fdc_sweet_potato_cooked_168484", "subject_type": "ingredient", @@ -40057,4 +37931,4 @@ } ] } -} +} \ No newline at end of file