How to Automate Recipe Splitting for Co-Cooking
Instead of just reading a list of instructions, the goal is to transform a linear sequence of steps into two parallel streams of action that converge at specific synchronization points.
The Logic of Recipe Decomposition
To build a system that does this effectively, you can't just split the text in half. You need a prompt engineering strategy that identifies "blocking" and "non-blocking" tasks. For example, you can't sear the meat (Player B) until the vegetables are chopped (Player A).
If I were implementing this as a custom LLM agent, I'd use a structured JSON output to ensure the timing is handled correctly. Here is a conceptual prompt structure for a deployment that handles this logic:
{
"recipe_analysis": {
"total_steps": 12,
"sync_points": [
{"step": 4, "action": "Combine chopped veg in pan"},
{"step": 8, "action": "Add sauce to protein"}
],
"assignments": {
"player_1": [
{"step": 1, "task": "Dice onions and carrots", "duration": "5m", "status": "independent"},
{"step": 2, "task": "Mince garlic", "duration": "2m", "status": "independent"}
],
"player_2": [
{"step": 1, "task": "Preheat oven to 400F", "duration": "10m", "status": "independent"},
{"step": 2, "task": "Pat dry the salmon fillets", "duration": "3m", "status": "independent"}
]
}
}
}Practical Workflow Gains
When you move from a single-user recipe to a distributed task list, the productivity gain is immediate. In a real-world scenario, this removes the "What do I do now?" question that usually leads to frustration.
- Workload Balancing: The AI can calculate the estimated time for each task. If Player A has 15 minutes of chopping and Player B has 2 minutes of stirring, the agent can reassign a secondary task (like cleaning the workspace or prepping the garnish) to Player B to keep the flow balanced.
- Reduced Cognitive Load: By filtering the view so you only see your tasks, you eliminate the need to scan a long document for your name or role.
- Parallel Execution: You maximize the use of kitchen hardware. While the oven is preheating (Player B), the prep work happens (Player A), ensuring the food hits the heat the second the oven is ready.
Implementation Gotchas
If you're trying to build a similar tool or a prompt for this, watch out for "hidden dependencies." Many recipes say "while the sauce simmers, chop the parsley." A naive split might put the simmering and the chopping on the same person, wasting the idle time.
The fix is to explicitly instruct the LLM to identify "passive time" (simmering, baking, chilling) and assign the other player's active tasks to those windows.
For those who want to try a ready-made version of this logic, there are apps like Nommer that handle this specific transformation for iOS and Android.
https://nommer.ai/ioshttps://nommer.ai/android